aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormat <27899617+mat-1@users.noreply.github.com>2025-12-12 00:56:02 -0600
committerGitHub <noreply@github.com>2025-12-12 00:56:02 -0600
commitf9c25665c203d6377ace62f1e95381d037d8fd9e (patch)
tree8b4131d20fe661d3cc1175ec27f801fe61df41ea
parent82ad975242292d5875780b4398b62637674bf50a (diff)
downloadazalea-drasl-f9c25665c203d6377ace62f1e95381d037d8fd9e.tar.xz
Refactor azalea-registry (#294)
* move registries in azalea-registry into separate modules * rename Item and Block to ItemKind and BlockKind * remove 'extra' registries from azalea-registry * hide deprecated items from docs * use DamageKindKey instead of Identifier when parsing registries * store tag entries as a Vec instead of a HashSet * sort tag values by protocol id * update changelog
-rw-r--r--CHANGELOG.md1
-rw-r--r--azalea-block/README.md15
-rw-r--r--azalea-block/azalea-block-macros/src/lib.rs29
-rw-r--r--azalea-block/src/block_state.rs15
-rw-r--r--azalea-block/src/fluid_state.rs10
-rw-r--r--azalea-block/src/lib.rs11
-rw-r--r--azalea-block/src/range.rs37
-rw-r--r--azalea-chat/src/numbers.rs2
-rw-r--r--azalea-client/src/client.rs7
-rw-r--r--azalea-client/src/plugins/interact/mod.rs78
-rw-r--r--azalea-client/src/plugins/inventory/equipment_effects.rs8
-rw-r--r--azalea-client/src/plugins/inventory/mod.rs3
-rw-r--r--azalea-client/src/plugins/mining.rs12
-rw-r--r--azalea-client/src/plugins/movement.rs2
-rw-r--r--azalea-client/src/plugins/packet/game/events.rs2
-rw-r--r--azalea-client/src/plugins/packet/game/mod.rs5
-rw-r--r--azalea-client/src/test_utils/simulation.rs14
-rw-r--r--azalea-client/tests/change_dimension_to_nether_and_back.rs16
-rw-r--r--azalea-client/tests/close_open_container.rs2
-rw-r--r--azalea-client/tests/correct_movement.rs4
-rw-r--r--azalea-client/tests/correct_sneak_movement.rs6
-rw-r--r--azalea-client/tests/correct_sprint_sneak_movement.rs6
-rw-r--r--azalea-client/tests/despawn_entities_when_changing_dimension.rs10
-rw-r--r--azalea-client/tests/enchantments.rs9
-rw-r--r--azalea-client/tests/fast_login.rs2
-rw-r--r--azalea-client/tests/login_to_dimension_with_same_name.rs12
-rw-r--r--azalea-client/tests/mine_block_rollback.rs10
-rw-r--r--azalea-client/tests/mine_block_timing_hand.rs9
-rw-r--r--azalea-client/tests/mine_block_without_rollback.rs12
-rw-r--r--azalea-client/tests/move_and_despawn_entity.rs2
-rw-r--r--azalea-client/tests/move_despawned_entity.rs2
-rw-r--r--azalea-client/tests/packet_order.rs6
-rw-r--r--azalea-client/tests/packet_order_set_carried_item.rs9
-rw-r--r--azalea-client/tests/receive_spawn_entity_and_start_config_packet.rs2
-rw-r--r--azalea-client/tests/reply_to_ping_with_pong.rs2
-rw-r--r--azalea-client/tests/set_health_before_login.rs2
-rw-r--r--azalea-client/tests/teleport_movement.rs4
-rw-r--r--azalea-core/src/checksum.rs3
-rw-r--r--azalea-core/src/data_registry.rs52
-rw-r--r--azalea-core/src/lib.rs14
-rw-r--r--azalea-core/src/position.rs3
-rw-r--r--azalea-core/src/registry_holder/components.rs2
-rw-r--r--azalea-core/src/registry_holder/dimension_type.rs13
-rw-r--r--azalea-core/src/registry_holder/enchantment.rs2
-rw-r--r--azalea-core/src/registry_holder/entity_effect.rs14
-rw-r--r--azalea-core/src/registry_holder/float_provider.rs2
-rw-r--r--azalea-core/src/registry_holder/mod.rs8
-rw-r--r--azalea-core/src/registry_holder/value.rs8
-rw-r--r--azalea-core/src/sound.rs3
-rw-r--r--azalea-core/src/tier.rs6
-rw-r--r--azalea-crypto/src/lib.rs3
-rw-r--r--azalea-entity/src/attributes.rs6
-rw-r--r--azalea-entity/src/data.rs23
-rw-r--r--azalea-entity/src/dimensions.rs2
-rw-r--r--azalea-entity/src/effects.rs2
-rw-r--r--azalea-entity/src/inventory.rs4
-rw-r--r--azalea-entity/src/lib.rs14
-rw-r--r--azalea-entity/src/metadata.rs681
-rw-r--r--azalea-entity/src/mining.rs72
-rw-r--r--azalea-entity/src/particle.rs2
-rw-r--r--azalea-entity/src/plugin/mod.rs23
-rw-r--r--azalea-inventory/azalea-inventory-macros/src/menu_impl.rs8
-rw-r--r--azalea-inventory/src/components/mod.rs256
-rw-r--r--azalea-inventory/src/components/profile.rs3
-rw-r--r--azalea-inventory/src/default_components/generated.rs2405
-rw-r--r--azalea-inventory/src/default_components/mod.rs10
-rw-r--r--azalea-inventory/src/item/consume_effect.rs24
-rw-r--r--azalea-inventory/src/item/mod.rs4
-rw-r--r--azalea-inventory/src/slot.rs57
-rw-r--r--azalea-inventory/tests/components.rs17
-rw-r--r--azalea-physics/src/clip.rs5
-rw-r--r--azalea-physics/src/collision/mod.rs11
-rw-r--r--azalea-physics/src/fluids.rs5
-rw-r--r--azalea-physics/src/lib.rs14
-rw-r--r--azalea-physics/tests/physics.rs33
-rw-r--r--azalea-protocol/src/common/debug_subscription.rs4
-rw-r--r--azalea-protocol/src/common/recipe.rs11
-rw-r--r--azalea-protocol/src/common/tags.rs2
-rw-r--r--azalea-protocol/src/lib.rs1
-rw-r--r--azalea-protocol/src/packets/common.rs8
-rw-r--r--azalea-protocol/src/packets/config/c_cookie_request.rs2
-rw-r--r--azalea-protocol/src/packets/config/c_custom_payload.rs2
-rw-r--r--azalea-protocol/src/packets/config/c_registry_data.rs2
-rw-r--r--azalea-protocol/src/packets/config/c_store_cookie.rs2
-rw-r--r--azalea-protocol/src/packets/config/c_update_enabled_features.rs2
-rw-r--r--azalea-protocol/src/packets/config/s_cookie_response.rs2
-rw-r--r--azalea-protocol/src/packets/config/s_custom_click_action.rs2
-rw-r--r--azalea-protocol/src/packets/config/s_custom_payload.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_add_entity.rs5
-rw-r--r--azalea-protocol/src/packets/game/c_award_stats.rs19
-rw-r--r--azalea-protocol/src/packets/game/c_block_entity_data.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_block_event.rs4
-rw-r--r--azalea-protocol/src/packets/game/c_commands.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_cookie_request.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_cooldown.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_custom_payload.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_disguised_chat.rs26
-rw-r--r--azalea-protocol/src/packets/game/c_explode.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_level_chunk_with_light.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_login.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_merchant_offers.rs4
-rw-r--r--azalea-protocol/src/packets/game/c_open_screen.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_player_chat.rs64
-rw-r--r--azalea-protocol/src/packets/game/c_recipe_book_add.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_remove_mob_effect.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_select_advancements_tab.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_show_dialog.rs4
-rw-r--r--azalea-protocol/src/packets/game/c_sound.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_sound_entity.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_stop_sound.rs3
-rw-r--r--azalea-protocol/src/packets/game/c_store_cookie.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_update_advancements.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_update_attributes.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_update_mob_effect.rs2
-rw-r--r--azalea-protocol/src/packets/game/c_update_recipes.rs5
-rw-r--r--azalea-protocol/src/packets/game/c_waypoint.rs3
-rw-r--r--azalea-protocol/src/packets/game/s_container_click.rs7
-rw-r--r--azalea-protocol/src/packets/game/s_cookie_response.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_custom_click_action.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_custom_payload.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_debug_subscription_request.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_place_recipe.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_recipe_book_seen_recipe.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_seen_advancements.rs2
-rw-r--r--azalea-protocol/src/packets/game/s_set_jigsaw_block.rs3
-rw-r--r--azalea-protocol/src/packets/game/s_test_instance_block_action.rs2
-rw-r--r--azalea-protocol/src/packets/login/c_cookie_request.rs2
-rw-r--r--azalea-protocol/src/packets/login/c_custom_query.rs2
-rw-r--r--azalea-protocol/src/packets/login/s_cookie_response.rs2
-rw-r--r--azalea-protocol/src/resolve.rs1
-rw-r--r--azalea-registry/README.md9
-rw-r--r--azalea-registry/azalea-registry-macros/src/lib.rs10
-rw-r--r--azalea-registry/src/builtin.rs7233
-rw-r--r--azalea-registry/src/data.rs2162
-rw-r--r--azalea-registry/src/extra.rs195
-rw-r--r--azalea-registry/src/identifier.rs (renamed from azalea-core/src/identifier.rs)2
-rw-r--r--azalea-registry/src/lib.rs7291
-rw-r--r--azalea-registry/src/tags/blocks.rs8574
-rw-r--r--azalea-registry/src/tags/entities.rs519
-rw-r--r--azalea-registry/src/tags/fluids.rs12
-rw-r--r--azalea-registry/src/tags/items.rs4837
-rw-r--r--azalea-registry/src/tags/mod.rs88
-rw-r--r--azalea-world/benches/chunks.rs3
-rw-r--r--azalea-world/src/chunk_storage.rs2
-rw-r--r--azalea-world/src/container.rs3
-rw-r--r--azalea-world/src/find_blocks.rs17
-rw-r--r--azalea-world/src/heightmap.rs4
-rw-r--r--azalea-world/src/palette/container.rs2
-rw-r--r--azalea-world/src/world.rs2
-rw-r--r--azalea/benches/checks.rs8
-rw-r--r--azalea/benches/pathfinder.rs7
-rw-r--r--azalea/benches/physics.rs3
-rw-r--r--azalea/examples/steal.rs5
-rw-r--r--azalea/examples/testbot/commands/debug.rs2
-rw-r--r--azalea/examples/todo/craft_dig_straight_down.rs4
-rw-r--r--azalea/src/auto_tool.rs9
-rw-r--r--azalea/src/container.rs4
-rw-r--r--azalea/src/lib.rs25
-rw-r--r--azalea/src/pathfinder/extras/utils.rs2
-rw-r--r--azalea/src/pathfinder/mining.rs49
-rw-r--r--azalea/src/pathfinder/simulation.rs6
-rw-r--r--azalea/src/pathfinder/tests.rs15
-rw-r--r--azalea/src/pathfinder/world.rs46
-rw-r--r--codegen/genblocks.py13
-rw-r--r--codegen/genregistries.py18
-rw-r--r--codegen/lib/code/blocks.py4
-rw-r--r--codegen/lib/code/data_components.py34
-rw-r--r--codegen/lib/code/entity.py24
-rw-r--r--codegen/lib/code/registry.py88
-rw-r--r--codegen/lib/code/tags.py42
-rw-r--r--codegen/lib/extract.py29
-rw-r--r--codegen/migrate.py2
172 files changed, 19250 insertions, 16601 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bdc68c2e..ce03fcf3 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -31,6 +31,7 @@ is breaking anyways, semantic versioning is not followed.
- Refactor `RegistryHolder` to pre-deserialize some registries.
- The handler function is now automatically single-threaded, making `#[tokio::main(flavor = "current_thread")]` unnecessary.
- Mojang's sessionserver is now requested using the SOCKS5 proxy given in `JoinOpts::proxy`.
+- Refactor `azalea-registry`. Notably, `Item` and `Block` are now named `ItemKind` and `BlockKind`.
### Fixed
diff --git a/azalea-block/README.md b/azalea-block/README.md
index 8eca79ee..81e6b097 100644
--- a/azalea-block/README.md
+++ b/azalea-block/README.md
@@ -2,7 +2,7 @@ Representation of Minecraft block states.
There's three block types, used for different things. You can (mostly) convert between them with `.into()`.
-## BlockState struct
+## `BlockState` struct
[`BlockState`] is a struct containing the numerical protocol ID of a block state. This is how blocks are stored in the world.
@@ -20,29 +20,30 @@ let block_state: BlockState = azalea_block::blocks::CobblestoneWall {
```
```
# use azalea_block::BlockState;
-let block_state: BlockState = azalea_registry::Block::Jukebox.into();
+# use azalea_registry::builtin::BlockKind;
+let block_state: BlockState = BlockKind::Jukebox.into();
```
-## BlockTrait
+## `BlockTrait`
The [`BlockTrait`] trait represents a type of a block. With [`BlockTrait`], you can get some extra things like the string block ID and some information about the block's behavior. Also, the structs that implement the trait contain the block attributes as fields so it's more convenient to get them. Note that this is often used as `Box<dyn BlockTrait>`.
If for some reason you don't want `BlockTrait`, set `default-features = false`.
```
# use azalea_block::{BlockTrait, BlockState};
-# let block_state = BlockState::from(azalea_registry::Block::Jukebox);
+# let block_state = BlockState::from(azalea_registry::builtin::BlockKind::Jukebox);
let block = Box::<dyn BlockTrait>::from(block_state);
```
```
# use azalea_block::{BlockTrait, BlockState};
-# let block_state: BlockState = azalea_registry::Block::Jukebox.into();
+# let block_state: BlockState = azalea_registry::builtin::BlockKind::Jukebox.into();
if let Some(jukebox) = Box::<dyn BlockTrait>::from(block_state).downcast_ref::<azalea_block::blocks::Jukebox>() {
// ...
}
```
-## azalea_registry::Block enum
+## `azalea_registry::builtin::BlockKind` enum
-This one technically isn't from the `azalea-block` crate, but it's still very relevant. It's an enum that contains every block type as a variant *without* containing any state data (unlike `BlockState` and the `Block` trait). Converting this into any other block type will use the default state for that block.
+This one isn't from the `azalea-block` crate, but it's still very relevant. It's an enum that contains every block type as a variant *without* containing any state data (unlike `BlockState` and `BlockTrait`). Converting this into any other block type will use the default state for that block.
diff --git a/azalea-block/azalea-block-macros/src/lib.rs b/azalea-block/azalea-block-macros/src/lib.rs
index 843ea2ca..1abfacbb 100644
--- a/azalea-block/azalea-block-macros/src/lib.rs
+++ b/azalea-block/azalea-block-macros/src/lib.rs
@@ -424,13 +424,13 @@ pub fn make_block_states(input: TokenStream) -> TokenStream {
});
from_registry_block_to_block_match.extend(quote! {
- azalea_registry::Block::#block_name_pascal_case => Box::new(#block_struct_name::default()),
+ BlockKind::#block_name_pascal_case => Box::new(#block_struct_name::default()),
});
from_registry_block_to_blockstate_match.extend(quote! {
- azalea_registry::Block::#block_name_pascal_case => BlockState::new_const(#default_state_id),
+ BlockKind::#block_name_pascal_case => BlockState::new_const(#default_state_id),
});
from_registry_block_to_blockstates_match.extend(quote! {
- azalea_registry::Block::#block_name_pascal_case => BlockStates::from(#first_state_id..=#last_state_id),
+ BlockKind::#block_name_pascal_case => BlockStates::from(#first_state_id..=#last_state_id),
});
let mut property_map_inner = quote! {};
@@ -491,8 +491,8 @@ pub fn make_block_states(input: TokenStream) -> TokenStream {
fn as_block_state(&self) -> BlockState {
#as_block_state
}
- fn as_registry_block(&self) -> azalea_registry::Block {
- azalea_registry::Block::#block_name_pascal_case
+ fn as_registry_block(&self) -> BlockKind {
+ BlockKind::#block_name_pascal_case
}
fn property_map(&self) -> std::collections::HashMap<&'static str, &'static str> {
@@ -557,6 +557,7 @@ pub fn make_block_states(input: TokenStream) -> TokenStream {
pub mod blocks {
use super::*;
+ use azalea_registry::builtin::BlockKind;
#block_structs
@@ -569,27 +570,27 @@ pub fn make_block_states(input: TokenStream) -> TokenStream {
}
}
}
- impl From<azalea_registry::Block> for Box<dyn BlockTrait> {
- fn from(block: azalea_registry::Block) -> Self {
+ impl From<BlockKind> for Box<dyn BlockTrait> {
+ fn from(block: BlockKind) -> Self {
match block {
#from_registry_block_to_block_match
- _ => unreachable!("There should always be a block struct for every azalea_registry::Block variant")
+ _ => unreachable!("There should always be a block struct for every BlockKind variant")
}
}
}
- impl From<azalea_registry::Block> for BlockState {
- fn from(block: azalea_registry::Block) -> Self {
+ impl From<BlockKind> for BlockState {
+ fn from(block: BlockKind) -> Self {
match block {
#from_registry_block_to_blockstate_match
- _ => unreachable!("There should always be a block state for every azalea_registry::Block variant")
+ _ => unreachable!("There should always be a block state for every BlockKind variant")
}
}
}
- impl From<azalea_registry::Block> for BlockStates {
- fn from(block: azalea_registry::Block) -> Self {
+ impl From<BlockKind> for BlockStates {
+ fn from(block: BlockKind) -> Self {
match block {
#from_registry_block_to_blockstates_match
- _ => unreachable!("There should always be a block state for every azalea_registry::Block variant")
+ _ => unreachable!("There should always be a block state for every BlockKind variant")
}
}
}
diff --git a/azalea-block/src/block_state.rs b/azalea-block/src/block_state.rs
index e3f894bf..d39961b3 100644
--- a/azalea-block/src/block_state.rs
+++ b/azalea-block/src/block_state.rs
@@ -4,6 +4,7 @@ use std::{
};
use azalea_buf::{AzaleaRead, AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
+use azalea_registry::builtin::BlockKind;
use crate::BlockTrait;
@@ -129,7 +130,7 @@ impl Debug for BlockState {
}
}
-impl From<BlockState> for azalea_registry::Block {
+impl From<BlockState> for BlockKind {
fn from(value: BlockState) -> Self {
Box::<dyn BlockTrait>::from(value).as_registry_block()
}
@@ -156,22 +157,16 @@ mod tests {
assert_eq!(block.id(), "air");
let block: Box<dyn BlockTrait> =
- Box::<dyn BlockTrait>::from(BlockState::from(azalea_registry::Block::FloweringAzalea));
+ Box::<dyn BlockTrait>::from(BlockState::from(BlockKind::FloweringAzalea));
assert_eq!(block.id(), "flowering_azalea");
}
#[test]
fn test_debug_blockstate() {
- let formatted = format!(
- "{:?}",
- BlockState::from(azalea_registry::Block::FloweringAzalea)
- );
+ let formatted = format!("{:?}", BlockState::from(BlockKind::FloweringAzalea));
assert!(formatted.ends_with(", FloweringAzalea)"), "{}", formatted);
- let formatted = format!(
- "{:?}",
- BlockState::from(azalea_registry::Block::BigDripleafStem)
- );
+ let formatted = format!("{:?}", BlockState::from(BlockKind::BigDripleafStem));
assert!(
formatted.ends_with(", BigDripleafStem { facing: North, waterlogged: false })"),
"{}",
diff --git a/azalea-block/src/fluid_state.rs b/azalea-block/src/fluid_state.rs
index 80d0953b..0a8f7336 100644
--- a/azalea-block/src/fluid_state.rs
+++ b/azalea-block/src/fluid_state.rs
@@ -1,3 +1,5 @@
+use azalea_registry::builtin::BlockKind;
+
use crate::block_state::{BlockState, BlockStateIntegerRepr};
#[derive(Clone, Debug)]
@@ -80,9 +82,9 @@ impl From<BlockState> for FluidState {
};
}
- let registry_block = azalea_registry::Block::from(state);
+ let registry_block = BlockKind::from(state);
match registry_block {
- azalea_registry::Block::Water => {
+ BlockKind::Water => {
let level = state
.property::<crate::properties::WaterLevel>()
.expect("water block should always have WaterLevel");
@@ -92,7 +94,7 @@ impl From<BlockState> for FluidState {
falling: false,
};
}
- azalea_registry::Block::Lava => {
+ BlockKind::Lava => {
let level = state
.property::<crate::properties::LavaLevel>()
.expect("lava block should always have LavaLevel");
@@ -102,7 +104,7 @@ impl From<BlockState> for FluidState {
falling: false,
};
}
- azalea_registry::Block::BubbleColumn => {
+ BlockKind::BubbleColumn => {
return Self::new_source_block(FluidKind::Water, false);
}
_ => {}
diff --git a/azalea-block/src/lib.rs b/azalea-block/src/lib.rs
index 2cab022e..ad78102c 100644
--- a/azalea-block/src/lib.rs
+++ b/azalea-block/src/lib.rs
@@ -9,6 +9,7 @@ mod range;
use core::fmt::Debug;
use std::{any::Any, collections::HashMap};
+use azalea_registry::builtin::BlockKind;
pub use behavior::BlockBehavior;
// re-exported for convenience
pub use block_state::BlockState;
@@ -21,16 +22,16 @@ pub trait BlockTrait: Debug + Any {
///
/// For example, `stone` or `grass_block`.
fn id(&self) -> &'static str;
- /// Convert the block to a block state.
+ /// Convert the block struct to a [`BlockState`].
///
/// This is a lossless conversion, as [`BlockState`] also contains state
/// data.
fn as_block_state(&self) -> BlockState;
- /// Convert the block to an [`azalea_registry::Block`].
+ /// Convert the block struct to a [`BlockKind`].
///
- /// This is a lossy conversion, as [`azalea_registry::Block`] doesn't
- /// contain any state data.
- fn as_registry_block(&self) -> azalea_registry::Block;
+ /// This is a lossy conversion, as [`BlockKind`] doesn't contain any state
+ /// data.
+ fn as_registry_block(&self) -> BlockKind;
/// Returns a map of property names on this block to their values as
/// strings.
diff --git a/azalea-block/src/range.rs b/azalea-block/src/range.rs
index 76b18079..53d2c10f 100644
--- a/azalea-block/src/range.rs
+++ b/azalea-block/src/range.rs
@@ -1,9 +1,10 @@
use std::{
collections::{HashSet, hash_set},
ops::{Add, RangeInclusive},
+ sync::LazyLock,
};
-use azalea_registry::Block;
+use azalea_registry::{builtin::BlockKind, tags::RegistryTag};
use crate::{BlockState, block_state::BlockStateIntegerRepr};
@@ -47,14 +48,14 @@ impl Add for BlockStates {
}
}
-impl From<HashSet<Block>> for BlockStates {
- fn from(set: HashSet<Block>) -> Self {
+impl From<HashSet<BlockKind>> for BlockStates {
+ fn from(set: HashSet<BlockKind>) -> Self {
Self::from(&set)
}
}
-impl From<&HashSet<Block>> for BlockStates {
- fn from(set: &HashSet<Block>) -> Self {
+impl From<&HashSet<BlockKind>> for BlockStates {
+ fn from(set: &HashSet<BlockKind>) -> Self {
let mut block_states = HashSet::with_capacity(set.len());
for &block in set {
block_states.extend(BlockStates::from(block));
@@ -63,13 +64,8 @@ impl From<&HashSet<Block>> for BlockStates {
}
}
-impl<const N: usize> From<[Block; N]> for BlockStates {
- fn from(arr: [Block; N]) -> Self {
- Self::from(&arr[..])
- }
-}
-impl From<&[Block]> for BlockStates {
- fn from(arr: &[Block]) -> Self {
+impl From<&[BlockKind]> for BlockStates {
+ fn from(arr: &[BlockKind]) -> Self {
let mut block_states = HashSet::with_capacity(arr.len());
for &block in arr {
block_states.extend(BlockStates::from(block));
@@ -77,3 +73,20 @@ impl From<&[Block]> for BlockStates {
Self { set: block_states }
}
}
+impl<const N: usize> From<[BlockKind; N]> for BlockStates {
+ fn from(arr: [BlockKind; N]) -> Self {
+ Self::from(&arr[..])
+ }
+}
+impl From<&RegistryTag<BlockKind>> for BlockStates {
+ fn from(tag: &RegistryTag<BlockKind>) -> Self {
+ Self::from(&**tag)
+ }
+}
+// allows users to do like `BlockStates::from(&tags::blocks::LOGS)` instead of
+// `BlockStates::from(&&tags::blocks::LOGS)`
+impl From<&LazyLock<RegistryTag<BlockKind>>> for BlockStates {
+ fn from(tag: &LazyLock<RegistryTag<BlockKind>>) -> Self {
+ Self::from(&**tag)
+ }
+}
diff --git a/azalea-chat/src/numbers.rs b/azalea-chat/src/numbers.rs
index 7da54fe4..6f943621 100644
--- a/azalea-chat/src/numbers.rs
+++ b/azalea-chat/src/numbers.rs
@@ -5,7 +5,7 @@ use std::io::{self, Cursor, Write};
#[cfg(feature = "azalea-buf")]
use azalea_buf::{AzaleaRead, AzaleaWrite};
-use azalea_registry::NumberFormatKind;
+use azalea_registry::builtin::NumberFormatKind;
use simdnbt::owned::Nbt;
use crate::FormattedText;
diff --git a/azalea-client/src/client.rs b/azalea-client/src/client.rs
index 970d8da0..aa2da1d5 100644
--- a/azalea-client/src/client.rs
+++ b/azalea-client/src/client.rs
@@ -10,7 +10,9 @@ use std::{
use azalea_auth::game_profile::GameProfile;
use azalea_core::{
- data_registry::ResolvableDataRegistry, identifier::Identifier, position::Vec3, tick::GameTick,
+ data_registry::{DataRegistryWithKey, ResolvableDataRegistry},
+ position::Vec3,
+ tick::GameTick,
};
use azalea_entity::{
Attributes, EntityUpdateSystems, PlayerAbilities, Position,
@@ -26,6 +28,7 @@ use azalea_protocol::{
packets::{Packet, game::ServerboundGamePacket},
resolve,
};
+use azalea_registry::{DataRegistryKeyRef, identifier::Identifier};
use azalea_world::{Instance, InstanceContainer, InstanceName, MinecraftEntityId, PartialInstance};
use bevy_app::{App, AppExit, Plugin, PluginsState, SubApp, Update};
use bevy_ecs::{
@@ -517,7 +520,7 @@ impl Client {
&self,
registry: &impl ResolvableDataRegistry,
) -> Option<Identifier> {
- self.with_registry_holder(|registries| registry.resolve_name(registries).cloned())
+ self.with_registry_holder(|registries| registry.key(registries).map(|r| r.into_ident()))
}
/// Resolve the given registry to its name and data and call the given
/// function with it.
diff --git a/azalea-client/src/plugins/interact/mod.rs b/azalea-client/src/plugins/interact/mod.rs
index 47ada08a..8269197c 100644
--- a/azalea-client/src/plugins/interact/mod.rs
+++ b/azalea-client/src/plugins/interact/mod.rs
@@ -30,7 +30,7 @@ use azalea_protocol::packets::game::{
s_swing::ServerboundSwing,
s_use_item_on::ServerboundUseItemOn,
};
-use azalea_registry::Item;
+use azalea_registry::builtin::ItemKind;
use azalea_world::Instance;
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
@@ -527,45 +527,45 @@ fn update_attributes_for_held_item(
}
}
-fn added_attack_speed_for_item(item: Item) -> f64 {
+fn added_attack_speed_for_item(item: ItemKind) -> f64 {
match item {
- Item::WoodenSword => -2.4,
- Item::WoodenShovel => -3.0,
- Item::WoodenPickaxe => -2.8,
- Item::WoodenAxe => -3.2,
- Item::WoodenHoe => -3.0,
-
- Item::StoneSword => -2.4,
- Item::StoneShovel => -3.0,
- Item::StonePickaxe => -2.8,
- Item::StoneAxe => -3.2,
- Item::StoneHoe => -2.0,
-
- Item::GoldenSword => -2.4,
- Item::GoldenShovel => -3.0,
- Item::GoldenPickaxe => -2.8,
- Item::GoldenAxe => -3.0,
- Item::GoldenHoe => -3.0,
-
- Item::IronSword => -2.4,
- Item::IronShovel => -3.0,
- Item::IronPickaxe => -2.8,
- Item::IronAxe => -3.1,
- Item::IronHoe => -1.0,
-
- Item::DiamondSword => -2.4,
- Item::DiamondShovel => -3.0,
- Item::DiamondPickaxe => -2.8,
- Item::DiamondAxe => -3.0,
- Item::DiamondHoe => 0.0,
-
- Item::NetheriteSword => -2.4,
- Item::NetheriteShovel => -3.0,
- Item::NetheritePickaxe => -2.8,
- Item::NetheriteAxe => -3.0,
- Item::NetheriteHoe => 0.0,
-
- Item::Trident => -2.9,
+ ItemKind::WoodenSword => -2.4,
+ ItemKind::WoodenShovel => -3.0,
+ ItemKind::WoodenPickaxe => -2.8,
+ ItemKind::WoodenAxe => -3.2,
+ ItemKind::WoodenHoe => -3.0,
+
+ ItemKind::StoneSword => -2.4,
+ ItemKind::StoneShovel => -3.0,
+ ItemKind::StonePickaxe => -2.8,
+ ItemKind::StoneAxe => -3.2,
+ ItemKind::StoneHoe => -2.0,
+
+ ItemKind::GoldenSword => -2.4,
+ ItemKind::GoldenShovel => -3.0,
+ ItemKind::GoldenPickaxe => -2.8,
+ ItemKind::GoldenAxe => -3.0,
+ ItemKind::GoldenHoe => -3.0,
+
+ ItemKind::IronSword => -2.4,
+ ItemKind::IronShovel => -3.0,
+ ItemKind::IronPickaxe => -2.8,
+ ItemKind::IronAxe => -3.1,
+ ItemKind::IronHoe => -1.0,
+
+ ItemKind::DiamondSword => -2.4,
+ ItemKind::DiamondShovel => -3.0,
+ ItemKind::DiamondPickaxe => -2.8,
+ ItemKind::DiamondAxe => -3.0,
+ ItemKind::DiamondHoe => 0.0,
+
+ ItemKind::NetheriteSword => -2.4,
+ ItemKind::NetheriteShovel => -3.0,
+ ItemKind::NetheritePickaxe => -2.8,
+ ItemKind::NetheriteAxe => -3.0,
+ ItemKind::NetheriteHoe => 0.0,
+
+ ItemKind::Trident => -2.9,
_ => 0.,
}
}
diff --git a/azalea-client/src/plugins/inventory/equipment_effects.rs b/azalea-client/src/plugins/inventory/equipment_effects.rs
index 4294cc2f..c02f8ad5 100644
--- a/azalea-client/src/plugins/inventory/equipment_effects.rs
+++ b/azalea-client/src/plugins/inventory/equipment_effects.rs
@@ -2,15 +2,13 @@
use std::collections::HashMap;
-use azalea_core::{
- data_registry::ResolvableDataRegistry, identifier::Identifier,
- registry_holder::value::AttributeEffect,
-};
+use azalea_core::{data_registry::ResolvableDataRegistry, registry_holder::value::AttributeEffect};
use azalea_entity::{Attributes, inventory::Inventory};
use azalea_inventory::{
ItemStack,
components::{self, AttributeModifier, EquipmentSlot},
};
+use azalea_registry::identifier::Identifier;
use bevy_ecs::{
component::Component,
entity::Entity,
@@ -147,7 +145,7 @@ fn collect_attribute_modifiers_from_item(
slot: EquipmentSlot,
item: &ItemStack,
instance_holder: &InstanceHolder,
-) -> Vec<(azalea_registry::Attribute, AttributeModifier)> {
+) -> Vec<(azalea_registry::builtin::Attribute, AttributeModifier)> {
let mut modifiers = Vec::new();
// handle the attribute_modifiers component first
diff --git a/azalea-client/src/plugins/inventory/mod.rs b/azalea-client/src/plugins/inventory/mod.rs
index f0d4a9ce..93be9e96 100644
--- a/azalea-client/src/plugins/inventory/mod.rs
+++ b/azalea-client/src/plugins/inventory/mod.rs
@@ -10,7 +10,7 @@ use azalea_protocol::packets::game::{
s_container_close::ServerboundContainerClose,
s_set_carried_item::ServerboundSetCarriedItem,
};
-use azalea_registry::MenuKind;
+use azalea_registry::builtin::MenuKind;
use azalea_world::{InstanceContainer, InstanceName};
use bevy_app::{App, Plugin};
use bevy_ecs::prelude::*;
@@ -25,6 +25,7 @@ use crate::{
// TODO: when this is removed, remove the Inv alias above (which just exists to
// avoid conflicting with this pub deprecated type)
+#[doc(hidden)]
#[deprecated = "moved to `azalea_entity::inventory::Inventory`."]
pub type Inventory = azalea_entity::inventory::Inventory;
diff --git a/azalea-client/src/plugins/mining.rs b/azalea-client/src/plugins/mining.rs
index 73f2733d..4ed14482 100644
--- a/azalea-client/src/plugins/mining.rs
+++ b/azalea-client/src/plugins/mining.rs
@@ -7,6 +7,7 @@ use azalea_entity::{
use azalea_inventory::ItemStack;
use azalea_physics::{PhysicsSystems, collision::BlockWithShape};
use azalea_protocol::packets::game::s_player_action::{self, ServerboundPlayerAction};
+use azalea_registry::builtin::{BlockKind, ItemKind};
use azalea_world::{InstanceContainer, InstanceName};
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
@@ -525,10 +526,8 @@ pub fn handle_finish_mining_block_observer(
if game_mode.current == GameMode::Creative {
let held_item = inventory.held_item().kind();
- if matches!(
- held_item,
- azalea_registry::Item::Trident | azalea_registry::Item::DebugStick
- ) || azalea_registry::tags::items::SWORDS.contains(&held_item)
+ if matches!(held_item, ItemKind::Trident | ItemKind::DebugStick)
+ || azalea_registry::tags::items::SWORDS.contains(&held_item)
{
return;
}
@@ -538,12 +537,11 @@ pub fn handle_finish_mining_block_observer(
return;
};
- let registry_block: azalea_registry::Block =
- Box::<dyn BlockTrait>::from(block_state).as_registry_block();
+ let registry_block = Box::<dyn BlockTrait>::from(block_state).as_registry_block();
if !can_use_game_master_blocks(abilities, permission_level)
&& matches!(
registry_block,
- azalea_registry::Block::CommandBlock | azalea_registry::Block::StructureBlock
+ BlockKind::CommandBlock | BlockKind::StructureBlock
)
{
return;
diff --git a/azalea-client/src/plugins/movement.rs b/azalea-client/src/plugins/movement.rs
index 587bc05b..703b5557 100644
--- a/azalea-client/src/plugins/movement.rs
+++ b/azalea-client/src/plugins/movement.rs
@@ -29,7 +29,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::EntityKind;
use azalea_world::{Instance, MinecraftEntityId};
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
diff --git a/azalea-client/src/plugins/packet/game/events.rs b/azalea-client/src/plugins/packet/game/events.rs
index 53d93855..9ce4c252 100644
--- a/azalea-client/src/plugins/packet/game/events.rs
+++ b/azalea-client/src/plugins/packet/game/events.rs
@@ -1,11 +1,11 @@
use std::sync::{Arc, Weak};
use azalea_chat::FormattedText;
-use azalea_core::identifier::Identifier;
use azalea_protocol::packets::{
Packet,
game::{ClientboundGamePacket, ClientboundPlayerCombatKill, ServerboundGamePacket},
};
+use azalea_registry::identifier::Identifier;
use azalea_world::Instance;
use bevy_ecs::prelude::*;
use parking_lot::RwLock;
diff --git a/azalea-client/src/plugins/packet/game/mod.rs b/azalea-client/src/plugins/packet/game/mod.rs
index 7446a506..89b33274 100644
--- a/azalea-client/src/plugins/packet/game/mod.rs
+++ b/azalea-client/src/plugins/packet/game/mod.rs
@@ -17,6 +17,7 @@ use azalea_protocol::{
common::movements::MoveFlags,
packets::{ConnectionProtocol, game::*},
};
+use azalea_registry::builtin::EntityKind;
use azalea_world::{InstanceContainer, InstanceName, MinecraftEntityId, PartialInstance};
use bevy_ecs::{prelude::*, system::SystemState};
pub use events::*;
@@ -292,7 +293,7 @@ impl GamePacketHandler<'_> {
let entity_bundle = EntityBundle::new(
game_profile.uuid,
Vec3::ZERO,
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
new_instance_name,
);
let entity_id = p.player_id;
@@ -1478,7 +1479,7 @@ impl GamePacketHandler<'_> {
let entity_bundle = EntityBundle::new(
game_profile.uuid,
Vec3::ZERO,
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
new_instance_name,
);
// update the local gamemode and metadata things
diff --git a/azalea-client/src/test_utils/simulation.rs b/azalea-client/src/test_utils/simulation.rs
index 0aeec3ea..1946fd6d 100644
--- a/azalea-client/src/test_utils/simulation.rs
+++ b/azalea-client/src/test_utils/simulation.rs
@@ -6,7 +6,6 @@ use azalea_buf::AzaleaWrite;
use azalea_core::{
delta::LpVec3,
game_type::{GameMode, OptionalGameType},
- identifier::Identifier,
position::{BlockPos, ChunkPos, Vec3},
tick::GameTick,
};
@@ -25,7 +24,12 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::{Biome, DataRegistry, DimensionType, EntityKind};
+use azalea_registry::{
+ DataRegistry,
+ builtin::EntityKind,
+ data::{Biome, DimensionKind},
+ identifier::Identifier,
+};
use azalea_world::{Chunk, Instance, MinecraftEntityId, Section, palette::PalettedContainer};
use bevy_app::App;
use bevy_ecs::{
@@ -318,13 +322,13 @@ fn tick_app(app: &mut App) {
pub fn default_login_packet() -> ClientboundLogin {
make_basic_login_packet(
- DimensionType::new_raw(0), // overworld
+ DimensionKind::new_raw(0), // overworld
Identifier::new("minecraft:overworld"),
)
}
pub fn make_basic_login_packet(
- dimension_type: DimensionType,
+ dimension_type: DimensionKind,
dimension: Identifier,
) -> ClientboundLogin {
ClientboundLogin {
@@ -354,7 +358,7 @@ pub fn make_basic_login_packet(
}
pub fn make_basic_respawn_packet(
- dimension_type: DimensionType,
+ dimension_type: DimensionKind,
dimension: Identifier,
) -> ClientboundRespawn {
ClientboundRespawn {
diff --git a/azalea-client/tests/change_dimension_to_nether_and_back.rs b/azalea-client/tests/change_dimension_to_nether_and_back.rs
index 9594da04..134c7cbf 100644
--- a/azalea-client/tests/change_dimension_to_nether_and_back.rs
+++ b/azalea-client/tests/change_dimension_to_nether_and_back.rs
@@ -1,11 +1,11 @@
use azalea_client::{InConfigState, InGameState, test_utils::prelude::*};
-use azalea_core::{identifier::Identifier, position::ChunkPos};
+use azalea_core::position::ChunkPos;
use azalea_entity::LocalEntity;
use azalea_protocol::packets::{
ConnectionProtocol, Packet,
config::{ClientboundFinishConfiguration, ClientboundRegistryData},
};
-use azalea_registry::{DataRegistry, DimensionType};
+use azalea_registry::{DataRegistry, data::DimensionKind, identifier::Identifier};
use azalea_world::InstanceName;
use simdnbt::owned::{NbtCompound, NbtTag};
@@ -19,11 +19,11 @@ fn test_change_dimension_to_nether_and_back() {
fn generic_test_change_dimension_to_nether_and_back(using_respawn: bool) {
let make_basic_login_or_respawn_packet = if using_respawn {
- |dimension: DimensionType, instance_name: Identifier| {
+ |dimension: DimensionKind, instance_name: Identifier| {
make_basic_respawn_packet(dimension, instance_name).into_variant()
}
} else {
- |dimension: DimensionType, instance_name: Identifier| {
+ |dimension: DimensionKind, instance_name: Identifier| {
make_basic_login_packet(dimension, instance_name).into_variant()
}
};
@@ -75,7 +75,7 @@ fn generic_test_change_dimension_to_nether_and_back(using_respawn: bool) {
//
simulation.receive_packet(make_basic_login_packet(
- DimensionType::new_raw(1), // overworld
+ DimensionKind::new_raw(1), // overworld
Identifier::new("azalea:a"),
));
simulation.tick();
@@ -98,7 +98,7 @@ fn generic_test_change_dimension_to_nether_and_back(using_respawn: bool) {
//
simulation.receive_packet(make_basic_login_or_respawn_packet(
- DimensionType::new_raw(2), // nether
+ DimensionKind::new_raw(2), // nether
Identifier::new("azalea:b"),
));
simulation.tick();
@@ -120,7 +120,7 @@ fn generic_test_change_dimension_to_nether_and_back(using_respawn: bool) {
.chunk(ChunkPos::new(0, 0))
.expect("chunk should exist");
simulation.receive_packet(make_basic_login_or_respawn_packet(
- DimensionType::new_raw(2), // nether
+ DimensionKind::new_raw(2), // nether
Identifier::new("minecraft:nether"),
));
simulation.tick();
@@ -130,7 +130,7 @@ fn generic_test_change_dimension_to_nether_and_back(using_respawn: bool) {
//
simulation.receive_packet(make_basic_login_packet(
- DimensionType::new_raw(1), // overworld
+ DimensionKind::new_raw(1), // overworld
Identifier::new("azalea:a"),
));
simulation.tick();
diff --git a/azalea-client/tests/close_open_container.rs b/azalea-client/tests/close_open_container.rs
index 96978c59..32a9874d 100644
--- a/azalea-client/tests/close_open_container.rs
+++ b/azalea-client/tests/close_open_container.rs
@@ -6,7 +6,7 @@ use azalea_protocol::packets::{
ConnectionProtocol,
game::{ClientboundContainerClose, ClientboundOpenScreen, ClientboundSetChunkCacheCenter},
};
-use azalea_registry::MenuKind;
+use azalea_registry::builtin::MenuKind;
#[test]
fn test_close_open_container() {
diff --git a/azalea-client/tests/correct_movement.rs b/azalea-client/tests/correct_movement.rs
index 5aaea9a3..de494111 100644
--- a/azalea-client/tests/correct_movement.rs
+++ b/azalea-client/tests/correct_movement.rs
@@ -11,7 +11,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_correct_movement() {
@@ -34,7 +34,7 @@ fn test_correct_movement() {
));
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(31, 63, 370),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
diff --git a/azalea-client/tests/correct_sneak_movement.rs b/azalea-client/tests/correct_sneak_movement.rs
index 0e06633a..1186ce8b 100644
--- a/azalea-client/tests/correct_sneak_movement.rs
+++ b/azalea-client/tests/correct_sneak_movement.rs
@@ -11,7 +11,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_correct_sneak_movement() {
@@ -29,11 +29,11 @@ fn test_correct_sneak_movement() {
simulation.receive_packet(make_basic_empty_chunk(ChunkPos::new(0, 0), (384 + 64) / 16));
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(0, 119, 0),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(0, 119, 1),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
diff --git a/azalea-client/tests/correct_sprint_sneak_movement.rs b/azalea-client/tests/correct_sprint_sneak_movement.rs
index c76bc158..8ab955b8 100644
--- a/azalea-client/tests/correct_sprint_sneak_movement.rs
+++ b/azalea-client/tests/correct_sprint_sneak_movement.rs
@@ -11,7 +11,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_correct_sprint_sneak_movement() {
@@ -29,11 +29,11 @@ fn test_correct_sprint_sneak_movement() {
simulation.receive_packet(make_basic_empty_chunk(ChunkPos::new(0, 0), (384 + 64) / 16));
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(0, 119, 0),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(0, 119, 1),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
diff --git a/azalea-client/tests/despawn_entities_when_changing_dimension.rs b/azalea-client/tests/despawn_entities_when_changing_dimension.rs
index 38388c04..466da948 100644
--- a/azalea-client/tests/despawn_entities_when_changing_dimension.rs
+++ b/azalea-client/tests/despawn_entities_when_changing_dimension.rs
@@ -1,11 +1,13 @@
use azalea_client::test_utils::prelude::*;
-use azalea_core::{identifier::Identifier, position::ChunkPos};
+use azalea_core::position::ChunkPos;
use azalea_entity::metadata::Cow;
use azalea_protocol::packets::{
ConnectionProtocol,
config::{ClientboundFinishConfiguration, ClientboundRegistryData},
};
-use azalea_registry::{DataRegistry, DimensionType, EntityKind};
+use azalea_registry::{
+ DataRegistry, builtin::EntityKind, data::DimensionKind, identifier::Identifier,
+};
use bevy_ecs::query::With;
use simdnbt::owned::{NbtCompound, NbtTag};
@@ -44,7 +46,7 @@ fn test_despawn_entities_when_changing_dimension() {
//
simulation.receive_packet(make_basic_login_packet(
- DimensionType::new_raw(0), // overworld
+ DimensionKind::new_raw(0), // overworld
Identifier::new("azalea:a"),
));
simulation.tick();
@@ -64,7 +66,7 @@ fn test_despawn_entities_when_changing_dimension() {
//
simulation.receive_packet(make_basic_respawn_packet(
- DimensionType::new_raw(1), // nether
+ DimensionKind::new_raw(1), // nether
Identifier::new("azalea:b"),
));
simulation.tick();
diff --git a/azalea-client/tests/enchantments.rs b/azalea-client/tests/enchantments.rs
index 55b7c452..8e1a695c 100644
--- a/azalea-client/tests/enchantments.rs
+++ b/azalea-client/tests/enchantments.rs
@@ -1,5 +1,4 @@
use azalea_client::test_utils::prelude::*;
-use azalea_core::identifier::Identifier;
use azalea_entity::Attributes;
use azalea_inventory::{ItemStack, components::Enchantments};
use azalea_protocol::packets::{
@@ -7,7 +6,7 @@ use azalea_protocol::packets::{
config::{ClientboundFinishConfiguration, ClientboundRegistryData},
game::ClientboundContainerSetSlot,
};
-use azalea_registry::{Enchantment, Item, Registry};
+use azalea_registry::{Registry, builtin::ItemKind, data::Enchantment, identifier::Identifier};
use simdnbt::owned::{NbtCompound, NbtTag};
#[test]
@@ -92,7 +91,7 @@ fn test_enchantments() {
container_id: 0,
state_id: 1,
slot: *azalea_inventory::Player::HOTBAR_SLOTS.start() as u16,
- item_stack: Item::DiamondPickaxe.into(),
+ item_stack: ItemKind::DiamondPickaxe.into(),
});
s.tick();
@@ -103,7 +102,7 @@ fn test_enchantments() {
container_id: 0,
state_id: 2,
slot: *azalea_inventory::Player::HOTBAR_SLOTS.start() as u16,
- item_stack: ItemStack::from(Item::DiamondPickaxe).with_component(Enchantments {
+ item_stack: ItemStack::from(ItemKind::DiamondPickaxe).with_component(Enchantments {
levels: [(Enchantment::from_u32(0).unwrap(), 1)].into(),
}),
});
@@ -116,7 +115,7 @@ fn test_enchantments() {
container_id: 0,
state_id: 1,
slot: *azalea_inventory::Player::HOTBAR_SLOTS.start() as u16,
- item_stack: Item::DiamondPickaxe.into(),
+ item_stack: ItemKind::DiamondPickaxe.into(),
});
s.tick();
diff --git a/azalea-client/tests/fast_login.rs b/azalea-client/tests/fast_login.rs
index 7962d79e..5a653425 100644
--- a/azalea-client/tests/fast_login.rs
+++ b/azalea-client/tests/fast_login.rs
@@ -1,11 +1,11 @@
use azalea_client::{InConfigState, test_utils::prelude::*};
-use azalea_core::identifier::Identifier;
use azalea_entity::metadata::Health;
use azalea_protocol::packets::{
ConnectionProtocol,
config::{ClientboundFinishConfiguration, ClientboundRegistryData},
game::ClientboundSetHealth,
};
+use azalea_registry::identifier::Identifier;
use simdnbt::owned::{NbtCompound, NbtTag};
#[test]
diff --git a/azalea-client/tests/login_to_dimension_with_same_name.rs b/azalea-client/tests/login_to_dimension_with_same_name.rs
index 0a28cfd3..4adced62 100644
--- a/azalea-client/tests/login_to_dimension_with_same_name.rs
+++ b/azalea-client/tests/login_to_dimension_with_same_name.rs
@@ -1,14 +1,14 @@
use azalea_client::{
InConfigState, InGameState, local_player::InstanceHolder, test_utils::prelude::*,
};
-use azalea_core::{identifier::Identifier, position::ChunkPos};
+use azalea_core::position::ChunkPos;
use azalea_entity::LocalEntity;
use azalea_protocol::packets::{
ConnectionProtocol, Packet,
config::{ClientboundFinishConfiguration, ClientboundRegistryData},
game::ClientboundStartConfiguration,
};
-use azalea_registry::{DataRegistry, DimensionType};
+use azalea_registry::{DataRegistry, data::DimensionKind, identifier::Identifier};
use azalea_world::InstanceName;
use simdnbt::owned::{NbtCompound, NbtTag};
@@ -22,11 +22,11 @@ fn test_login_to_dimension_with_same_name() {
fn generic_test_login_to_dimension_with_same_name(using_respawn: bool) {
let make_basic_login_or_respawn_packet = if using_respawn {
- |dimension: DimensionType, instance_name: Identifier| {
+ |dimension: DimensionKind, instance_name: Identifier| {
make_basic_respawn_packet(dimension, instance_name).into_variant()
}
} else {
- |dimension: DimensionType, instance_name: Identifier| {
+ |dimension: DimensionKind, instance_name: Identifier| {
make_basic_login_packet(dimension, instance_name).into_variant()
}
};
@@ -60,7 +60,7 @@ fn generic_test_login_to_dimension_with_same_name(using_respawn: bool) {
//
simulation.receive_packet(make_basic_login_packet(
- DimensionType::new_raw(0), // overworld
+ DimensionKind::new_raw(0), // overworld
Identifier::new("azalea:overworld"),
));
simulation.tick();
@@ -97,7 +97,7 @@ fn generic_test_login_to_dimension_with_same_name(using_respawn: bool) {
});
simulation.receive_packet(ClientboundFinishConfiguration);
simulation.receive_packet(make_basic_login_or_respawn_packet(
- DimensionType::new_raw(0),
+ DimensionKind::new_raw(0),
Identifier::new("azalea:overworld"),
));
simulation.tick();
diff --git a/azalea-client/tests/mine_block_rollback.rs b/azalea-client/tests/mine_block_rollback.rs
index 44ad629f..7d2ed1a5 100644
--- a/azalea-client/tests/mine_block_rollback.rs
+++ b/azalea-client/tests/mine_block_rollback.rs
@@ -4,7 +4,7 @@ use azalea_protocol::packets::{
ConnectionProtocol,
game::{ClientboundBlockChangedAck, ClientboundBlockUpdate},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_mine_block_rollback() {
@@ -21,10 +21,10 @@ fn test_mine_block_rollback() {
pos,
// tnt is used for this test because it's insta-mineable so we don't have to waste ticks
// waiting
- block_state: Block::Tnt.into(),
+ block_state: BlockKind::Tnt.into(),
});
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Tnt.into()));
+ assert_eq!(simulation.get_block_state(pos), Some(BlockKind::Tnt.into()));
println!("set serverside tnt");
simulation.write_message(StartMiningBlockEvent {
@@ -33,12 +33,12 @@ fn test_mine_block_rollback() {
force: true,
});
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Air.into()));
+ assert_eq!(simulation.get_block_state(pos), Some(BlockKind::Air.into()));
println!("set clientside air");
// server didn't send the new block, so the change should be rolled back
simulation.receive_packet(ClientboundBlockChangedAck { seq: 1 });
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Tnt.into()));
+ assert_eq!(simulation.get_block_state(pos), Some(BlockKind::Tnt.into()));
println!("reset serverside tnt");
}
diff --git a/azalea-client/tests/mine_block_timing_hand.rs b/azalea-client/tests/mine_block_timing_hand.rs
index 650e630e..6f583e7b 100644
--- a/azalea-client/tests/mine_block_timing_hand.rs
+++ b/azalea-client/tests/mine_block_timing_hand.rs
@@ -15,7 +15,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_mine_block_timing_hand() {
@@ -31,7 +31,7 @@ fn test_mine_block_timing_hand() {
let pos = BlockPos::new(0, 2, 0);
simulation.receive_packet(ClientboundBlockUpdate {
pos,
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
@@ -43,7 +43,10 @@ fn test_mine_block_timing_hand() {
relative: RelativeMovements::all_absolute(),
});
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Stone.into()));
+ assert_eq!(
+ simulation.get_block_state(pos),
+ Some(BlockKind::Stone.into())
+ );
println!("set serverside stone");
simulation.with_component_mut::<LookDirection>(|look| {
// look down
diff --git a/azalea-client/tests/mine_block_without_rollback.rs b/azalea-client/tests/mine_block_without_rollback.rs
index a5a437a0..b6020ea2 100644
--- a/azalea-client/tests/mine_block_without_rollback.rs
+++ b/azalea-client/tests/mine_block_without_rollback.rs
@@ -4,7 +4,7 @@ use azalea_protocol::packets::{
ConnectionProtocol,
game::{ClientboundBlockChangedAck, ClientboundBlockUpdate},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_mine_block_without_rollback() {
@@ -21,10 +21,10 @@ fn test_mine_block_without_rollback() {
pos,
// tnt is used for this test because it's insta-mineable so we don't have to waste ticks
// waiting
- block_state: Block::Tnt.into(),
+ block_state: BlockKind::Tnt.into(),
});
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Tnt.into()));
+ assert_eq!(simulation.get_block_state(pos), Some(BlockKind::Tnt.into()));
simulation.write_message(StartMiningBlockEvent {
entity: simulation.entity,
@@ -32,15 +32,15 @@ fn test_mine_block_without_rollback() {
force: true,
});
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Air.into()));
+ assert_eq!(simulation.get_block_state(pos), Some(BlockKind::Air.into()));
// server acknowledged our change by sending a BlockUpdate + BlockChangedAck, so
// no rollback
simulation.receive_packet(ClientboundBlockUpdate {
pos,
- block_state: Block::Air.into(),
+ block_state: BlockKind::Air.into(),
});
simulation.receive_packet(ClientboundBlockChangedAck { seq: 1 });
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Air.into()));
+ assert_eq!(simulation.get_block_state(pos), Some(BlockKind::Air.into()));
}
diff --git a/azalea-client/tests/move_and_despawn_entity.rs b/azalea-client/tests/move_and_despawn_entity.rs
index c05c3f0e..8a143243 100644
--- a/azalea-client/tests/move_and_despawn_entity.rs
+++ b/azalea-client/tests/move_and_despawn_entity.rs
@@ -7,7 +7,7 @@ use azalea_protocol::{
game::{ClientboundRemoveEntities, ClientboundTeleportEntity},
},
};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::EntityKind;
use azalea_world::MinecraftEntityId;
#[test]
diff --git a/azalea-client/tests/move_despawned_entity.rs b/azalea-client/tests/move_despawned_entity.rs
index 8407bfe1..dad2a710 100644
--- a/azalea-client/tests/move_despawned_entity.rs
+++ b/azalea-client/tests/move_despawned_entity.rs
@@ -2,7 +2,7 @@ use azalea_client::test_utils::prelude::*;
use azalea_core::position::ChunkPos;
use azalea_entity::metadata::Cow;
use azalea_protocol::packets::{ConnectionProtocol, game::ClientboundMoveEntityRot};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::EntityKind;
use azalea_world::MinecraftEntityId;
use bevy_ecs::query::With;
use tracing::Level;
diff --git a/azalea-client/tests/packet_order.rs b/azalea-client/tests/packet_order.rs
index 90496292..619ed0b6 100644
--- a/azalea-client/tests/packet_order.rs
+++ b/azalea-client/tests/packet_order.rs
@@ -11,7 +11,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_packet_order() {
@@ -30,7 +30,7 @@ fn test_packet_order() {
simulation.receive_packet(make_basic_empty_chunk(ChunkPos::new(0, 0), (384 + 64) / 16));
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(1, 1, 3),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
@@ -44,7 +44,7 @@ fn test_packet_order() {
simulation.tick();
assert_eq!(
simulation.get_block_state(BlockPos::new(1, 1, 3)),
- Some(Block::Stone.into())
+ Some(BlockKind::Stone.into())
);
sent_packets.expect("AcceptTeleportation", |p| {
matches!(
diff --git a/azalea-client/tests/packet_order_set_carried_item.rs b/azalea-client/tests/packet_order_set_carried_item.rs
index a357dec0..e8ac386f 100644
--- a/azalea-client/tests/packet_order_set_carried_item.rs
+++ b/azalea-client/tests/packet_order_set_carried_item.rs
@@ -17,7 +17,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[test]
fn test_packet_order_set_carried_item() {
@@ -33,7 +33,7 @@ fn test_packet_order_set_carried_item() {
let pos = BlockPos::new(0, 2, 0);
simulation.receive_packet(ClientboundBlockUpdate {
pos,
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
@@ -45,7 +45,10 @@ fn test_packet_order_set_carried_item() {
relative: RelativeMovements::all_absolute(),
});
simulation.tick();
- assert_eq!(simulation.get_block_state(pos), Some(Block::Stone.into()));
+ assert_eq!(
+ simulation.get_block_state(pos),
+ Some(BlockKind::Stone.into())
+ );
simulation.with_component_mut::<LookDirection>(|look| {
// look down
look.update_x_rot(90.);
diff --git a/azalea-client/tests/receive_spawn_entity_and_start_config_packet.rs b/azalea-client/tests/receive_spawn_entity_and_start_config_packet.rs
index 8fa3d925..dfb1fef9 100644
--- a/azalea-client/tests/receive_spawn_entity_and_start_config_packet.rs
+++ b/azalea-client/tests/receive_spawn_entity_and_start_config_packet.rs
@@ -4,7 +4,7 @@ use azalea_protocol::packets::{
ConnectionProtocol,
game::{ClientboundAddEntity, ClientboundStartConfiguration},
};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::EntityKind;
use azalea_world::InstanceName;
use uuid::Uuid;
diff --git a/azalea-client/tests/reply_to_ping_with_pong.rs b/azalea-client/tests/reply_to_ping_with_pong.rs
index ff369a1d..6b7cb4ca 100644
--- a/azalea-client/tests/reply_to_ping_with_pong.rs
+++ b/azalea-client/tests/reply_to_ping_with_pong.rs
@@ -4,7 +4,6 @@ use azalea_client::{
packet::{config::SendConfigPacketEvent, game::SendGamePacketEvent},
test_utils::prelude::*,
};
-use azalea_core::identifier::Identifier;
use azalea_protocol::packets::{
ConnectionProtocol,
config::{
@@ -12,6 +11,7 @@ use azalea_protocol::packets::{
},
game::{self, ServerboundGamePacket},
};
+use azalea_registry::identifier::Identifier;
use bevy_ecs::observer::On;
use parking_lot::Mutex;
use simdnbt::owned::{NbtCompound, NbtTag};
diff --git a/azalea-client/tests/set_health_before_login.rs b/azalea-client/tests/set_health_before_login.rs
index 5b2dfc8e..4c1ec3f6 100644
--- a/azalea-client/tests/set_health_before_login.rs
+++ b/azalea-client/tests/set_health_before_login.rs
@@ -1,11 +1,11 @@
use azalea_client::{InConfigState, test_utils::prelude::*};
-use azalea_core::identifier::Identifier;
use azalea_entity::{LocalEntity, metadata::Health};
use azalea_protocol::packets::{
ConnectionProtocol,
config::{ClientboundFinishConfiguration, ClientboundRegistryData},
game::ClientboundSetHealth,
};
+use azalea_registry::identifier::Identifier;
use simdnbt::owned::{NbtCompound, NbtTag};
#[test]
diff --git a/azalea-client/tests/teleport_movement.rs b/azalea-client/tests/teleport_movement.rs
index 48fc11d5..03df5b92 100644
--- a/azalea-client/tests/teleport_movement.rs
+++ b/azalea-client/tests/teleport_movement.rs
@@ -15,7 +15,7 @@ use azalea_protocol::{
},
},
};
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
use azalea_world::MinecraftEntityId;
#[test]
@@ -39,7 +39,7 @@ fn test_teleport_movement() {
));
simulation.receive_packet(ClientboundBlockUpdate {
pos: BlockPos::new(31, 63, 370),
- block_state: Block::Stone.into(),
+ block_state: BlockKind::Stone.into(),
});
simulation.receive_packet(ClientboundPlayerPosition {
id: 1,
diff --git a/azalea-core/src/checksum.rs b/azalea-core/src/checksum.rs
index ac13fcc7..490d5ea4 100644
--- a/azalea-core/src/checksum.rs
+++ b/azalea-core/src/checksum.rs
@@ -1,12 +1,13 @@
use std::{cmp::Ordering, fmt, hash::Hasher};
use azalea_buf::AzBuf;
+use azalea_registry::identifier::Identifier;
use crc32c::Crc32cHasher;
use serde::{Serialize, ser};
use thiserror::Error;
use tracing::error;
-use crate::{identifier::Identifier, registry_holder::RegistryHolder};
+use crate::registry_holder::RegistryHolder;
#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Default, AzBuf)]
pub struct Checksum(pub u32);
diff --git a/azalea-core/src/data_registry.rs b/azalea-core/src/data_registry.rs
index cf82772a..07837b19 100644
--- a/azalea-core/src/data_registry.rs
+++ b/azalea-core/src/data_registry.rs
@@ -1,16 +1,30 @@
-use azalea_registry::DataRegistry;
-use simdnbt::owned::NbtCompound;
-
-use crate::{
+use azalea_registry::{
+ DataRegistry, DataRegistryKey, DataRegistryKeyRef,
+ data::{self},
identifier::Identifier,
- registry_holder::{self, RegistryDeserializesTo, RegistryHolder},
};
+use simdnbt::owned::NbtCompound;
+
+use crate::registry_holder::{self, RegistryDeserializesTo, RegistryHolder};
+
+pub trait DataRegistryWithKey: DataRegistry {
+ fn key<'s, 'a: 's>(
+ &'s self,
+ registries: &'a RegistryHolder,
+ ) -> Option<<Self::Key as DataRegistryKey>::Borrow<'s>> {
+ registries
+ .protocol_id_to_identifier(Identifier::from(Self::NAME), self.protocol_id())
+ .map(DataRegistryKeyRef::from_ident)
+ }
+}
+impl<R: DataRegistry> DataRegistryWithKey for R {}
pub trait ResolvableDataRegistry: DataRegistry {
type DeserializesTo: RegistryDeserializesTo;
+ #[doc(hidden)]
+ #[deprecated = "use `DataRegistryWithKey::key` instead."]
fn resolve_name<'a>(&self, registries: &'a RegistryHolder) -> Option<&'a Identifier> {
- // self.resolve(registries).map(|(name, _)| name.clone())
registries.protocol_id_to_identifier(Identifier::from(Self::NAME), self.protocol_id())
}
@@ -42,20 +56,20 @@ macro_rules! define_default_deserializes_to {
}
define_deserializes_to! {
- azalea_registry::DimensionType => registry_holder::dimension_type::DimensionTypeElement,
- azalea_registry::Enchantment => registry_holder::enchantment::EnchantmentData,
+ data::DimensionKind => registry_holder::dimension_type::DimensionKindElement,
+ data::Enchantment => registry_holder::enchantment::EnchantmentData,
}
define_default_deserializes_to! {
- azalea_registry::DamageKind,
- azalea_registry::Dialog,
- azalea_registry::WolfSoundVariant,
- azalea_registry::CowVariant,
- azalea_registry::ChickenVariant,
- azalea_registry::FrogVariant,
- azalea_registry::CatVariant,
- azalea_registry::PigVariant,
- azalea_registry::PaintingVariant,
- azalea_registry::WolfVariant,
- azalea_registry::Biome,
+ data::DamageKind,
+ data::Dialog,
+ data::WolfSoundVariant,
+ data::CowVariant,
+ data::ChickenVariant,
+ data::FrogVariant,
+ data::CatVariant,
+ data::PigVariant,
+ data::PaintingVariant,
+ data::WolfVariant,
+ data::Biome,
}
diff --git a/azalea-core/src/lib.rs b/azalea-core/src/lib.rs
index 16b23c01..d61690aa 100644
--- a/azalea-core/src/lib.rs
+++ b/azalea-core/src/lib.rs
@@ -16,15 +16,21 @@ pub mod direction;
pub mod filterable;
pub mod game_type;
pub mod hit_result;
-pub mod identifier;
pub mod math;
pub mod objectives;
pub mod position;
pub mod registry_holder;
+#[doc(hidden)]
pub mod resource_location {
- #![deprecated(note = "renamed to `identifier`.")]
- #[deprecated(note = "renamed to `identifier::Identifier`.")]
- pub type ResourceLocation = crate::identifier::Identifier;
+ #![deprecated(note = "moved to `azalea_registry::identifier`.")]
+ #[deprecated(note = "moved to `azalea_registry::identifier::Identifier`.")]
+ pub type ResourceLocation = azalea_registry::identifier::Identifier;
+}
+#[doc(hidden)]
+pub mod identifier {
+ #![deprecated(note = "moved to `azalea_registry::identifier`.")]
+ #[deprecated(note = "moved to `azalea_registry::identifier::Identifier`.")]
+ pub type Identifier = azalea_registry::identifier::Identifier;
}
pub mod sound;
#[cfg(feature = "bevy_ecs")]
diff --git a/azalea-core/src/position.rs b/azalea-core/src/position.rs
index 7cd86a03..1deb1892 100644
--- a/azalea-core/src/position.rs
+++ b/azalea-core/src/position.rs
@@ -13,10 +13,11 @@ use std::{
};
use azalea_buf::{AzBuf, AzaleaRead, AzaleaWrite, BufReadError};
+use azalea_registry::identifier::Identifier;
use serde::{Serialize, Serializer};
use simdnbt::borrow::NbtTag;
-use crate::{codec_utils::IntArray, direction::Direction, identifier::Identifier, math};
+use crate::{codec_utils::IntArray, direction::Direction, math};
macro_rules! vec3_impl {
($name:ident, $type:ty) => {
diff --git a/azalea-core/src/registry_holder/components.rs b/azalea-core/src/registry_holder/components.rs
index e7f94cd8..cbd6384d 100644
--- a/azalea-core/src/registry_holder/components.rs
+++ b/azalea-core/src/registry_holder/components.rs
@@ -1,6 +1,6 @@
use std::{any::Any, fmt::Debug, mem::ManuallyDrop, str::FromStr};
-use azalea_registry::{EnchantmentEffectComponentKind, SoundEvent};
+use azalea_registry::builtin::{EnchantmentEffectComponentKind, SoundEvent};
use simdnbt::{
DeserializeError,
borrow::{NbtCompound, NbtList, NbtTag},
diff --git a/azalea-core/src/registry_holder/dimension_type.rs b/azalea-core/src/registry_holder/dimension_type.rs
index ca158277..86dd2b3e 100644
--- a/azalea-core/src/registry_holder/dimension_type.rs
+++ b/azalea-core/src/registry_holder/dimension_type.rs
@@ -1,12 +1,13 @@
use std::collections::HashMap;
use azalea_buf::AzBuf;
+use azalea_registry::{builtin::SoundEvent, identifier::Identifier};
use simdnbt::{
Deserialize, FromNbtTag, Serialize, ToNbtTag,
owned::{NbtCompound, NbtTag},
};
-use crate::{codec_utils::*, identifier::Identifier};
+use crate::codec_utils::*;
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "strict_registry", simdnbt(deny_unknown_fields))]
@@ -51,7 +52,7 @@ pub struct ChatTypeStyle {
#[cfg(feature = "strict_registry")]
#[derive(Debug, Clone, Serialize, Deserialize)]
#[simdnbt(deny_unknown_fields)]
-pub struct DimensionTypeElement {
+pub struct DimensionKindElement {
pub ambient_light: f32,
pub bed_works: bool,
pub coordinate_scale: f32,
@@ -75,7 +76,7 @@ pub struct DimensionTypeElement {
/// Dimension attributes.
#[cfg(not(feature = "strict_registry"))]
#[derive(Debug, Clone, Serialize, Deserialize)]
-pub struct DimensionTypeElement {
+pub struct DimensionKindElement {
pub height: u32,
pub min_y: i32,
pub ultrawarm: Option<bool>,
@@ -208,7 +209,7 @@ pub struct BiomeMusic {
pub replace_current_music: bool,
pub max_delay: u32,
pub min_delay: u32,
- pub sound: azalea_registry::SoundEvent,
+ pub sound: SoundEvent,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
@@ -217,14 +218,14 @@ pub struct BiomeMoodSound {
pub tick_delay: u32,
pub block_search_extent: u32,
pub offset: f32,
- pub sound: azalea_registry::SoundEvent,
+ pub sound: SoundEvent,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "strict_registry", simdnbt(deny_unknown_fields))]
pub struct AdditionsSound {
pub tick_chance: f32,
- pub sound: azalea_registry::SoundEvent,
+ pub sound: SoundEvent,
}
/// Biome particles.
diff --git a/azalea-core/src/registry_holder/enchantment.rs b/azalea-core/src/registry_holder/enchantment.rs
index 0f78843c..8d825baf 100644
--- a/azalea-core/src/registry_holder/enchantment.rs
+++ b/azalea-core/src/registry_holder/enchantment.rs
@@ -1,6 +1,6 @@
use std::{any::Any, fmt::Debug, str::FromStr};
-use azalea_registry::EnchantmentEffectComponentKind;
+use azalea_registry::builtin::EnchantmentEffectComponentKind;
use indexmap::IndexMap;
use simdnbt::{DeserializeError, borrow::NbtCompound};
diff --git a/azalea-core/src/registry_holder/entity_effect.rs b/azalea-core/src/registry_holder/entity_effect.rs
index 442b0e1a..ef08b7f0 100644
--- a/azalea-core/src/registry_holder/entity_effect.rs
+++ b/azalea-core/src/registry_holder/entity_effect.rs
@@ -1,7 +1,12 @@
use std::{collections::HashMap, str::FromStr};
use azalea_registry::{
- EnchantmentEntityEffectKind as EntityEffectKind, GameEvent, Holder, ParticleKind, SoundEvent,
+ Holder,
+ builtin::{
+ EnchantmentEntityEffectKind as EntityEffectKind, GameEvent, ParticleKind, SoundEvent,
+ },
+ data::DamageKindKey,
+ identifier::Identifier,
};
use simdnbt::{
Deserialize, DeserializeError,
@@ -9,7 +14,6 @@ use simdnbt::{
};
use crate::{
- identifier::Identifier,
position::{Vec3, Vec3i},
registry_holder::{
block_predicate::BlockPredicate, block_state_provider::BlockStateProvider,
@@ -129,17 +133,15 @@ pub struct ChangeItemDamage {
pub struct DamageEntity {
pub min_damage: LevelBasedValue,
pub max_damage: LevelBasedValue,
- // TODO: convert to a DamageKind after azalea-registry refactor
#[simdnbt(rename = "damage_type")]
- pub damage_kind: Identifier,
+ pub damage_kind: DamageKindKey,
}
#[derive(Debug, Clone, simdnbt::Deserialize)]
pub struct Explode {
pub attribute_to_user: Option<bool>,
- // TODO: convert to a DamageKind after azalea-registry refactor
#[simdnbt(rename = "damage_type")]
- pub damage_kind: Option<Identifier>,
+ pub damage_kind: Option<DamageKindKey>,
pub knockback_multiplier: Option<LevelBasedValue>,
pub immune_blocks: Option<HomogeneousList>,
pub offset: Option<Vec3>,
diff --git a/azalea-core/src/registry_holder/float_provider.rs b/azalea-core/src/registry_holder/float_provider.rs
index 6ce6b26d..c7d56bf9 100644
--- a/azalea-core/src/registry_holder/float_provider.rs
+++ b/azalea-core/src/registry_holder/float_provider.rs
@@ -1,6 +1,6 @@
use std::ops::Range;
-use azalea_registry::FloatProviderKind;
+use azalea_registry::builtin::FloatProviderKind;
use simdnbt::{
DeserializeError, FromNbtTag,
borrow::{NbtCompound, NbtTag},
diff --git a/azalea-core/src/registry_holder/mod.rs b/azalea-core/src/registry_holder/mod.rs
index 269cf454..886c75e1 100644
--- a/azalea-core/src/registry_holder/mod.rs
+++ b/azalea-core/src/registry_holder/mod.rs
@@ -16,13 +16,12 @@ pub mod value;
use std::{collections::HashMap, io::Cursor};
+use azalea_registry::identifier::Identifier;
use indexmap::IndexMap;
use simdnbt::{DeserializeError, FromNbtTag, borrow, owned::NbtCompound};
use thiserror::Error;
use tracing::error;
-use crate::identifier::Identifier;
-
/// The base of the registry.
///
/// This is the registry that is sent to the client upon login.
@@ -39,7 +38,7 @@ pub struct RegistryHolder {
#[rustfmt::skip] // allow empty line
/// Attributes about the dimension.
- pub dimension_type: RegistryType<dimension_type::DimensionTypeElement>,
+ pub dimension_type: RegistryType<dimension_type::DimensionKindElement>,
pub enchantment: RegistryType<enchantment::EnchantmentData>,
@@ -93,7 +92,6 @@ macro_rules! registry_holder {
) -> Option<&Identifier> {
let index = protocol_id as usize;
-
if registry.namespace() == "minecraft" {
match registry.path() {
$(
@@ -189,7 +187,7 @@ impl RegistryDeserializesTo for NbtCompound {
.get_index(protocol_id as usize)
}
}
-impl RegistryDeserializesTo for dimension_type::DimensionTypeElement {
+impl RegistryDeserializesTo for dimension_type::DimensionKindElement {
fn get_for_registry<'a>(
registries: &'a RegistryHolder,
registry_name: &'static str,
diff --git a/azalea-core/src/registry_holder/value.rs b/azalea-core/src/registry_holder/value.rs
index ccd7f9ea..964d1e5a 100644
--- a/azalea-core/src/registry_holder/value.rs
+++ b/azalea-core/src/registry_holder/value.rs
@@ -1,6 +1,9 @@
use azalea_registry::{
- Attribute, EnchantmentLevelBasedValueKind as LevelBasedValueKind,
- EnchantmentValueEffectKind as ValueEffectKind,
+ builtin::{
+ Attribute, EnchantmentLevelBasedValueKind as LevelBasedValueKind,
+ EnchantmentValueEffectKind as ValueEffectKind,
+ },
+ identifier::Identifier,
};
use simdnbt::{
DeserializeError, FromNbtTag,
@@ -9,7 +12,6 @@ use simdnbt::{
use crate::{
attribute_modifier_operation::AttributeModifierOperation,
- identifier::Identifier,
registry_holder::{components::impl_from_effect_nbt_tag, get_in_compound},
};
diff --git a/azalea-core/src/sound.rs b/azalea-core/src/sound.rs
index a3b74b43..9ac568b6 100644
--- a/azalea-core/src/sound.rs
+++ b/azalea-core/src/sound.rs
@@ -1,8 +1,7 @@
use azalea_buf::AzBuf;
+use azalea_registry::identifier::Identifier;
use serde::Serialize;
-use crate::identifier::Identifier;
-
#[derive(Clone, Debug, PartialEq, AzBuf, Serialize, simdnbt::Deserialize)]
pub struct CustomSound {
pub sound_id: Identifier,
diff --git a/azalea-core/src/tier.rs b/azalea-core/src/tier.rs
index e921899f..a25a3c1a 100644
--- a/azalea-core/src/tier.rs
+++ b/azalea-core/src/tier.rs
@@ -1,5 +1,7 @@
-pub fn get_item_tier(item: azalea_registry::Item) -> Option<Tier> {
- use azalea_registry::Item::*;
+use azalea_registry::builtin::ItemKind;
+
+pub fn get_item_tier(item: ItemKind) -> Option<Tier> {
+ use ItemKind::*;
Some(match item {
WoodenPickaxe | WoodenShovel | WoodenAxe | WoodenHoe | WoodenSword => Tier::Wood,
StonePickaxe | StoneShovel | StoneAxe | StoneHoe | StoneSword => Tier::Stone,
diff --git a/azalea-crypto/src/lib.rs b/azalea-crypto/src/lib.rs
index 539461e5..948b3715 100644
--- a/azalea-crypto/src/lib.rs
+++ b/azalea-crypto/src/lib.rs
@@ -12,14 +12,17 @@ use rand::{TryRngCore, rngs::OsRng};
use sha1::{Digest, Sha1};
#[cfg(feature = "signing")]
+#[doc(hidden)]
#[deprecated = "moved to `signing::MessageSignature`."]
pub type MessageSignature = signing::MessageSignature;
#[cfg(feature = "signing")]
+#[doc(hidden)]
#[deprecated = "moved to `signing::SignChatMessageOptions`."]
pub type SignChatMessageOptions = signing::SignChatMessageOptions;
#[cfg(feature = "signing")]
+#[doc(hidden)]
#[deprecated = "moved to `signing::make_salt`."]
pub fn make_salt() -> u64 {
signing::make_salt()
diff --git a/azalea-entity/src/attributes.rs b/azalea-entity/src/attributes.rs
index d0bd2c21..95b13c98 100644
--- a/azalea-entity/src/attributes.rs
+++ b/azalea-entity/src/attributes.rs
@@ -2,11 +2,9 @@
use std::collections::{HashMap, hash_map};
-use azalea_core::{
- attribute_modifier_operation::AttributeModifierOperation, identifier::Identifier,
-};
+use azalea_core::attribute_modifier_operation::AttributeModifierOperation;
use azalea_inventory::components::AttributeModifier;
-use azalea_registry::Attribute;
+use azalea_registry::{builtin::Attribute, identifier::Identifier};
use bevy_ecs::component::Component;
use thiserror::Error;
diff --git a/azalea-entity/src/data.rs b/azalea-entity/src/data.rs
index c535bb72..bb73cbed 100644
--- a/azalea-entity/src/data.rs
+++ b/azalea-entity/src/data.rs
@@ -12,6 +12,7 @@ use azalea_core::{
position::{BlockPos, GlobalPos, Vec3f32},
};
use azalea_inventory::{ItemStack, components};
+use azalea_registry::builtin::{VillagerKind, VillagerProfession};
use bevy_ecs::component::Component;
use derive_more::Deref;
use enum_as_inner::EnumAsInner;
@@ -83,16 +84,16 @@ pub enum EntityDataValue {
// 0 for absent; 1 + actual value otherwise. Used for entity IDs.
OptionalUnsignedInt(OptionalUnsignedInt),
Pose(Pose),
- CatVariant(azalea_registry::CatVariant),
- ChickenVariant(azalea_registry::ChickenVariant),
- CowVariant(azalea_registry::CowVariant),
- WolfVariant(azalea_registry::WolfVariant),
- WolfSoundVariant(azalea_registry::WolfSoundVariant),
- FrogVariant(azalea_registry::FrogVariant),
- PigVariant(azalea_registry::PigVariant),
- ZombieNautilusVariant(azalea_registry::ZombieNautilusVariant),
+ CatVariant(azalea_registry::data::CatVariant),
+ ChickenVariant(azalea_registry::data::ChickenVariant),
+ CowVariant(azalea_registry::data::CowVariant),
+ WolfVariant(azalea_registry::data::WolfVariant),
+ WolfSoundVariant(azalea_registry::data::WolfSoundVariant),
+ FrogVariant(azalea_registry::data::FrogVariant),
+ PigVariant(azalea_registry::data::PigVariant),
+ ZombieNautilusVariant(azalea_registry::data::ZombieNautilusVariant),
OptionalGlobalPos(Option<GlobalPos>),
- PaintingVariant(azalea_registry::PaintingVariant),
+ PaintingVariant(azalea_registry::data::PaintingVariant),
SnifferState(SnifferStateKind),
ArmadilloState(ArmadilloStateKind),
CopperGolemState(CopperGolemStateKind),
@@ -176,8 +177,8 @@ pub enum Pose {
#[derive(Debug, Clone, AzBuf, PartialEq)]
pub struct VillagerData {
- pub kind: azalea_registry::VillagerKind,
- pub profession: azalea_registry::VillagerProfession,
+ pub kind: VillagerKind,
+ pub profession: VillagerProfession,
#[var]
pub level: u32,
}
diff --git a/azalea-entity/src/dimensions.rs b/azalea-entity/src/dimensions.rs
index c5118d55..5660e032 100644
--- a/azalea-entity/src/dimensions.rs
+++ b/azalea-entity/src/dimensions.rs
@@ -1,5 +1,5 @@
use azalea_core::{aabb::Aabb, position::Vec3};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::EntityKind;
use bevy_ecs::component::Component;
use crate::Pose;
diff --git a/azalea-entity/src/effects.rs b/azalea-entity/src/effects.rs
index 9519c627..aa930a78 100644
--- a/azalea-entity/src/effects.rs
+++ b/azalea-entity/src/effects.rs
@@ -5,7 +5,7 @@ use std::{
use azalea_buf::{AzBuf, AzaleaRead, AzaleaWrite, BufReadError};
use azalea_core::bitset::FixedBitSet;
-use azalea_registry::MobEffect;
+use azalea_registry::builtin::MobEffect;
use bevy_ecs::component::Component;
/// Data about an active mob effect.
diff --git a/azalea-entity/src/inventory.rs b/azalea-entity/src/inventory.rs
index 5dd933a2..d6fabb1e 100644
--- a/azalea-entity/src/inventory.rs
+++ b/azalea-entity/src/inventory.rs
@@ -681,13 +681,13 @@ impl Default for Inventory {
#[cfg(test)]
mod tests {
use azalea_inventory::SlotList;
- use azalea_registry::Item;
+ use azalea_registry::builtin::ItemKind;
use super::*;
#[test]
fn test_simulate_shift_click_in_crafting_table() {
- let spruce_planks = ItemStack::new(Item::SprucePlanks, 4);
+ let spruce_planks = ItemStack::new(ItemKind::SprucePlanks, 4);
let mut inventory = Inventory {
inventory_menu: Menu::Player(azalea_inventory::Player::default()),
diff --git a/azalea-entity/src/lib.rs b/azalea-entity/src/lib.rs
index 84e1c9f7..d95a2f20 100644
--- a/azalea-entity/src/lib.rs
+++ b/azalea-entity/src/lib.rs
@@ -22,11 +22,10 @@ use azalea_block::{BlockState, fluid_state::FluidKind};
use azalea_buf::AzBuf;
use azalea_core::{
aabb::Aabb,
- identifier::Identifier,
math,
position::{BlockPos, ChunkPos, Vec3},
};
-use azalea_registry::EntityKind;
+use azalea_registry::{builtin::EntityKind, identifier::Identifier};
use azalea_world::{ChunkStorage, InstanceName};
use bevy_ecs::{bundle::Bundle, component::Component};
pub use data::*;
@@ -460,12 +459,12 @@ impl Physics {
#[derive(Component, Copy, Clone, Default)]
pub struct Dead;
-/// A component NewType for [`azalea_registry::EntityKind`].
+/// A component NewType for [`EntityKind`].
///
/// Most of the time, you should be using `azalea_registry::EntityKind`
/// directly instead.
#[derive(Component, Clone, Copy, Debug, PartialEq, Deref)]
-pub struct EntityKindComponent(pub azalea_registry::EntityKind);
+pub struct EntityKindComponent(pub EntityKind);
/// A bundle of components that every entity has.
///
@@ -492,12 +491,7 @@ pub struct EntityBundle {
}
impl EntityBundle {
- pub fn new(
- uuid: Uuid,
- pos: Vec3,
- kind: azalea_registry::EntityKind,
- world_name: Identifier,
- ) -> Self {
+ pub fn new(uuid: Uuid, pos: Vec3, kind: EntityKind, world_name: Identifier) -> Self {
let dimensions = EntityDimensions::from(kind);
Self {
diff --git a/azalea-entity/src/metadata.rs b/azalea-entity/src/metadata.rs
index e858a170..c3fb480f 100644
--- a/azalea-entity/src/metadata.rs
+++ b/azalea-entity/src/metadata.rs
@@ -9,7 +9,7 @@ use azalea_core::{
position::{BlockPos, Vec3f32},
};
use azalea_inventory::{ItemStack, components};
-use azalea_registry::DataRegistry;
+use azalea_registry::{DataRegistry, builtin::EntityKind};
use bevy_ecs::{bundle::Bundle, component::Component};
use derive_more::{Deref, DerefMut};
use thiserror::Error;
@@ -1692,7 +1692,7 @@ pub struct InSittingPose(pub bool);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct Owneruuid(pub Option<Uuid>);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct CatVariant(pub azalea_registry::CatVariant);
+pub struct CatVariant(pub azalea_registry::data::CatVariant);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct IsLying(pub bool);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
@@ -1791,7 +1791,7 @@ impl Default for CatMetadataBundle {
in_sitting_pose: InSittingPose(false),
owneruuid: Owneruuid(None),
},
- cat_variant: CatVariant(azalea_registry::CatVariant::new_raw(0)),
+ cat_variant: CatVariant(azalea_registry::data::CatVariant::new_raw(0)),
is_lying: IsLying(false),
relax_state_one: RelaxStateOne(false),
cat_collar_color: CatCollarColor(Default::default()),
@@ -2050,7 +2050,7 @@ impl Default for ChestMinecartMetadataBundle {
}
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct ChickenVariant(pub azalea_registry::PigVariant);
+pub struct ChickenVariant(pub azalea_registry::data::PigVariant);
#[derive(Component)]
pub struct Chicken;
impl Chicken {
@@ -2125,7 +2125,7 @@ impl Default for ChickenMetadataBundle {
abstract_ageable_baby: AbstractAgeableBaby(false),
},
},
- chicken_variant: ChickenVariant(azalea_registry::PigVariant::new_raw(0)),
+ chicken_variant: ChickenVariant(azalea_registry::data::PigVariant::new_raw(0)),
}
}
}
@@ -2351,7 +2351,7 @@ impl Default for CopperGolemMetadataBundle {
}
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct CowVariant(pub azalea_registry::ChickenVariant);
+pub struct CowVariant(pub azalea_registry::data::ChickenVariant);
#[derive(Component)]
pub struct Cow;
impl Cow {
@@ -2426,7 +2426,7 @@ impl Default for CowMetadataBundle {
abstract_ageable_baby: AbstractAgeableBaby(false),
},
},
- cow_variant: CowVariant(azalea_registry::ChickenVariant::new_raw(0)),
+ cow_variant: CowVariant(azalea_registry::data::ChickenVariant::new_raw(0)),
}
}
}
@@ -4141,7 +4141,7 @@ impl Default for FoxMetadataBundle {
}
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct FrogVariant(pub azalea_registry::WolfSoundVariant);
+pub struct FrogVariant(pub azalea_registry::data::WolfSoundVariant);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct TongueTarget(pub OptionalUnsignedInt);
#[derive(Component)]
@@ -4222,7 +4222,7 @@ impl Default for FrogMetadataBundle {
abstract_ageable_baby: AbstractAgeableBaby(false),
},
},
- frog_variant: FrogVariant(azalea_registry::WolfSoundVariant::new_raw(0)),
+ frog_variant: FrogVariant(azalea_registry::data::WolfSoundVariant::new_raw(0)),
tongue_target: TongueTarget(OptionalUnsignedInt(None)),
}
}
@@ -6826,7 +6826,7 @@ impl Default for OminousItemSpawnerMetadataBundle {
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct PaintingDirection(pub Direction);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct PaintingVariant(pub azalea_registry::PaintingVariant);
+pub struct PaintingVariant(pub azalea_registry::data::PaintingVariant);
#[derive(Component)]
pub struct Painting;
impl Painting {
@@ -6877,7 +6877,7 @@ impl Default for PaintingMetadataBundle {
ticks_frozen: TicksFrozen(Default::default()),
},
painting_direction: PaintingDirection(Default::default()),
- painting_variant: PaintingVariant(azalea_registry::PaintingVariant::new_raw(0)),
+ painting_variant: PaintingVariant(azalea_registry::data::PaintingVariant::new_raw(0)),
}
}
}
@@ -7355,7 +7355,7 @@ impl Default for PhantomMetadataBundle {
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct PigBoostTime(pub i32);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct PigVariant(pub azalea_registry::FrogVariant);
+pub struct PigVariant(pub azalea_registry::data::FrogVariant);
#[derive(Component)]
pub struct Pig;
impl Pig {
@@ -7435,7 +7435,7 @@ impl Default for PigMetadataBundle {
},
},
pig_boost_time: PigBoostTime(0),
- pig_variant: PigVariant(azalea_registry::FrogVariant::new_raw(0)),
+ pig_variant: PigVariant(azalea_registry::data::FrogVariant::new_raw(0)),
}
}
}
@@ -10294,8 +10294,8 @@ impl Default for VillagerMetadataBundle {
abstract_villager_unhappy_counter: AbstractVillagerUnhappyCounter(0),
},
villager_villager_data: VillagerVillagerData(VillagerData {
- kind: azalea_registry::VillagerKind::Plains,
- profession: azalea_registry::VillagerProfession::None,
+ kind: azalea_registry::builtin::VillagerKind::Plains,
+ profession: azalea_registry::builtin::VillagerProfession::None,
level: 0,
}),
}
@@ -10875,9 +10875,9 @@ pub struct WolfCollarColor(pub i32);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct WolfAngerEndTime(pub i64);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct WolfVariant(pub azalea_registry::CowVariant);
+pub struct WolfVariant(pub azalea_registry::data::CowVariant);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct SoundVariant(pub azalea_registry::WolfVariant);
+pub struct SoundVariant(pub azalea_registry::data::WolfVariant);
#[derive(Component)]
pub struct Wolf;
impl Wolf {
@@ -10977,8 +10977,8 @@ impl Default for WolfMetadataBundle {
wolf_interested: WolfInterested(false),
wolf_collar_color: WolfCollarColor(Default::default()),
wolf_anger_end_time: WolfAngerEndTime(-1),
- wolf_variant: WolfVariant(azalea_registry::CowVariant::new_raw(0)),
- sound_variant: SoundVariant(azalea_registry::WolfVariant::new_raw(0)),
+ wolf_variant: WolfVariant(azalea_registry::data::CowVariant::new_raw(0)),
+ sound_variant: SoundVariant(azalea_registry::data::WolfVariant::new_raw(0)),
}
}
}
@@ -11225,7 +11225,7 @@ impl Default for ZombieHorseMetadataBundle {
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
pub struct ZombieNautilusDash(pub bool);
#[derive(Component, Deref, DerefMut, Clone, PartialEq)]
-pub struct ZombieNautilusVariant(pub azalea_registry::ZombieNautilusVariant);
+pub struct ZombieNautilusVariant(pub azalea_registry::data::ZombieNautilusVariant);
#[derive(Component)]
pub struct ZombieNautilus;
impl ZombieNautilus {
@@ -11314,7 +11314,7 @@ impl Default for ZombieNautilusMetadataBundle {
},
zombie_nautilus_dash: ZombieNautilusDash(false),
zombie_nautilus_variant: ZombieNautilusVariant(
- azalea_registry::ZombieNautilusVariant::new_raw(0),
+ azalea_registry::data::ZombieNautilusVariant::new_raw(0),
),
}
}
@@ -11406,8 +11406,8 @@ impl Default for ZombieVillagerMetadataBundle {
},
converting: Converting(false),
zombie_villager_villager_data: ZombieVillagerVillagerData(VillagerData {
- kind: azalea_registry::VillagerKind::Plains,
- profession: azalea_registry::VillagerProfession::None,
+ kind: azalea_registry::builtin::VillagerKind::Plains,
+ profession: azalea_registry::builtin::VillagerProfession::None,
level: 0,
}),
}
@@ -13139,791 +13139,791 @@ impl Default for AbstractVillagerMetadataBundle {
pub fn apply_metadata(
entity: &mut bevy_ecs::system::EntityCommands,
- entity_kind: azalea_registry::EntityKind,
+ entity_kind: EntityKind,
items: Vec<EntityDataItem>,
) -> Result<(), UpdateMetadataError> {
match entity_kind {
- azalea_registry::EntityKind::AcaciaBoat => {
+ EntityKind::AcaciaBoat => {
for d in items {
AcaciaBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::AcaciaChestBoat => {
+ EntityKind::AcaciaChestBoat => {
for d in items {
AcaciaChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Allay => {
+ EntityKind::Allay => {
for d in items {
Allay::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::AreaEffectCloud => {
+ EntityKind::AreaEffectCloud => {
for d in items {
AreaEffectCloud::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Armadillo => {
+ EntityKind::Armadillo => {
for d in items {
Armadillo::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ArmorStand => {
+ EntityKind::ArmorStand => {
for d in items {
ArmorStand::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Arrow => {
+ EntityKind::Arrow => {
for d in items {
Arrow::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Axolotl => {
+ EntityKind::Axolotl => {
for d in items {
Axolotl::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::BambooChestRaft => {
+ EntityKind::BambooChestRaft => {
for d in items {
BambooChestRaft::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::BambooRaft => {
+ EntityKind::BambooRaft => {
for d in items {
BambooRaft::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Bat => {
+ EntityKind::Bat => {
for d in items {
Bat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Bee => {
+ EntityKind::Bee => {
for d in items {
Bee::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::BirchBoat => {
+ EntityKind::BirchBoat => {
for d in items {
BirchBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::BirchChestBoat => {
+ EntityKind::BirchChestBoat => {
for d in items {
BirchChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Blaze => {
+ EntityKind::Blaze => {
for d in items {
Blaze::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::BlockDisplay => {
+ EntityKind::BlockDisplay => {
for d in items {
BlockDisplay::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Bogged => {
+ EntityKind::Bogged => {
for d in items {
Bogged::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Breeze => {
+ EntityKind::Breeze => {
for d in items {
Breeze::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::BreezeWindCharge => {
+ EntityKind::BreezeWindCharge => {
for d in items {
BreezeWindCharge::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Camel => {
+ EntityKind::Camel => {
for d in items {
Camel::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::CamelHusk => {
+ EntityKind::CamelHusk => {
for d in items {
CamelHusk::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Cat => {
+ EntityKind::Cat => {
for d in items {
Cat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::CaveSpider => {
+ EntityKind::CaveSpider => {
for d in items {
CaveSpider::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::CherryBoat => {
+ EntityKind::CherryBoat => {
for d in items {
CherryBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::CherryChestBoat => {
+ EntityKind::CherryChestBoat => {
for d in items {
CherryChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ChestMinecart => {
+ EntityKind::ChestMinecart => {
for d in items {
ChestMinecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Chicken => {
+ EntityKind::Chicken => {
for d in items {
Chicken::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Cod => {
+ EntityKind::Cod => {
for d in items {
Cod::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::CommandBlockMinecart => {
+ EntityKind::CommandBlockMinecart => {
for d in items {
CommandBlockMinecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::CopperGolem => {
+ EntityKind::CopperGolem => {
for d in items {
CopperGolem::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Cow => {
+ EntityKind::Cow => {
for d in items {
Cow::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Creaking => {
+ EntityKind::Creaking => {
for d in items {
Creaking::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Creeper => {
+ EntityKind::Creeper => {
for d in items {
Creeper::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::DarkOakBoat => {
+ EntityKind::DarkOakBoat => {
for d in items {
DarkOakBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::DarkOakChestBoat => {
+ EntityKind::DarkOakChestBoat => {
for d in items {
DarkOakChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Dolphin => {
+ EntityKind::Dolphin => {
for d in items {
Dolphin::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Donkey => {
+ EntityKind::Donkey => {
for d in items {
Donkey::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::DragonFireball => {
+ EntityKind::DragonFireball => {
for d in items {
DragonFireball::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Drowned => {
+ EntityKind::Drowned => {
for d in items {
Drowned::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Egg => {
+ EntityKind::Egg => {
for d in items {
Egg::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ElderGuardian => {
+ EntityKind::ElderGuardian => {
for d in items {
ElderGuardian::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::EndCrystal => {
+ EntityKind::EndCrystal => {
for d in items {
EndCrystal::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::EnderDragon => {
+ EntityKind::EnderDragon => {
for d in items {
EnderDragon::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::EnderPearl => {
+ EntityKind::EnderPearl => {
for d in items {
EnderPearl::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Enderman => {
+ EntityKind::Enderman => {
for d in items {
Enderman::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Endermite => {
+ EntityKind::Endermite => {
for d in items {
Endermite::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Evoker => {
+ EntityKind::Evoker => {
for d in items {
Evoker::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::EvokerFangs => {
+ EntityKind::EvokerFangs => {
for d in items {
EvokerFangs::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ExperienceBottle => {
+ EntityKind::ExperienceBottle => {
for d in items {
ExperienceBottle::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ExperienceOrb => {
+ EntityKind::ExperienceOrb => {
for d in items {
ExperienceOrb::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::EyeOfEnder => {
+ EntityKind::EyeOfEnder => {
for d in items {
EyeOfEnder::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::FallingBlock => {
+ EntityKind::FallingBlock => {
for d in items {
FallingBlock::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Fireball => {
+ EntityKind::Fireball => {
for d in items {
Fireball::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::FireworkRocket => {
+ EntityKind::FireworkRocket => {
for d in items {
FireworkRocket::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::FishingBobber => {
+ EntityKind::FishingBobber => {
for d in items {
FishingBobber::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Fox => {
+ EntityKind::Fox => {
for d in items {
Fox::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Frog => {
+ EntityKind::Frog => {
for d in items {
Frog::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::FurnaceMinecart => {
+ EntityKind::FurnaceMinecart => {
for d in items {
FurnaceMinecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Ghast => {
+ EntityKind::Ghast => {
for d in items {
Ghast::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Giant => {
+ EntityKind::Giant => {
for d in items {
Giant::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::GlowItemFrame => {
+ EntityKind::GlowItemFrame => {
for d in items {
GlowItemFrame::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::GlowSquid => {
+ EntityKind::GlowSquid => {
for d in items {
GlowSquid::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Goat => {
+ EntityKind::Goat => {
for d in items {
Goat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Guardian => {
+ EntityKind::Guardian => {
for d in items {
Guardian::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::HappyGhast => {
+ EntityKind::HappyGhast => {
for d in items {
HappyGhast::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Hoglin => {
+ EntityKind::Hoglin => {
for d in items {
Hoglin::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::HopperMinecart => {
+ EntityKind::HopperMinecart => {
for d in items {
HopperMinecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Horse => {
+ EntityKind::Horse => {
for d in items {
Horse::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Husk => {
+ EntityKind::Husk => {
for d in items {
Husk::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Illusioner => {
+ EntityKind::Illusioner => {
for d in items {
Illusioner::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Interaction => {
+ EntityKind::Interaction => {
for d in items {
Interaction::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::IronGolem => {
+ EntityKind::IronGolem => {
for d in items {
IronGolem::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Item => {
+ EntityKind::Item => {
for d in items {
Item::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ItemDisplay => {
+ EntityKind::ItemDisplay => {
for d in items {
ItemDisplay::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ItemFrame => {
+ EntityKind::ItemFrame => {
for d in items {
ItemFrame::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::JungleBoat => {
+ EntityKind::JungleBoat => {
for d in items {
JungleBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::JungleChestBoat => {
+ EntityKind::JungleChestBoat => {
for d in items {
JungleChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::LeashKnot => {
+ EntityKind::LeashKnot => {
for d in items {
LeashKnot::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::LightningBolt => {
+ EntityKind::LightningBolt => {
for d in items {
LightningBolt::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::LingeringPotion => {
+ EntityKind::LingeringPotion => {
for d in items {
LingeringPotion::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Llama => {
+ EntityKind::Llama => {
for d in items {
Llama::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::LlamaSpit => {
+ EntityKind::LlamaSpit => {
for d in items {
LlamaSpit::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::MagmaCube => {
+ EntityKind::MagmaCube => {
for d in items {
MagmaCube::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::MangroveBoat => {
+ EntityKind::MangroveBoat => {
for d in items {
MangroveBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::MangroveChestBoat => {
+ EntityKind::MangroveChestBoat => {
for d in items {
MangroveChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Mannequin => {
+ EntityKind::Mannequin => {
for d in items {
Mannequin::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Marker => {
+ EntityKind::Marker => {
for d in items {
Marker::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Minecart => {
+ EntityKind::Minecart => {
for d in items {
Minecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Mooshroom => {
+ EntityKind::Mooshroom => {
for d in items {
Mooshroom::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Mule => {
+ EntityKind::Mule => {
for d in items {
Mule::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Nautilus => {
+ EntityKind::Nautilus => {
for d in items {
Nautilus::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::OakBoat => {
+ EntityKind::OakBoat => {
for d in items {
OakBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::OakChestBoat => {
+ EntityKind::OakChestBoat => {
for d in items {
OakChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Ocelot => {
+ EntityKind::Ocelot => {
for d in items {
Ocelot::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::OminousItemSpawner => {
+ EntityKind::OminousItemSpawner => {
for d in items {
OminousItemSpawner::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Painting => {
+ EntityKind::Painting => {
for d in items {
Painting::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::PaleOakBoat => {
+ EntityKind::PaleOakBoat => {
for d in items {
PaleOakBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::PaleOakChestBoat => {
+ EntityKind::PaleOakChestBoat => {
for d in items {
PaleOakChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Panda => {
+ EntityKind::Panda => {
for d in items {
Panda::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Parched => {
+ EntityKind::Parched => {
for d in items {
Parched::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Parrot => {
+ EntityKind::Parrot => {
for d in items {
Parrot::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Phantom => {
+ EntityKind::Phantom => {
for d in items {
Phantom::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Pig => {
+ EntityKind::Pig => {
for d in items {
Pig::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Piglin => {
+ EntityKind::Piglin => {
for d in items {
Piglin::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::PiglinBrute => {
+ EntityKind::PiglinBrute => {
for d in items {
PiglinBrute::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Pillager => {
+ EntityKind::Pillager => {
for d in items {
Pillager::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Player => {
+ EntityKind::Player => {
for d in items {
Player::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::PolarBear => {
+ EntityKind::PolarBear => {
for d in items {
PolarBear::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Pufferfish => {
+ EntityKind::Pufferfish => {
for d in items {
Pufferfish::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Rabbit => {
+ EntityKind::Rabbit => {
for d in items {
Rabbit::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Ravager => {
+ EntityKind::Ravager => {
for d in items {
Ravager::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Salmon => {
+ EntityKind::Salmon => {
for d in items {
Salmon::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Sheep => {
+ EntityKind::Sheep => {
for d in items {
Sheep::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Shulker => {
+ EntityKind::Shulker => {
for d in items {
Shulker::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ShulkerBullet => {
+ EntityKind::ShulkerBullet => {
for d in items {
ShulkerBullet::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Silverfish => {
+ EntityKind::Silverfish => {
for d in items {
Silverfish::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Skeleton => {
+ EntityKind::Skeleton => {
for d in items {
Skeleton::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SkeletonHorse => {
+ EntityKind::SkeletonHorse => {
for d in items {
SkeletonHorse::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Slime => {
+ EntityKind::Slime => {
for d in items {
Slime::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SmallFireball => {
+ EntityKind::SmallFireball => {
for d in items {
SmallFireball::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Sniffer => {
+ EntityKind::Sniffer => {
for d in items {
Sniffer::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SnowGolem => {
+ EntityKind::SnowGolem => {
for d in items {
SnowGolem::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Snowball => {
+ EntityKind::Snowball => {
for d in items {
Snowball::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SpawnerMinecart => {
+ EntityKind::SpawnerMinecart => {
for d in items {
SpawnerMinecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SpectralArrow => {
+ EntityKind::SpectralArrow => {
for d in items {
SpectralArrow::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Spider => {
+ EntityKind::Spider => {
for d in items {
Spider::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SplashPotion => {
+ EntityKind::SplashPotion => {
for d in items {
SplashPotion::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SpruceBoat => {
+ EntityKind::SpruceBoat => {
for d in items {
SpruceBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::SpruceChestBoat => {
+ EntityKind::SpruceChestBoat => {
for d in items {
SpruceChestBoat::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Squid => {
+ EntityKind::Squid => {
for d in items {
Squid::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Stray => {
+ EntityKind::Stray => {
for d in items {
Stray::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Strider => {
+ EntityKind::Strider => {
for d in items {
Strider::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Tadpole => {
+ EntityKind::Tadpole => {
for d in items {
Tadpole::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::TextDisplay => {
+ EntityKind::TextDisplay => {
for d in items {
TextDisplay::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Tnt => {
+ EntityKind::Tnt => {
for d in items {
Tnt::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::TntMinecart => {
+ EntityKind::TntMinecart => {
for d in items {
TntMinecart::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::TraderLlama => {
+ EntityKind::TraderLlama => {
for d in items {
TraderLlama::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Trident => {
+ EntityKind::Trident => {
for d in items {
Trident::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::TropicalFish => {
+ EntityKind::TropicalFish => {
for d in items {
TropicalFish::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Turtle => {
+ EntityKind::Turtle => {
for d in items {
Turtle::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Vex => {
+ EntityKind::Vex => {
for d in items {
Vex::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Villager => {
+ EntityKind::Villager => {
for d in items {
Villager::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Vindicator => {
+ EntityKind::Vindicator => {
for d in items {
Vindicator::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::WanderingTrader => {
+ EntityKind::WanderingTrader => {
for d in items {
WanderingTrader::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Warden => {
+ EntityKind::Warden => {
for d in items {
Warden::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::WindCharge => {
+ EntityKind::WindCharge => {
for d in items {
WindCharge::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Witch => {
+ EntityKind::Witch => {
for d in items {
Witch::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Wither => {
+ EntityKind::Wither => {
for d in items {
Wither::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::WitherSkeleton => {
+ EntityKind::WitherSkeleton => {
for d in items {
WitherSkeleton::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::WitherSkull => {
+ EntityKind::WitherSkull => {
for d in items {
WitherSkull::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Wolf => {
+ EntityKind::Wolf => {
for d in items {
Wolf::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Zoglin => {
+ EntityKind::Zoglin => {
for d in items {
Zoglin::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::Zombie => {
+ EntityKind::Zombie => {
for d in items {
Zombie::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ZombieHorse => {
+ EntityKind::ZombieHorse => {
for d in items {
ZombieHorse::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ZombieNautilus => {
+ EntityKind::ZombieNautilus => {
for d in items {
ZombieNautilus::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ZombieVillager => {
+ EntityKind::ZombieVillager => {
for d in items {
ZombieVillager::apply_metadata(entity, d)?;
}
}
- azalea_registry::EntityKind::ZombifiedPiglin => {
+ EntityKind::ZombifiedPiglin => {
for d in items {
ZombifiedPiglin::apply_metadata(entity, d)?;
}
@@ -13932,480 +13932,477 @@ pub fn apply_metadata(
Ok(())
}
-pub fn apply_default_metadata(
- entity: &mut bevy_ecs::system::EntityCommands,
- kind: azalea_registry::EntityKind,
-) {
+pub fn apply_default_metadata(entity: &mut bevy_ecs::system::EntityCommands, kind: EntityKind) {
match kind {
- azalea_registry::EntityKind::AcaciaBoat => {
+ EntityKind::AcaciaBoat => {
entity.insert(AcaciaBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::AcaciaChestBoat => {
+ EntityKind::AcaciaChestBoat => {
entity.insert(AcaciaChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Allay => {
+ EntityKind::Allay => {
entity.insert(AllayMetadataBundle::default());
}
- azalea_registry::EntityKind::AreaEffectCloud => {
+ EntityKind::AreaEffectCloud => {
entity.insert(AreaEffectCloudMetadataBundle::default());
}
- azalea_registry::EntityKind::Armadillo => {
+ EntityKind::Armadillo => {
entity.insert(ArmadilloMetadataBundle::default());
}
- azalea_registry::EntityKind::ArmorStand => {
+ EntityKind::ArmorStand => {
entity.insert(ArmorStandMetadataBundle::default());
}
- azalea_registry::EntityKind::Arrow => {
+ EntityKind::Arrow => {
entity.insert(ArrowMetadataBundle::default());
}
- azalea_registry::EntityKind::Axolotl => {
+ EntityKind::Axolotl => {
entity.insert(AxolotlMetadataBundle::default());
}
- azalea_registry::EntityKind::BambooChestRaft => {
+ EntityKind::BambooChestRaft => {
entity.insert(BambooChestRaftMetadataBundle::default());
}
- azalea_registry::EntityKind::BambooRaft => {
+ EntityKind::BambooRaft => {
entity.insert(BambooRaftMetadataBundle::default());
}
- azalea_registry::EntityKind::Bat => {
+ EntityKind::Bat => {
entity.insert(BatMetadataBundle::default());
}
- azalea_registry::EntityKind::Bee => {
+ EntityKind::Bee => {
entity.insert(BeeMetadataBundle::default());
}
- azalea_registry::EntityKind::BirchBoat => {
+ EntityKind::BirchBoat => {
entity.insert(BirchBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::BirchChestBoat => {
+ EntityKind::BirchChestBoat => {
entity.insert(BirchChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Blaze => {
+ EntityKind::Blaze => {
entity.insert(BlazeMetadataBundle::default());
}
- azalea_registry::EntityKind::BlockDisplay => {
+ EntityKind::BlockDisplay => {
entity.insert(BlockDisplayMetadataBundle::default());
}
- azalea_registry::EntityKind::Bogged => {
+ EntityKind::Bogged => {
entity.insert(BoggedMetadataBundle::default());
}
- azalea_registry::EntityKind::Breeze => {
+ EntityKind::Breeze => {
entity.insert(BreezeMetadataBundle::default());
}
- azalea_registry::EntityKind::BreezeWindCharge => {
+ EntityKind::BreezeWindCharge => {
entity.insert(BreezeWindChargeMetadataBundle::default());
}
- azalea_registry::EntityKind::Camel => {
+ EntityKind::Camel => {
entity.insert(CamelMetadataBundle::default());
}
- azalea_registry::EntityKind::CamelHusk => {
+ EntityKind::CamelHusk => {
entity.insert(CamelHuskMetadataBundle::default());
}
- azalea_registry::EntityKind::Cat => {
+ EntityKind::Cat => {
entity.insert(CatMetadataBundle::default());
}
- azalea_registry::EntityKind::CaveSpider => {
+ EntityKind::CaveSpider => {
entity.insert(CaveSpiderMetadataBundle::default());
}
- azalea_registry::EntityKind::CherryBoat => {
+ EntityKind::CherryBoat => {
entity.insert(CherryBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::CherryChestBoat => {
+ EntityKind::CherryChestBoat => {
entity.insert(CherryChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::ChestMinecart => {
+ EntityKind::ChestMinecart => {
entity.insert(ChestMinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::Chicken => {
+ EntityKind::Chicken => {
entity.insert(ChickenMetadataBundle::default());
}
- azalea_registry::EntityKind::Cod => {
+ EntityKind::Cod => {
entity.insert(CodMetadataBundle::default());
}
- azalea_registry::EntityKind::CommandBlockMinecart => {
+ EntityKind::CommandBlockMinecart => {
entity.insert(CommandBlockMinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::CopperGolem => {
+ EntityKind::CopperGolem => {
entity.insert(CopperGolemMetadataBundle::default());
}
- azalea_registry::EntityKind::Cow => {
+ EntityKind::Cow => {
entity.insert(CowMetadataBundle::default());
}
- azalea_registry::EntityKind::Creaking => {
+ EntityKind::Creaking => {
entity.insert(CreakingMetadataBundle::default());
}
- azalea_registry::EntityKind::Creeper => {
+ EntityKind::Creeper => {
entity.insert(CreeperMetadataBundle::default());
}
- azalea_registry::EntityKind::DarkOakBoat => {
+ EntityKind::DarkOakBoat => {
entity.insert(DarkOakBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::DarkOakChestBoat => {
+ EntityKind::DarkOakChestBoat => {
entity.insert(DarkOakChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Dolphin => {
+ EntityKind::Dolphin => {
entity.insert(DolphinMetadataBundle::default());
}
- azalea_registry::EntityKind::Donkey => {
+ EntityKind::Donkey => {
entity.insert(DonkeyMetadataBundle::default());
}
- azalea_registry::EntityKind::DragonFireball => {
+ EntityKind::DragonFireball => {
entity.insert(DragonFireballMetadataBundle::default());
}
- azalea_registry::EntityKind::Drowned => {
+ EntityKind::Drowned => {
entity.insert(DrownedMetadataBundle::default());
}
- azalea_registry::EntityKind::Egg => {
+ EntityKind::Egg => {
entity.insert(EggMetadataBundle::default());
}
- azalea_registry::EntityKind::ElderGuardian => {
+ EntityKind::ElderGuardian => {
entity.insert(ElderGuardianMetadataBundle::default());
}
- azalea_registry::EntityKind::EndCrystal => {
+ EntityKind::EndCrystal => {
entity.insert(EndCrystalMetadataBundle::default());
}
- azalea_registry::EntityKind::EnderDragon => {
+ EntityKind::EnderDragon => {
entity.insert(EnderDragonMetadataBundle::default());
}
- azalea_registry::EntityKind::EnderPearl => {
+ EntityKind::EnderPearl => {
entity.insert(EnderPearlMetadataBundle::default());
}
- azalea_registry::EntityKind::Enderman => {
+ EntityKind::Enderman => {
entity.insert(EndermanMetadataBundle::default());
}
- azalea_registry::EntityKind::Endermite => {
+ EntityKind::Endermite => {
entity.insert(EndermiteMetadataBundle::default());
}
- azalea_registry::EntityKind::Evoker => {
+ EntityKind::Evoker => {
entity.insert(EvokerMetadataBundle::default());
}
- azalea_registry::EntityKind::EvokerFangs => {
+ EntityKind::EvokerFangs => {
entity.insert(EvokerFangsMetadataBundle::default());
}
- azalea_registry::EntityKind::ExperienceBottle => {
+ EntityKind::ExperienceBottle => {
entity.insert(ExperienceBottleMetadataBundle::default());
}
- azalea_registry::EntityKind::ExperienceOrb => {
+ EntityKind::ExperienceOrb => {
entity.insert(ExperienceOrbMetadataBundle::default());
}
- azalea_registry::EntityKind::EyeOfEnder => {
+ EntityKind::EyeOfEnder => {
entity.insert(EyeOfEnderMetadataBundle::default());
}
- azalea_registry::EntityKind::FallingBlock => {
+ EntityKind::FallingBlock => {
entity.insert(FallingBlockMetadataBundle::default());
}
- azalea_registry::EntityKind::Fireball => {
+ EntityKind::Fireball => {
entity.insert(FireballMetadataBundle::default());
}
- azalea_registry::EntityKind::FireworkRocket => {
+ EntityKind::FireworkRocket => {
entity.insert(FireworkRocketMetadataBundle::default());
}
- azalea_registry::EntityKind::FishingBobber => {
+ EntityKind::FishingBobber => {
entity.insert(FishingBobberMetadataBundle::default());
}
- azalea_registry::EntityKind::Fox => {
+ EntityKind::Fox => {
entity.insert(FoxMetadataBundle::default());
}
- azalea_registry::EntityKind::Frog => {
+ EntityKind::Frog => {
entity.insert(FrogMetadataBundle::default());
}
- azalea_registry::EntityKind::FurnaceMinecart => {
+ EntityKind::FurnaceMinecart => {
entity.insert(FurnaceMinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::Ghast => {
+ EntityKind::Ghast => {
entity.insert(GhastMetadataBundle::default());
}
- azalea_registry::EntityKind::Giant => {
+ EntityKind::Giant => {
entity.insert(GiantMetadataBundle::default());
}
- azalea_registry::EntityKind::GlowItemFrame => {
+ EntityKind::GlowItemFrame => {
entity.insert(GlowItemFrameMetadataBundle::default());
}
- azalea_registry::EntityKind::GlowSquid => {
+ EntityKind::GlowSquid => {
entity.insert(GlowSquidMetadataBundle::default());
}
- azalea_registry::EntityKind::Goat => {
+ EntityKind::Goat => {
entity.insert(GoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Guardian => {
+ EntityKind::Guardian => {
entity.insert(GuardianMetadataBundle::default());
}
- azalea_registry::EntityKind::HappyGhast => {
+ EntityKind::HappyGhast => {
entity.insert(HappyGhastMetadataBundle::default());
}
- azalea_registry::EntityKind::Hoglin => {
+ EntityKind::Hoglin => {
entity.insert(HoglinMetadataBundle::default());
}
- azalea_registry::EntityKind::HopperMinecart => {
+ EntityKind::HopperMinecart => {
entity.insert(HopperMinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::Horse => {
+ EntityKind::Horse => {
entity.insert(HorseMetadataBundle::default());
}
- azalea_registry::EntityKind::Husk => {
+ EntityKind::Husk => {
entity.insert(HuskMetadataBundle::default());
}
- azalea_registry::EntityKind::Illusioner => {
+ EntityKind::Illusioner => {
entity.insert(IllusionerMetadataBundle::default());
}
- azalea_registry::EntityKind::Interaction => {
+ EntityKind::Interaction => {
entity.insert(InteractionMetadataBundle::default());
}
- azalea_registry::EntityKind::IronGolem => {
+ EntityKind::IronGolem => {
entity.insert(IronGolemMetadataBundle::default());
}
- azalea_registry::EntityKind::Item => {
+ EntityKind::Item => {
entity.insert(ItemMetadataBundle::default());
}
- azalea_registry::EntityKind::ItemDisplay => {
+ EntityKind::ItemDisplay => {
entity.insert(ItemDisplayMetadataBundle::default());
}
- azalea_registry::EntityKind::ItemFrame => {
+ EntityKind::ItemFrame => {
entity.insert(ItemFrameMetadataBundle::default());
}
- azalea_registry::EntityKind::JungleBoat => {
+ EntityKind::JungleBoat => {
entity.insert(JungleBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::JungleChestBoat => {
+ EntityKind::JungleChestBoat => {
entity.insert(JungleChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::LeashKnot => {
+ EntityKind::LeashKnot => {
entity.insert(LeashKnotMetadataBundle::default());
}
- azalea_registry::EntityKind::LightningBolt => {
+ EntityKind::LightningBolt => {
entity.insert(LightningBoltMetadataBundle::default());
}
- azalea_registry::EntityKind::LingeringPotion => {
+ EntityKind::LingeringPotion => {
entity.insert(LingeringPotionMetadataBundle::default());
}
- azalea_registry::EntityKind::Llama => {
+ EntityKind::Llama => {
entity.insert(LlamaMetadataBundle::default());
}
- azalea_registry::EntityKind::LlamaSpit => {
+ EntityKind::LlamaSpit => {
entity.insert(LlamaSpitMetadataBundle::default());
}
- azalea_registry::EntityKind::MagmaCube => {
+ EntityKind::MagmaCube => {
entity.insert(MagmaCubeMetadataBundle::default());
}
- azalea_registry::EntityKind::MangroveBoat => {
+ EntityKind::MangroveBoat => {
entity.insert(MangroveBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::MangroveChestBoat => {
+ EntityKind::MangroveChestBoat => {
entity.insert(MangroveChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Mannequin => {
+ EntityKind::Mannequin => {
entity.insert(MannequinMetadataBundle::default());
}
- azalea_registry::EntityKind::Marker => {
+ EntityKind::Marker => {
entity.insert(MarkerMetadataBundle::default());
}
- azalea_registry::EntityKind::Minecart => {
+ EntityKind::Minecart => {
entity.insert(MinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::Mooshroom => {
+ EntityKind::Mooshroom => {
entity.insert(MooshroomMetadataBundle::default());
}
- azalea_registry::EntityKind::Mule => {
+ EntityKind::Mule => {
entity.insert(MuleMetadataBundle::default());
}
- azalea_registry::EntityKind::Nautilus => {
+ EntityKind::Nautilus => {
entity.insert(NautilusMetadataBundle::default());
}
- azalea_registry::EntityKind::OakBoat => {
+ EntityKind::OakBoat => {
entity.insert(OakBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::OakChestBoat => {
+ EntityKind::OakChestBoat => {
entity.insert(OakChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Ocelot => {
+ EntityKind::Ocelot => {
entity.insert(OcelotMetadataBundle::default());
}
- azalea_registry::EntityKind::OminousItemSpawner => {
+ EntityKind::OminousItemSpawner => {
entity.insert(OminousItemSpawnerMetadataBundle::default());
}
- azalea_registry::EntityKind::Painting => {
+ EntityKind::Painting => {
entity.insert(PaintingMetadataBundle::default());
}
- azalea_registry::EntityKind::PaleOakBoat => {
+ EntityKind::PaleOakBoat => {
entity.insert(PaleOakBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::PaleOakChestBoat => {
+ EntityKind::PaleOakChestBoat => {
entity.insert(PaleOakChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Panda => {
+ EntityKind::Panda => {
entity.insert(PandaMetadataBundle::default());
}
- azalea_registry::EntityKind::Parched => {
+ EntityKind::Parched => {
entity.insert(ParchedMetadataBundle::default());
}
- azalea_registry::EntityKind::Parrot => {
+ EntityKind::Parrot => {
entity.insert(ParrotMetadataBundle::default());
}
- azalea_registry::EntityKind::Phantom => {
+ EntityKind::Phantom => {
entity.insert(PhantomMetadataBundle::default());
}
- azalea_registry::EntityKind::Pig => {
+ EntityKind::Pig => {
entity.insert(PigMetadataBundle::default());
}
- azalea_registry::EntityKind::Piglin => {
+ EntityKind::Piglin => {
entity.insert(PiglinMetadataBundle::default());
}
- azalea_registry::EntityKind::PiglinBrute => {
+ EntityKind::PiglinBrute => {
entity.insert(PiglinBruteMetadataBundle::default());
}
- azalea_registry::EntityKind::Pillager => {
+ EntityKind::Pillager => {
entity.insert(PillagerMetadataBundle::default());
}
- azalea_registry::EntityKind::Player => {
+ EntityKind::Player => {
entity.insert(PlayerMetadataBundle::default());
}
- azalea_registry::EntityKind::PolarBear => {
+ EntityKind::PolarBear => {
entity.insert(PolarBearMetadataBundle::default());
}
- azalea_registry::EntityKind::Pufferfish => {
+ EntityKind::Pufferfish => {
entity.insert(PufferfishMetadataBundle::default());
}
- azalea_registry::EntityKind::Rabbit => {
+ EntityKind::Rabbit => {
entity.insert(RabbitMetadataBundle::default());
}
- azalea_registry::EntityKind::Ravager => {
+ EntityKind::Ravager => {
entity.insert(RavagerMetadataBundle::default());
}
- azalea_registry::EntityKind::Salmon => {
+ EntityKind::Salmon => {
entity.insert(SalmonMetadataBundle::default());
}
- azalea_registry::EntityKind::Sheep => {
+ EntityKind::Sheep => {
entity.insert(SheepMetadataBundle::default());
}
- azalea_registry::EntityKind::Shulker => {
+ EntityKind::Shulker => {
entity.insert(ShulkerMetadataBundle::default());
}
- azalea_registry::EntityKind::ShulkerBullet => {
+ EntityKind::ShulkerBullet => {
entity.insert(ShulkerBulletMetadataBundle::default());
}
- azalea_registry::EntityKind::Silverfish => {
+ EntityKind::Silverfish => {
entity.insert(SilverfishMetadataBundle::default());
}
- azalea_registry::EntityKind::Skeleton => {
+ EntityKind::Skeleton => {
entity.insert(SkeletonMetadataBundle::default());
}
- azalea_registry::EntityKind::SkeletonHorse => {
+ EntityKind::SkeletonHorse => {
entity.insert(SkeletonHorseMetadataBundle::default());
}
- azalea_registry::EntityKind::Slime => {
+ EntityKind::Slime => {
entity.insert(SlimeMetadataBundle::default());
}
- azalea_registry::EntityKind::SmallFireball => {
+ EntityKind::SmallFireball => {
entity.insert(SmallFireballMetadataBundle::default());
}
- azalea_registry::EntityKind::Sniffer => {
+ EntityKind::Sniffer => {
entity.insert(SnifferMetadataBundle::default());
}
- azalea_registry::EntityKind::SnowGolem => {
+ EntityKind::SnowGolem => {
entity.insert(SnowGolemMetadataBundle::default());
}
- azalea_registry::EntityKind::Snowball => {
+ EntityKind::Snowball => {
entity.insert(SnowballMetadataBundle::default());
}
- azalea_registry::EntityKind::SpawnerMinecart => {
+ EntityKind::SpawnerMinecart => {
entity.insert(SpawnerMinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::SpectralArrow => {
+ EntityKind::SpectralArrow => {
entity.insert(SpectralArrowMetadataBundle::default());
}
- azalea_registry::EntityKind::Spider => {
+ EntityKind::Spider => {
entity.insert(SpiderMetadataBundle::default());
}
- azalea_registry::EntityKind::SplashPotion => {
+ EntityKind::SplashPotion => {
entity.insert(SplashPotionMetadataBundle::default());
}
- azalea_registry::EntityKind::SpruceBoat => {
+ EntityKind::SpruceBoat => {
entity.insert(SpruceBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::SpruceChestBoat => {
+ EntityKind::SpruceChestBoat => {
entity.insert(SpruceChestBoatMetadataBundle::default());
}
- azalea_registry::EntityKind::Squid => {
+ EntityKind::Squid => {
entity.insert(SquidMetadataBundle::default());
}
- azalea_registry::EntityKind::Stray => {
+ EntityKind::Stray => {
entity.insert(StrayMetadataBundle::default());
}
- azalea_registry::EntityKind::Strider => {
+ EntityKind::Strider => {
entity.insert(StriderMetadataBundle::default());
}
- azalea_registry::EntityKind::Tadpole => {
+ EntityKind::Tadpole => {
entity.insert(TadpoleMetadataBundle::default());
}
- azalea_registry::EntityKind::TextDisplay => {
+ EntityKind::TextDisplay => {
entity.insert(TextDisplayMetadataBundle::default());
}
- azalea_registry::EntityKind::Tnt => {
+ EntityKind::Tnt => {
entity.insert(TntMetadataBundle::default());
}
- azalea_registry::EntityKind::TntMinecart => {
+ EntityKind::TntMinecart => {
entity.insert(TntMinecartMetadataBundle::default());
}
- azalea_registry::EntityKind::TraderLlama => {
+ EntityKind::TraderLlama => {
entity.insert(TraderLlamaMetadataBundle::default());
}
- azalea_registry::EntityKind::Trident => {
+ EntityKind::Trident => {
entity.insert(TridentMetadataBundle::default());
}
- azalea_registry::EntityKind::TropicalFish => {
+ EntityKind::TropicalFish => {
entity.insert(TropicalFishMetadataBundle::default());
}
- azalea_registry::EntityKind::Turtle => {
+ EntityKind::Turtle => {
entity.insert(TurtleMetadataBundle::default());
}
- azalea_registry::EntityKind::Vex => {
+ EntityKind::Vex => {
entity.insert(VexMetadataBundle::default());
}
- azalea_registry::EntityKind::Villager => {
+ EntityKind::Villager => {
entity.insert(VillagerMetadataBundle::default());
}
- azalea_registry::EntityKind::Vindicator => {
+ EntityKind::Vindicator => {
entity.insert(VindicatorMetadataBundle::default());
}
- azalea_registry::EntityKind::WanderingTrader => {
+ EntityKind::WanderingTrader => {
entity.insert(WanderingTraderMetadataBundle::default());
}
- azalea_registry::EntityKind::Warden => {
+ EntityKind::Warden => {
entity.insert(WardenMetadataBundle::default());
}
- azalea_registry::EntityKind::WindCharge => {
+ EntityKind::WindCharge => {
entity.insert(WindChargeMetadataBundle::default());
}
- azalea_registry::EntityKind::Witch => {
+ EntityKind::Witch => {
entity.insert(WitchMetadataBundle::default());
}
- azalea_registry::EntityKind::Wither => {
+ EntityKind::Wither => {
entity.insert(WitherMetadataBundle::default());
}
- azalea_registry::EntityKind::WitherSkeleton => {
+ EntityKind::WitherSkeleton => {
entity.insert(WitherSkeletonMetadataBundle::default());
}
- azalea_registry::EntityKind::WitherSkull => {
+ EntityKind::WitherSkull => {
entity.insert(WitherSkullMetadataBundle::default());
}
- azalea_registry::EntityKind::Wolf => {
+ EntityKind::Wolf => {
entity.insert(WolfMetadataBundle::default());
}
- azalea_registry::EntityKind::Zoglin => {
+ EntityKind::Zoglin => {
entity.insert(ZoglinMetadataBundle::default());
}
- azalea_registry::EntityKind::Zombie => {
+ EntityKind::Zombie => {
entity.insert(ZombieMetadataBundle::default());
}
- azalea_registry::EntityKind::ZombieHorse => {
+ EntityKind::ZombieHorse => {
entity.insert(ZombieHorseMetadataBundle::default());
}
- azalea_registry::EntityKind::ZombieNautilus => {
+ EntityKind::ZombieNautilus => {
entity.insert(ZombieNautilusMetadataBundle::default());
}
- azalea_registry::EntityKind::ZombieVillager => {
+ EntityKind::ZombieVillager => {
entity.insert(ZombieVillagerMetadataBundle::default());
}
- azalea_registry::EntityKind::ZombifiedPiglin => {
+ EntityKind::ZombifiedPiglin => {
entity.insert(ZombifiedPiglinMetadataBundle::default());
}
}
diff --git a/azalea-entity/src/mining.rs b/azalea-entity/src/mining.rs
index b387367f..bda75bd9 100644
--- a/azalea-entity/src/mining.rs
+++ b/azalea-entity/src/mining.rs
@@ -1,6 +1,9 @@
use azalea_block::{BlockBehavior, BlockTrait};
use azalea_core::tier::get_item_tier;
-use azalea_registry::{self as registry, MobEffect};
+use azalea_registry::{
+ builtin::{BlockKind, ItemKind, MobEffect},
+ tags,
+};
use crate::{ActiveEffects, Attributes, FluidOnEyes, Physics};
@@ -16,7 +19,7 @@ use crate::{ActiveEffects, Attributes, FluidOnEyes, Physics};
/// to your mining speed.
pub fn get_mine_progress(
block: &dyn BlockTrait,
- held_item: registry::Item,
+ held_item: ItemKind,
fluid_on_eyes: &FluidOnEyes,
physics: &Physics,
attributes: &Attributes,
@@ -45,30 +48,28 @@ pub fn get_mine_progress(
(base_destroy_speed / destroy_time) / divisor as f32
}
-fn has_correct_tool_for_drops(block: &dyn BlockTrait, tool: registry::Item) -> bool {
+fn has_correct_tool_for_drops(block: &dyn BlockTrait, tool: ItemKind) -> bool {
if !block.behavior().requires_correct_tool_for_drops {
return true;
}
let registry_block = block.as_registry_block();
- if tool == registry::Item::Shears {
+ if tool == ItemKind::Shears {
matches!(
registry_block,
- registry::Block::Cobweb | registry::Block::RedstoneWire | registry::Block::Tripwire
+ BlockKind::Cobweb | BlockKind::RedstoneWire | BlockKind::Tripwire
)
- } else if registry::tags::items::SWORDS.contains(&tool) {
- registry_block == registry::Block::Cobweb
- } else if registry::tags::items::PICKAXES.contains(&tool)
- || registry::tags::items::SHOVELS.contains(&tool)
- || registry::tags::items::HOES.contains(&tool)
- || registry::tags::items::AXES.contains(&tool)
+ } else if tags::items::SWORDS.contains(&tool) {
+ registry_block == BlockKind::Cobweb
+ } else if tags::items::PICKAXES.contains(&tool)
+ || tags::items::SHOVELS.contains(&tool)
+ || tags::items::HOES.contains(&tool)
+ || tags::items::AXES.contains(&tool)
{
let tier = get_item_tier(tool).expect("all pickaxes and shovels should be matched");
let tier_level = tier.level();
- !((tier_level < 3 && registry::tags::blocks::NEEDS_DIAMOND_TOOL.contains(&registry_block))
- || (tier_level < 2
- && registry::tags::blocks::NEEDS_IRON_TOOL.contains(&registry_block))
- || (tier_level < 1
- && registry::tags::blocks::NEEDS_STONE_TOOL.contains(&registry_block)))
+ !((tier_level < 3 && tags::blocks::NEEDS_DIAMOND_TOOL.contains(&registry_block))
+ || (tier_level < 2 && tags::blocks::NEEDS_IRON_TOOL.contains(&registry_block))
+ || (tier_level < 1 && tags::blocks::NEEDS_STONE_TOOL.contains(&registry_block)))
} else {
false
}
@@ -77,10 +78,11 @@ fn has_correct_tool_for_drops(block: &dyn BlockTrait, tool: registry::Item) -> b
/// Returns the destroy speed of the given block with the given tool, taking
/// enchantments and effects into account.
///
-/// If the player is not holding anything, then `tool` should be `Item::Air`.
+/// If the player is not holding anything, then `tool` should be
+/// `ItemKind::Air`.
fn destroy_speed(
- block: registry::Block,
- tool: registry::Item,
+ block: BlockKind,
+ tool: ItemKind,
_fluid_on_eyes: &FluidOnEyes,
physics: &Physics,
attributes: &Attributes,
@@ -122,45 +124,45 @@ fn destroy_speed(
base_destroy_speed
}
-fn base_destroy_speed(block: registry::Block, tool: registry::Item) -> f32 {
- if tool == registry::Item::Shears {
- if block == registry::Block::Cobweb || registry::tags::blocks::LEAVES.contains(&block) {
+fn base_destroy_speed(block: BlockKind, tool: ItemKind) -> f32 {
+ if tool == ItemKind::Shears {
+ if block == BlockKind::Cobweb || tags::blocks::LEAVES.contains(&block) {
15.
- } else if registry::tags::blocks::WOOL.contains(&block) {
+ } else if tags::blocks::WOOL.contains(&block) {
5.
- } else if matches!(block, registry::Block::Vine | registry::Block::GlowLichen) {
+ } else if matches!(block, BlockKind::Vine | BlockKind::GlowLichen) {
2.
} else {
1.
}
- } else if registry::tags::items::SWORDS.contains(&tool) {
- if block == registry::Block::Cobweb {
+ } else if tags::items::SWORDS.contains(&tool) {
+ if block == BlockKind::Cobweb {
15.
- } else if registry::tags::blocks::SWORD_EFFICIENT.contains(&block) {
+ } else if tags::blocks::SWORD_EFFICIENT.contains(&block) {
1.5
} else {
1.
}
- } else if registry::tags::items::PICKAXES.contains(&tool) {
- if registry::tags::blocks::MINEABLE_PICKAXE.contains(&block) {
+ } else if tags::items::PICKAXES.contains(&tool) {
+ if tags::blocks::MINEABLE_PICKAXE.contains(&block) {
get_item_tier(tool).unwrap().speed()
} else {
1.
}
- } else if registry::tags::items::SHOVELS.contains(&tool) {
- if registry::tags::blocks::MINEABLE_SHOVEL.contains(&block) {
+ } else if tags::items::SHOVELS.contains(&tool) {
+ if tags::blocks::MINEABLE_SHOVEL.contains(&block) {
get_item_tier(tool).unwrap().speed()
} else {
1.
}
- } else if registry::tags::items::HOES.contains(&tool) {
- if registry::tags::blocks::MINEABLE_HOE.contains(&block) {
+ } else if tags::items::HOES.contains(&tool) {
+ if tags::blocks::MINEABLE_HOE.contains(&block) {
get_item_tier(tool).unwrap().speed()
} else {
1.
}
- } else if registry::tags::items::AXES.contains(&tool) {
- if registry::tags::blocks::MINEABLE_AXE.contains(&block) {
+ } else if tags::items::AXES.contains(&tool) {
+ if tags::blocks::MINEABLE_AXE.contains(&block) {
get_item_tier(tool).unwrap().speed()
} else {
1.
diff --git a/azalea-entity/src/particle.rs b/azalea-entity/src/particle.rs
index 5b7bb6af..41977d9f 100644
--- a/azalea-entity/src/particle.rs
+++ b/azalea-entity/src/particle.rs
@@ -2,7 +2,7 @@ use azalea_block::BlockState;
use azalea_buf::AzBuf;
use azalea_core::{color::RgbColor, position::BlockPos};
use azalea_inventory::ItemStack;
-use azalea_registry::ParticleKind;
+use azalea_registry::builtin::ParticleKind;
use azalea_world::MinecraftEntityId;
use bevy_ecs::component::Component;
diff --git a/azalea-entity/src/plugin/mod.rs b/azalea-entity/src/plugin/mod.rs
index a3ea11d0..4ff6f4cd 100644
--- a/azalea-entity/src/plugin/mod.rs
+++ b/azalea-entity/src/plugin/mod.rs
@@ -3,11 +3,12 @@ mod relative_updates;
use std::collections::HashSet;
-use azalea_block::{BlockState, fluid_state::FluidKind};
+use azalea_block::{BlockState, BlockTrait, fluid_state::FluidKind, properties};
use azalea_core::{
position::{BlockPos, ChunkPos, Vec3},
tick::GameTick,
};
+use azalea_registry::{builtin::BlockKind, tags};
use azalea_world::{InstanceContainer, InstanceName, MinecraftEntityId};
use bevy_app::{App, Plugin, PostUpdate, Update};
use bevy_ecs::prelude::*;
@@ -143,11 +144,11 @@ pub fn update_on_climbable(
let block_pos = BlockPos::from(position);
let block_state_at_feet = instance.get_block_state(block_pos).unwrap_or_default();
- let block_at_feet = Box::<dyn azalea_block::BlockTrait>::from(block_state_at_feet);
+ let block_at_feet = Box::<dyn BlockTrait>::from(block_state_at_feet);
let registry_block_at_feet = block_at_feet.as_registry_block();
- **on_climbable = azalea_registry::tags::blocks::CLIMBABLE.contains(&registry_block_at_feet)
- || (azalea_registry::tags::blocks::TRAPDOORS.contains(&registry_block_at_feet)
+ **on_climbable = tags::blocks::CLIMBABLE.contains(&registry_block_at_feet)
+ || (tags::blocks::TRAPDOORS.contains(&registry_block_at_feet)
&& is_trapdoor_useable_as_ladder(block_state_at_feet, block_pos, &instance));
}
}
@@ -159,7 +160,7 @@ fn is_trapdoor_useable_as_ladder(
) -> bool {
// trapdoor must be open
if !block_state
- .property::<azalea_block::properties::Open>()
+ .property::<properties::Open>()
.unwrap_or_default()
{
return false;
@@ -169,17 +170,16 @@ fn is_trapdoor_useable_as_ladder(
let block_below = instance
.get_block_state(block_pos.down(1))
.unwrap_or_default();
- let registry_block_below =
- Box::<dyn azalea_block::BlockTrait>::from(block_below).as_registry_block();
- if registry_block_below != azalea_registry::Block::Ladder {
+ let registry_block_below = Box::<dyn BlockTrait>::from(block_below).as_registry_block();
+ if registry_block_below != BlockKind::Ladder {
return false;
}
// and the ladder must be facing the same direction as the trapdoor
let ladder_facing = block_below
- .property::<azalea_block::properties::FacingCardinal>()
+ .property::<properties::FacingCardinal>()
.expect("ladder block must have facing property");
let trapdoor_facing = block_state
- .property::<azalea_block::properties::FacingCardinal>()
+ .property::<properties::FacingCardinal>()
.expect("trapdoor block must have facing property");
if ladder_facing != trapdoor_facing {
return false;
@@ -292,6 +292,7 @@ mod tests {
properties::{FacingCardinal, TopBottom},
};
use azalea_core::position::{BlockPos, ChunkPos};
+ use azalea_registry::builtin::BlockKind;
use azalea_world::{Chunk, ChunkStorage, Instance, PartialInstance};
use super::is_trapdoor_useable_as_ladder;
@@ -307,7 +308,7 @@ mod tests {
);
partial_instance.chunks.set_block_state(
BlockPos::new(0, 0, 0),
- azalea_registry::Block::Stone.into(),
+ BlockKind::Stone.into(),
&chunks,
);
diff --git a/azalea-inventory/azalea-inventory-macros/src/menu_impl.rs b/azalea-inventory/azalea-inventory-macros/src/menu_impl.rs
index 1540fdff..1b017d17 100644
--- a/azalea-inventory/azalea-inventory-macros/src/menu_impl.rs
+++ b/azalea-inventory/azalea-inventory-macros/src/menu_impl.rs
@@ -138,7 +138,7 @@ pub fn generate(input: &DeclareMenus) -> TokenStream {
}
}
- pub fn from_kind(kind: azalea_registry::MenuKind) -> Self {
+ pub fn from_kind(kind: azalea_registry::builtin::MenuKind) -> Self {
match kind {
#kind_match_variants
}
@@ -275,8 +275,8 @@ pub fn generate_match_variant_for_len(menu: &Menu) -> TokenStream {
}
pub fn generate_match_variant_for_kind(menu: &Menu) -> TokenStream {
- // azalea_registry::MenuKind::Generic9x3 => Menu::Generic9x3 { contents:
- // Default::default(), player: Default::default() },
+ // azalea_registry::builtin::MenuKind::Generic9x3 => Menu::Generic9x3 {
+ // contents: Default::default(), player: Default::default() },
let menu_name = &menu.name;
let menu_field_names = if menu.name == "Player" {
@@ -292,7 +292,7 @@ pub fn generate_match_variant_for_kind(menu: &Menu) -> TokenStream {
};
quote! {
- azalea_registry::MenuKind::#menu_name => Menu::#menu_name #menu_field_names,
+ azalea_registry::builtin::MenuKind::#menu_name => Menu::#menu_name #menu_field_names,
}
}
diff --git a/azalea-inventory/src/components/mod.rs b/azalea-inventory/src/components/mod.rs
index 87d4256b..a344b5b3 100644
--- a/azalea-inventory/src/components/mod.rs
+++ b/azalea-inventory/src/components/mod.rs
@@ -16,17 +16,21 @@ use azalea_core::{
checksum::{Checksum, get_checksum},
codec_utils::*,
filterable::Filterable,
- identifier::Identifier,
position::GlobalPos,
registry_holder::{RegistryHolder, dimension_type::DamageTypeElement},
sound::CustomSound,
};
use azalea_registry::{
- self as registry, Attribute, Block, DamageKind, DataComponentKind, Enchantment, EntityKind,
- Holder, HolderSet, Item, MobEffect, Potion, SoundEvent, TrimMaterial, TrimPattern,
+ Holder, HolderSet,
+ builtin::{
+ Attribute, BlockKind, DataComponentKind, EntityKind, ItemKind, MobEffect, Potion,
+ SoundEvent, VillagerKind,
+ },
+ data::{self, DamageKind, Enchantment, JukeboxSong, TrimMaterial, TrimPattern},
+ identifier::Identifier,
};
pub use profile::*;
-use serde::{Serialize, ser::SerializeMap};
+use serde::{Serialize, Serializer, ser::SerializeMap};
use simdnbt::owned::{Nbt, NbtCompound};
use tracing::trace;
@@ -383,7 +387,7 @@ pub struct BlockStatePropertyMatcher {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
pub struct BlockPredicate {
#[serde(skip_serializing_if = "is_default")]
- pub blocks: Option<HolderSet<Block, Identifier>>,
+ pub blocks: Option<HolderSet<BlockKind, Identifier>>,
#[serde(skip_serializing_if = "is_default")]
pub properties: Option<Vec<BlockStatePropertyMatcher>>,
#[serde(skip_serializing_if = "is_default")]
@@ -561,7 +565,7 @@ impl Food {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
pub struct ToolRule {
- pub blocks: HolderSet<Block, Identifier>,
+ pub blocks: HolderSet<BlockKind, Identifier>,
#[serde(skip_serializing_if = "is_default")]
pub speed: Option<f32>,
#[serde(skip_serializing_if = "is_default")]
@@ -760,8 +764,8 @@ pub struct BlockEntityData {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(untagged)]
pub enum Instrument {
- Registry(registry::Instrument),
- Holder(Holder<registry::Instrument, InstrumentData>),
+ Registry(data::Instrument),
+ Holder(Holder<data::Instrument, InstrumentData>),
}
#[derive(Clone, PartialEq, Debug, AzBuf, Serialize)]
@@ -889,7 +893,7 @@ pub struct BaseColor {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct PotDecorations {
- pub items: Vec<Item>,
+ pub items: Vec<ItemKind>,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -934,7 +938,7 @@ pub struct ContainerLoot {
#[serde(untagged)]
pub enum JukeboxPlayable {
Referenced(Identifier),
- Direct(Holder<registry::JukeboxSong, JukeboxSongData>),
+ Direct(Holder<JukeboxSong, JukeboxSongData>),
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -990,7 +994,7 @@ pub enum ItemUseAnimation {
None,
Eat,
Drink,
- Block,
+ BlockKind,
Bow,
Spear,
Crossbow,
@@ -1034,7 +1038,7 @@ pub struct Enchantable {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
pub struct Repairable {
- pub items: HolderSet<Item, Identifier>,
+ pub items: HolderSet<ItemKind, Identifier>,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -1212,13 +1216,13 @@ pub struct PotionDurationScale {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct VillagerVariant {
- pub variant: registry::VillagerKind,
+ pub variant: VillagerKind,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct WolfVariant {
- pub variant: registry::WolfVariant,
+ pub variant: data::WolfVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -1230,7 +1234,30 @@ pub struct WolfCollar {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct FoxVariant {
- pub variant: registry::FoxVariant,
+ pub variant: FoxVariantKind,
+}
+
+#[derive(Default, AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum FoxVariantKind {
+ #[default]
+ Red,
+ Snow,
+}
+impl Display for FoxVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::Red => write!(f, "minecraft:red"),
+ Self::Snow => write!(f, "minecraft:snow"),
+ }
+ }
+}
+impl Serialize for FoxVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, Copy, PartialEq, AzBuf, Debug, Serialize)]
@@ -1244,7 +1271,34 @@ pub enum SalmonSize {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct ParrotVariant {
- pub variant: registry::ParrotVariant,
+ pub variant: ParrotVariantKind,
+}
+#[derive(AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum ParrotVariantKind {
+ RedBlue,
+ Blue,
+ Green,
+ YellowBlue,
+ Gray,
+}
+impl Display for ParrotVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::RedBlue => write!(f, "minecraft:red_blue"),
+ Self::Blue => write!(f, "minecraft:blue"),
+ Self::Green => write!(f, "minecraft:green"),
+ Self::YellowBlue => write!(f, "minecraft:yellow_blue"),
+ Self::Gray => write!(f, "minecraft:gray"),
+ }
+ }
+}
+impl Serialize for ParrotVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, Copy, PartialEq, AzBuf, Debug, Serialize)]
@@ -1279,37 +1333,123 @@ pub struct TropicalFishPatternColor {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct MooshroomVariant {
- pub variant: registry::MooshroomVariant,
+ pub variant: MooshroomVariantKind,
+}
+#[derive(Default, AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum MooshroomVariantKind {
+ #[default]
+ Red,
+ Brown,
+}
+impl Display for MooshroomVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::Red => write!(f, "minecraft:red"),
+ Self::Brown => write!(f, "minecraft:brown"),
+ }
+ }
+}
+impl Serialize for MooshroomVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct RabbitVariant {
- pub variant: registry::RabbitVariant,
+ pub variant: RabbitVariantKind,
+}
+#[derive(Default, AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum RabbitVariantKind {
+ #[default]
+ Brown,
+ White,
+ Black,
+ WhiteSplotched,
+ Gold,
+ Salt,
+ Evil,
+}
+impl Display for RabbitVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::Brown => write!(f, "minecraft:brown"),
+ Self::White => write!(f, "minecraft:white"),
+ Self::Black => write!(f, "minecraft:black"),
+ Self::WhiteSplotched => write!(f, "minecraft:white_splotched"),
+ Self::Gold => write!(f, "minecraft:gold"),
+ Self::Salt => write!(f, "minecraft:salt"),
+ Self::Evil => write!(f, "minecraft:evil"),
+ }
+ }
+}
+impl Serialize for RabbitVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct PigVariant {
- pub variant: registry::PigVariant,
+ pub variant: data::PigVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct FrogVariant {
- pub variant: registry::FrogVariant,
+ pub variant: data::FrogVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct HorseVariant {
- pub variant: registry::HorseVariant,
+ pub variant: HorseVariantKind,
+}
+#[derive(Default, AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum HorseVariantKind {
+ #[default]
+ White,
+ Creamy,
+ Chestnut,
+ Brown,
+ Black,
+ Gray,
+ DarkBrown,
+}
+impl Display for HorseVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::White => write!(f, "minecraft:white"),
+ Self::Creamy => write!(f, "minecraft:creamy"),
+ Self::Chestnut => write!(f, "minecraft:chestnut"),
+ Self::Brown => write!(f, "minecraft:brown"),
+ Self::Black => write!(f, "minecraft:black"),
+ Self::Gray => write!(f, "minecraft:gray"),
+ Self::DarkBrown => write!(f, "minecraft:dark_brown"),
+ }
+ }
+}
+impl Serialize for HorseVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct PaintingVariant {
- pub variant: Holder<registry::PaintingVariant, PaintingVariantData>,
+ pub variant: Holder<data::PaintingVariant, PaintingVariantData>,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -1328,19 +1468,73 @@ pub struct PaintingVariantData {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct LlamaVariant {
- pub variant: registry::LlamaVariant,
+ pub variant: LlamaVariantKind,
+}
+#[derive(Default, AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum LlamaVariantKind {
+ #[default]
+ Creamy,
+ White,
+ Brown,
+ Gray,
+}
+impl Display for LlamaVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::Creamy => write!(f, "minecraft:creamy"),
+ Self::White => write!(f, "minecraft:white"),
+ Self::Brown => write!(f, "minecraft:brown"),
+ Self::Gray => write!(f, "minecraft:gray"),
+ }
+ }
+}
+impl Serialize for LlamaVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct AxolotlVariant {
- pub variant: registry::AxolotlVariant,
+ pub variant: AxolotlVariantKind,
+}
+#[derive(Default, AzBuf, Clone, Copy, Debug, PartialEq)]
+pub enum AxolotlVariantKind {
+ #[default]
+ Lucy,
+ Wild,
+ Gold,
+ Cyan,
+ Blue,
+}
+impl Display for AxolotlVariantKind {
+ fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
+ match self {
+ Self::Lucy => write!(f, "minecraft:lucy"),
+ Self::Wild => write!(f, "minecraft:wild"),
+ Self::Gold => write!(f, "minecraft:gold"),
+ Self::Cyan => write!(f, "minecraft:cyan"),
+ Self::Blue => write!(f, "minecraft:blue"),
+ }
+ }
+}
+impl Serialize for AxolotlVariantKind {
+ fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
+ where
+ S: Serializer,
+ {
+ serializer.serialize_str(&self.to_string())
+ }
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct CatVariant {
- pub variant: registry::CatVariant,
+ pub variant: data::CatVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -1495,13 +1689,13 @@ pub struct BreakSound {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct WolfSoundVariant {
- pub variant: azalea_registry::WolfSoundVariant,
+ pub variant: azalea_registry::data::WolfSoundVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct CowVariant {
- pub variant: azalea_registry::CowVariant,
+ pub variant: azalea_registry::data::CowVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -1513,7 +1707,7 @@ pub enum ChickenVariant {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
pub struct ChickenVariantData {
- pub registry: azalea_registry::ChickenVariant,
+ pub registry: azalea_registry::data::ChickenVariant,
}
// TODO: check in-game if this is correct
@@ -1525,7 +1719,7 @@ pub enum ZombieNautilusVariant {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(transparent)]
pub struct ZombieNautilusVariantData {
- pub value: azalea_registry::ZombieNautilusVariant,
+ pub value: azalea_registry::data::ZombieNautilusVariant,
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
@@ -1559,8 +1753,8 @@ pub struct MinimumAttackCharge {
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
#[serde(untagged)]
pub enum DamageType {
- Registry(registry::DamageKind),
- Holder(Holder<registry::DamageKind, DamageTypeElement>),
+ Registry(DamageKind),
+ Holder(Holder<DamageKind, DamageTypeElement>),
}
#[derive(Clone, PartialEq, AzBuf, Debug, Serialize)]
diff --git a/azalea-inventory/src/components/profile.rs b/azalea-inventory/src/components/profile.rs
index 153b43d3..11b0e6e1 100644
--- a/azalea-inventory/src/components/profile.rs
+++ b/azalea-inventory/src/components/profile.rs
@@ -2,7 +2,8 @@ use azalea_auth::game_profile::{
GameProfile, GameProfileProperties, SerializableProfileProperties,
};
use azalea_buf::AzBuf;
-use azalea_core::{codec_utils::*, identifier::Identifier};
+use azalea_core::codec_utils::*;
+use azalea_registry::identifier::Identifier;
use serde::{Serialize, Serializer};
use uuid::Uuid;
diff --git a/azalea-inventory/src/default_components/generated.rs b/azalea-inventory/src/default_components/generated.rs
index 11f8d160..290cb431 100644
--- a/azalea-inventory/src/default_components/generated.rs
+++ b/azalea-inventory/src/default_components/generated.rs
@@ -8,7 +8,9 @@ use std::collections::HashMap;
use azalea_chat::translatable_component::TranslatableComponent;
use azalea_core::attribute_modifier_operation::AttributeModifierOperation;
use azalea_registry::{
- Attribute, Block, DataRegistry, EntityKind, HolderSet, Item, MobEffect, SoundEvent,
+ DataRegistry, HolderSet,
+ builtin::{Attribute, BlockKind, EntityKind, ItemKind, MobEffect, SoundEvent},
+ data,
};
use simdnbt::owned::NbtCompound;
@@ -18,9 +20,9 @@ use crate::{
};
impl DefaultableComponent for AttributeModifiers {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CarvedPumpkin => vec![AttributeModifiersEntry {
+ ItemKind::CarvedPumpkin => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -30,7 +32,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::ChainmailBoots => vec![
+ ItemKind::ChainmailBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -52,7 +54,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::ChainmailChestplate => vec![
+ ItemKind::ChainmailChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -74,7 +76,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::ChainmailHelmet => vec![
+ ItemKind::ChainmailHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -96,7 +98,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::ChainmailLeggings => vec![
+ ItemKind::ChainmailLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -118,7 +120,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperAxe => vec![
+ ItemKind::CopperAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -140,7 +142,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperBoots => vec![
+ ItemKind::CopperBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -162,7 +164,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperChestplate => vec![
+ ItemKind::CopperChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -184,7 +186,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperHelmet => vec![
+ ItemKind::CopperHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -206,7 +208,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperHoe => vec![
+ ItemKind::CopperHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -228,7 +230,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperHorseArmor => vec![
+ ItemKind::CopperHorseArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -250,7 +252,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperLeggings => vec![
+ ItemKind::CopperLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -272,7 +274,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperNautilusArmor => vec![
+ ItemKind::CopperNautilusArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -294,7 +296,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperPickaxe => vec![
+ ItemKind::CopperPickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -316,7 +318,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperShovel => vec![
+ ItemKind::CopperShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -338,7 +340,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperSpear => vec![
+ ItemKind::CopperSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -360,7 +362,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CopperSword => vec![
+ ItemKind::CopperSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -382,7 +384,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::CreeperHead => vec![AttributeModifiersEntry {
+ ItemKind::CreeperHead => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -392,7 +394,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::DiamondAxe => vec![
+ ItemKind::DiamondAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -414,7 +416,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondBoots => vec![
+ ItemKind::DiamondBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -436,7 +438,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondChestplate => vec![
+ ItemKind::DiamondChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -458,7 +460,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondHelmet => vec![
+ ItemKind::DiamondHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -480,7 +482,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondHoe => vec![
+ ItemKind::DiamondHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -502,7 +504,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondHorseArmor => vec![
+ ItemKind::DiamondHorseArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -524,7 +526,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondLeggings => vec![
+ ItemKind::DiamondLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -546,7 +548,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondNautilusArmor => vec![
+ ItemKind::DiamondNautilusArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -568,7 +570,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondPickaxe => vec![
+ ItemKind::DiamondPickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -590,7 +592,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondShovel => vec![
+ ItemKind::DiamondShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -612,7 +614,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondSpear => vec![
+ ItemKind::DiamondSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -634,7 +636,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DiamondSword => vec![
+ ItemKind::DiamondSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -656,7 +658,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::DragonHead => vec![AttributeModifiersEntry {
+ ItemKind::DragonHead => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -666,7 +668,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::GoldenAxe => vec![
+ ItemKind::GoldenAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -688,7 +690,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenBoots => vec![
+ ItemKind::GoldenBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -710,7 +712,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenChestplate => vec![
+ ItemKind::GoldenChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -732,7 +734,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenHelmet => vec![
+ ItemKind::GoldenHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -754,7 +756,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenHoe => vec![
+ ItemKind::GoldenHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -776,7 +778,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenHorseArmor => vec![
+ ItemKind::GoldenHorseArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -798,7 +800,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenLeggings => vec![
+ ItemKind::GoldenLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -820,7 +822,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenNautilusArmor => vec![
+ ItemKind::GoldenNautilusArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -842,7 +844,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenPickaxe => vec![
+ ItemKind::GoldenPickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -864,7 +866,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenShovel => vec![
+ ItemKind::GoldenShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -886,7 +888,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenSpear => vec![
+ ItemKind::GoldenSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -908,7 +910,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::GoldenSword => vec![
+ ItemKind::GoldenSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -930,7 +932,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronAxe => vec![
+ ItemKind::IronAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -952,7 +954,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronBoots => vec![
+ ItemKind::IronBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -974,7 +976,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronChestplate => vec![
+ ItemKind::IronChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -996,7 +998,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronHelmet => vec![
+ ItemKind::IronHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -1018,7 +1020,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronHoe => vec![
+ ItemKind::IronHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1040,7 +1042,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronHorseArmor => vec![
+ ItemKind::IronHorseArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -1062,7 +1064,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronLeggings => vec![
+ ItemKind::IronLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -1084,7 +1086,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronNautilusArmor => vec![
+ ItemKind::IronNautilusArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -1106,7 +1108,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronPickaxe => vec![
+ ItemKind::IronPickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1128,7 +1130,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronShovel => vec![
+ ItemKind::IronShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1150,7 +1152,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronSpear => vec![
+ ItemKind::IronSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1172,7 +1174,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::IronSword => vec![
+ ItemKind::IronSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1194,7 +1196,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::LeatherBoots => vec![
+ ItemKind::LeatherBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -1216,7 +1218,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::LeatherChestplate => vec![
+ ItemKind::LeatherChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -1238,7 +1240,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::LeatherHelmet => vec![
+ ItemKind::LeatherHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -1260,7 +1262,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::LeatherHorseArmor => vec![
+ ItemKind::LeatherHorseArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -1282,7 +1284,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::LeatherLeggings => vec![
+ ItemKind::LeatherLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -1304,7 +1306,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::Mace => vec![
+ ItemKind::Mace => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1326,7 +1328,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteAxe => vec![
+ ItemKind::NetheriteAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1348,7 +1350,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteBoots => vec![
+ ItemKind::NetheriteBoots => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Feet,
kind: Attribute::Armor,
@@ -1380,7 +1382,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteChestplate => vec![
+ ItemKind::NetheriteChestplate => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Chest,
kind: Attribute::Armor,
@@ -1412,7 +1414,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteHelmet => vec![
+ ItemKind::NetheriteHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -1444,7 +1446,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteHoe => vec![
+ ItemKind::NetheriteHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1466,7 +1468,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteHorseArmor => vec![
+ ItemKind::NetheriteHorseArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -1498,7 +1500,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteLeggings => vec![
+ ItemKind::NetheriteLeggings => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Legs,
kind: Attribute::Armor,
@@ -1530,7 +1532,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteNautilusArmor => vec![
+ ItemKind::NetheriteNautilusArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -1562,7 +1564,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheritePickaxe => vec![
+ ItemKind::NetheritePickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1584,7 +1586,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteShovel => vec![
+ ItemKind::NetheriteShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1606,7 +1608,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteSpear => vec![
+ ItemKind::NetheriteSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1628,7 +1630,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::NetheriteSword => vec![
+ ItemKind::NetheriteSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1650,7 +1652,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::PiglinHead => vec![AttributeModifiersEntry {
+ ItemKind::PiglinHead => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -1660,7 +1662,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::PlayerHead => vec![AttributeModifiersEntry {
+ ItemKind::PlayerHead => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -1670,7 +1672,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::SkeletonSkull => vec![AttributeModifiersEntry {
+ ItemKind::SkeletonSkull => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -1680,7 +1682,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::StoneAxe => vec![
+ ItemKind::StoneAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1702,7 +1704,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::StoneHoe => vec![
+ ItemKind::StoneHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1724,7 +1726,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::StonePickaxe => vec![
+ ItemKind::StonePickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1746,7 +1748,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::StoneShovel => vec![
+ ItemKind::StoneShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1768,7 +1770,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::StoneSpear => vec![
+ ItemKind::StoneSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1790,7 +1792,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::StoneSword => vec![
+ ItemKind::StoneSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1812,7 +1814,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::Trident => vec![
+ ItemKind::Trident => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1834,7 +1836,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::TurtleHelmet => vec![
+ ItemKind::TurtleHelmet => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Head,
kind: Attribute::Armor,
@@ -1856,7 +1858,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WitherSkeletonSkull => vec![AttributeModifiersEntry {
+ ItemKind::WitherSkeletonSkull => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -1866,7 +1868,7 @@ impl DefaultableComponent for AttributeModifiers {
operation: AttributeModifierOperation::AddMultipliedTotal,
},
}],
- Item::WolfArmor => vec![
+ ItemKind::WolfArmor => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Body,
kind: Attribute::Armor,
@@ -1888,7 +1890,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WoodenAxe => vec![
+ ItemKind::WoodenAxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1910,7 +1912,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WoodenHoe => vec![
+ ItemKind::WoodenHoe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1932,7 +1934,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WoodenPickaxe => vec![
+ ItemKind::WoodenPickaxe => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1954,7 +1956,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WoodenShovel => vec![
+ ItemKind::WoodenShovel => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1976,7 +1978,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WoodenSpear => vec![
+ ItemKind::WoodenSpear => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -1998,7 +2000,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::WoodenSword => vec![
+ ItemKind::WoodenSword => vec![
AttributeModifiersEntry {
slot: EquipmentSlotGroup::Mainhand,
kind: Attribute::AttackDamage,
@@ -2020,7 +2022,7 @@ impl DefaultableComponent for AttributeModifiers {
},
},
],
- Item::ZombieHead => vec![AttributeModifiersEntry {
+ ItemKind::ZombieHead => vec![AttributeModifiersEntry {
display: AttributeModifierDisplay::Hidden,
slot: EquipmentSlotGroup::Head,
kind: Attribute::WaypointTransmitRange,
@@ -2036,17 +2038,19 @@ impl DefaultableComponent for AttributeModifiers {
}
}
impl DefaultableComponent for BreakSound {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Shield => azalea_registry::Holder::Reference(SoundEvent::ItemShieldBreak),
- Item::WolfArmor => azalea_registry::Holder::Reference(SoundEvent::ItemWolfArmorBreak),
+ ItemKind::Shield => azalea_registry::Holder::Reference(SoundEvent::ItemShieldBreak),
+ ItemKind::WolfArmor => {
+ azalea_registry::Holder::Reference(SoundEvent::ItemWolfArmorBreak)
+ }
_ => azalea_registry::Holder::Reference(SoundEvent::EntityItemBreak),
};
Some(BreakSound { sound: value })
}
}
impl DefaultableComponent for Enchantments {
- fn default_for_item(_item: Item) -> Option<Self> {
+ fn default_for_item(_item: ItemKind) -> Option<Self> {
Some(Enchantments {
levels: HashMap::from_iter([]),
})
@@ -2055,7 +2059,7 @@ impl DefaultableComponent for Enchantments {
#[rustfmt::skip]
static ITEM_MODEL_VALUES: [&str; 1505] = ["minecraft:air","minecraft:stone","minecraft:granite","minecraft:polished_granite","minecraft:diorite","minecraft:polished_diorite","minecraft:andesite","minecraft:polished_andesite","minecraft:deepslate","minecraft:cobbled_deepslate","minecraft:polished_deepslate","minecraft:calcite","minecraft:tuff","minecraft:tuff_slab","minecraft:tuff_stairs","minecraft:tuff_wall","minecraft:chiseled_tuff","minecraft:polished_tuff","minecraft:polished_tuff_slab","minecraft:polished_tuff_stairs","minecraft:polished_tuff_wall","minecraft:tuff_bricks","minecraft:tuff_brick_slab","minecraft:tuff_brick_stairs","minecraft:tuff_brick_wall","minecraft:chiseled_tuff_bricks","minecraft:dripstone_block","minecraft:grass_block","minecraft:dirt","minecraft:coarse_dirt","minecraft:podzol","minecraft:rooted_dirt","minecraft:mud","minecraft:crimson_nylium","minecraft:warped_nylium","minecraft:cobblestone","minecraft:oak_planks","minecraft:spruce_planks","minecraft:birch_planks","minecraft:jungle_planks","minecraft:acacia_planks","minecraft:cherry_planks","minecraft:dark_oak_planks","minecraft:pale_oak_planks","minecraft:mangrove_planks","minecraft:bamboo_planks","minecraft:crimson_planks","minecraft:warped_planks","minecraft:bamboo_mosaic","minecraft:oak_sapling","minecraft:spruce_sapling","minecraft:birch_sapling","minecraft:jungle_sapling","minecraft:acacia_sapling","minecraft:cherry_sapling","minecraft:dark_oak_sapling","minecraft:pale_oak_sapling","minecraft:mangrove_propagule","minecraft:bedrock","minecraft:sand","minecraft:suspicious_sand","minecraft:suspicious_gravel","minecraft:red_sand","minecraft:gravel","minecraft:coal_ore","minecraft:deepslate_coal_ore","minecraft:iron_ore","minecraft:deepslate_iron_ore","minecraft:copper_ore","minecraft:deepslate_copper_ore","minecraft:gold_ore","minecraft:deepslate_gold_ore","minecraft:redstone_ore","minecraft:deepslate_redstone_ore","minecraft:emerald_ore","minecraft:deepslate_emerald_ore","minecraft:lapis_ore","minecraft:deepslate_lapis_ore","minecraft:diamond_ore","minecraft:deepslate_diamond_ore","minecraft:nether_gold_ore","minecraft:nether_quartz_ore","minecraft:ancient_debris","minecraft:coal_block","minecraft:raw_iron_block","minecraft:raw_copper_block","minecraft:raw_gold_block","minecraft:heavy_core","minecraft:amethyst_block","minecraft:budding_amethyst","minecraft:iron_block","minecraft:copper_block","minecraft:gold_block","minecraft:diamond_block","minecraft:netherite_block","minecraft:exposed_copper","minecraft:weathered_copper","minecraft:oxidized_copper","minecraft:chiseled_copper","minecraft:exposed_chiseled_copper","minecraft:weathered_chiseled_copper","minecraft:oxidized_chiseled_copper","minecraft:cut_copper","minecraft:exposed_cut_copper","minecraft:weathered_cut_copper","minecraft:oxidized_cut_copper","minecraft:cut_copper_stairs","minecraft:exposed_cut_copper_stairs","minecraft:weathered_cut_copper_stairs","minecraft:oxidized_cut_copper_stairs","minecraft:cut_copper_slab","minecraft:exposed_cut_copper_slab","minecraft:weathered_cut_copper_slab","minecraft:oxidized_cut_copper_slab","minecraft:waxed_copper_block","minecraft:waxed_exposed_copper","minecraft:waxed_weathered_copper","minecraft:waxed_oxidized_copper","minecraft:waxed_chiseled_copper","minecraft:waxed_exposed_chiseled_copper","minecraft:waxed_weathered_chiseled_copper","minecraft:waxed_oxidized_chiseled_copper","minecraft:waxed_cut_copper","minecraft:waxed_exposed_cut_copper","minecraft:waxed_weathered_cut_copper","minecraft:waxed_oxidized_cut_copper","minecraft:waxed_cut_copper_stairs","minecraft:waxed_exposed_cut_copper_stairs","minecraft:waxed_weathered_cut_copper_stairs","minecraft:waxed_oxidized_cut_copper_stairs","minecraft:waxed_cut_copper_slab","minecraft:waxed_exposed_cut_copper_slab","minecraft:waxed_weathered_cut_copper_slab","minecraft:waxed_oxidized_cut_copper_slab","minecraft:oak_log","minecraft:spruce_log","minecraft:birch_log","minecraft:jungle_log","minecraft:acacia_log","minecraft:cherry_log","minecraft:pale_oak_log","minecraft:dark_oak_log","minecraft:mangrove_log","minecraft:mangrove_roots","minecraft:muddy_mangrove_roots","minecraft:crimson_stem","minecraft:warped_stem","minecraft:bamboo_block","minecraft:stripped_oak_log","minecraft:stripped_spruce_log","minecraft:stripped_birch_log","minecraft:stripped_jungle_log","minecraft:stripped_acacia_log","minecraft:stripped_cherry_log","minecraft:stripped_dark_oak_log","minecraft:stripped_pale_oak_log","minecraft:stripped_mangrove_log","minecraft:stripped_crimson_stem","minecraft:stripped_warped_stem","minecraft:stripped_oak_wood","minecraft:stripped_spruce_wood","minecraft:stripped_birch_wood","minecraft:stripped_jungle_wood","minecraft:stripped_acacia_wood","minecraft:stripped_cherry_wood","minecraft:stripped_dark_oak_wood","minecraft:stripped_pale_oak_wood","minecraft:stripped_mangrove_wood","minecraft:stripped_crimson_hyphae","minecraft:stripped_warped_hyphae","minecraft:stripped_bamboo_block","minecraft:oak_wood","minecraft:spruce_wood","minecraft:birch_wood","minecraft:jungle_wood","minecraft:acacia_wood","minecraft:cherry_wood","minecraft:pale_oak_wood","minecraft:dark_oak_wood","minecraft:mangrove_wood","minecraft:crimson_hyphae","minecraft:warped_hyphae","minecraft:oak_leaves","minecraft:spruce_leaves","minecraft:birch_leaves","minecraft:jungle_leaves","minecraft:acacia_leaves","minecraft:cherry_leaves","minecraft:dark_oak_leaves","minecraft:pale_oak_leaves","minecraft:mangrove_leaves","minecraft:azalea_leaves","minecraft:flowering_azalea_leaves","minecraft:sponge","minecraft:wet_sponge","minecraft:glass","minecraft:tinted_glass","minecraft:lapis_block","minecraft:sandstone","minecraft:chiseled_sandstone","minecraft:cut_sandstone","minecraft:cobweb","minecraft:short_grass","minecraft:fern","minecraft:bush","minecraft:azalea","minecraft:flowering_azalea","minecraft:dead_bush","minecraft:firefly_bush","minecraft:short_dry_grass","minecraft:tall_dry_grass","minecraft:seagrass","minecraft:sea_pickle","minecraft:white_wool","minecraft:orange_wool","minecraft:magenta_wool","minecraft:light_blue_wool","minecraft:yellow_wool","minecraft:lime_wool","minecraft:pink_wool","minecraft:gray_wool","minecraft:light_gray_wool","minecraft:cyan_wool","minecraft:purple_wool","minecraft:blue_wool","minecraft:brown_wool","minecraft:green_wool","minecraft:red_wool","minecraft:black_wool","minecraft:dandelion","minecraft:open_eyeblossom","minecraft:closed_eyeblossom","minecraft:poppy","minecraft:blue_orchid","minecraft:allium","minecraft:azure_bluet","minecraft:red_tulip","minecraft:orange_tulip","minecraft:white_tulip","minecraft:pink_tulip","minecraft:oxeye_daisy","minecraft:cornflower","minecraft:lily_of_the_valley","minecraft:wither_rose","minecraft:torchflower","minecraft:pitcher_plant","minecraft:spore_blossom","minecraft:brown_mushroom","minecraft:red_mushroom","minecraft:crimson_fungus","minecraft:warped_fungus","minecraft:crimson_roots","minecraft:warped_roots","minecraft:nether_sprouts","minecraft:weeping_vines","minecraft:twisting_vines","minecraft:sugar_cane","minecraft:kelp","minecraft:pink_petals","minecraft:wildflowers","minecraft:leaf_litter","minecraft:moss_carpet","minecraft:moss_block","minecraft:pale_moss_carpet","minecraft:pale_hanging_moss","minecraft:pale_moss_block","minecraft:hanging_roots","minecraft:big_dripleaf","minecraft:small_dripleaf","minecraft:bamboo","minecraft:oak_slab","minecraft:spruce_slab","minecraft:birch_slab","minecraft:jungle_slab","minecraft:acacia_slab","minecraft:cherry_slab","minecraft:dark_oak_slab","minecraft:pale_oak_slab","minecraft:mangrove_slab","minecraft:bamboo_slab","minecraft:bamboo_mosaic_slab","minecraft:crimson_slab","minecraft:warped_slab","minecraft:stone_slab","minecraft:smooth_stone_slab","minecraft:sandstone_slab","minecraft:cut_sandstone_slab","minecraft:petrified_oak_slab","minecraft:cobblestone_slab","minecraft:brick_slab","minecraft:stone_brick_slab","minecraft:mud_brick_slab","minecraft:nether_brick_slab","minecraft:quartz_slab","minecraft:red_sandstone_slab","minecraft:cut_red_sandstone_slab","minecraft:purpur_slab","minecraft:prismarine_slab","minecraft:prismarine_brick_slab","minecraft:dark_prismarine_slab","minecraft:smooth_quartz","minecraft:smooth_red_sandstone","minecraft:smooth_sandstone","minecraft:smooth_stone","minecraft:bricks","minecraft:acacia_shelf","minecraft:bamboo_shelf","minecraft:birch_shelf","minecraft:cherry_shelf","minecraft:crimson_shelf","minecraft:dark_oak_shelf","minecraft:jungle_shelf","minecraft:mangrove_shelf","minecraft:oak_shelf","minecraft:pale_oak_shelf","minecraft:spruce_shelf","minecraft:warped_shelf","minecraft:bookshelf","minecraft:chiseled_bookshelf","minecraft:decorated_pot","minecraft:mossy_cobblestone","minecraft:obsidian","minecraft:torch","minecraft:end_rod","minecraft:chorus_plant","minecraft:chorus_flower","minecraft:purpur_block","minecraft:purpur_pillar","minecraft:purpur_stairs","minecraft:spawner","minecraft:creaking_heart","minecraft:chest","minecraft:crafting_table","minecraft:farmland","minecraft:furnace","minecraft:ladder","minecraft:cobblestone_stairs","minecraft:snow","minecraft:ice","minecraft:snow_block","minecraft:cactus","minecraft:cactus_flower","minecraft:clay","minecraft:jukebox","minecraft:oak_fence","minecraft:spruce_fence","minecraft:birch_fence","minecraft:jungle_fence","minecraft:acacia_fence","minecraft:cherry_fence","minecraft:dark_oak_fence","minecraft:pale_oak_fence","minecraft:mangrove_fence","minecraft:bamboo_fence","minecraft:crimson_fence","minecraft:warped_fence","minecraft:pumpkin","minecraft:carved_pumpkin","minecraft:jack_o_lantern","minecraft:netherrack","minecraft:soul_sand","minecraft:soul_soil","minecraft:basalt","minecraft:polished_basalt","minecraft:smooth_basalt","minecraft:soul_torch","minecraft:copper_torch","minecraft:glowstone","minecraft:infested_stone","minecraft:infested_cobblestone","minecraft:infested_stone_bricks","minecraft:infested_mossy_stone_bricks","minecraft:infested_cracked_stone_bricks","minecraft:infested_chiseled_stone_bricks","minecraft:infested_deepslate","minecraft:stone_bricks","minecraft:mossy_stone_bricks","minecraft:cracked_stone_bricks","minecraft:chiseled_stone_bricks","minecraft:packed_mud","minecraft:mud_bricks","minecraft:deepslate_bricks","minecraft:cracked_deepslate_bricks","minecraft:deepslate_tiles","minecraft:cracked_deepslate_tiles","minecraft:chiseled_deepslate","minecraft:reinforced_deepslate","minecraft:brown_mushroom_block","minecraft:red_mushroom_block","minecraft:mushroom_stem","minecraft:iron_bars","minecraft:copper_bars","minecraft:exposed_copper_bars","minecraft:weathered_copper_bars","minecraft:oxidized_copper_bars","minecraft:waxed_copper_bars","minecraft:waxed_exposed_copper_bars","minecraft:waxed_weathered_copper_bars","minecraft:waxed_oxidized_copper_bars","minecraft:iron_chain","minecraft:copper_chain","minecraft:exposed_copper_chain","minecraft:weathered_copper_chain","minecraft:oxidized_copper_chain","minecraft:waxed_copper_chain","minecraft:waxed_exposed_copper_chain","minecraft:waxed_weathered_copper_chain","minecraft:waxed_oxidized_copper_chain","minecraft:glass_pane","minecraft:melon","minecraft:vine","minecraft:glow_lichen","minecraft:resin_clump","minecraft:resin_block","minecraft:resin_bricks","minecraft:resin_brick_stairs","minecraft:resin_brick_slab","minecraft:resin_brick_wall","minecraft:chiseled_resin_bricks","minecraft:brick_stairs","minecraft:stone_brick_stairs","minecraft:mud_brick_stairs","minecraft:mycelium","minecraft:lily_pad","minecraft:nether_bricks","minecraft:cracked_nether_bricks","minecraft:chiseled_nether_bricks","minecraft:nether_brick_fence","minecraft:nether_brick_stairs","minecraft:sculk","minecraft:sculk_vein","minecraft:sculk_catalyst","minecraft:sculk_shrieker","minecraft:enchanting_table","minecraft:end_portal_frame","minecraft:end_stone","minecraft:end_stone_bricks","minecraft:dragon_egg","minecraft:sandstone_stairs","minecraft:ender_chest","minecraft:emerald_block","minecraft:oak_stairs","minecraft:spruce_stairs","minecraft:birch_stairs","minecraft:jungle_stairs","minecraft:acacia_stairs","minecraft:cherry_stairs","minecraft:dark_oak_stairs","minecraft:pale_oak_stairs","minecraft:mangrove_stairs","minecraft:bamboo_stairs","minecraft:bamboo_mosaic_stairs","minecraft:crimson_stairs","minecraft:warped_stairs","minecraft:command_block","minecraft:beacon","minecraft:cobblestone_wall","minecraft:mossy_cobblestone_wall","minecraft:brick_wall","minecraft:prismarine_wall","minecraft:red_sandstone_wall","minecraft:mossy_stone_brick_wall","minecraft:granite_wall","minecraft:stone_brick_wall","minecraft:mud_brick_wall","minecraft:nether_brick_wall","minecraft:andesite_wall","minecraft:red_nether_brick_wall","minecraft:sandstone_wall","minecraft:end_stone_brick_wall","minecraft:diorite_wall","minecraft:blackstone_wall","minecraft:polished_blackstone_wall","minecraft:polished_blackstone_brick_wall","minecraft:cobbled_deepslate_wall","minecraft:polished_deepslate_wall","minecraft:deepslate_brick_wall","minecraft:deepslate_tile_wall","minecraft:anvil","minecraft:chipped_anvil","minecraft:damaged_anvil","minecraft:chiseled_quartz_block","minecraft:quartz_block","minecraft:quartz_bricks","minecraft:quartz_pillar","minecraft:quartz_stairs","minecraft:white_terracotta","minecraft:orange_terracotta","minecraft:magenta_terracotta","minecraft:light_blue_terracotta","minecraft:yellow_terracotta","minecraft:lime_terracotta","minecraft:pink_terracotta","minecraft:gray_terracotta","minecraft:light_gray_terracotta","minecraft:cyan_terracotta","minecraft:purple_terracotta","minecraft:blue_terracotta","minecraft:brown_terracotta","minecraft:green_terracotta","minecraft:red_terracotta","minecraft:black_terracotta","minecraft:barrier","minecraft:light","minecraft:hay_block","minecraft:white_carpet","minecraft:orange_carpet","minecraft:magenta_carpet","minecraft:light_blue_carpet","minecraft:yellow_carpet","minecraft:lime_carpet","minecraft:pink_carpet","minecraft:gray_carpet","minecraft:light_gray_carpet","minecraft:cyan_carpet","minecraft:purple_carpet","minecraft:blue_carpet","minecraft:brown_carpet","minecraft:green_carpet","minecraft:red_carpet","minecraft:black_carpet","minecraft:terracotta","minecraft:packed_ice","minecraft:dirt_path","minecraft:sunflower","minecraft:lilac","minecraft:rose_bush","minecraft:peony","minecraft:tall_grass","minecraft:large_fern","minecraft:white_stained_glass","minecraft:orange_stained_glass","minecraft:magenta_stained_glass","minecraft:light_blue_stained_glass","minecraft:yellow_stained_glass","minecraft:lime_stained_glass","minecraft:pink_stained_glass","minecraft:gray_stained_glass","minecraft:light_gray_stained_glass","minecraft:cyan_stained_glass","minecraft:purple_stained_glass","minecraft:blue_stained_glass","minecraft:brown_stained_glass","minecraft:green_stained_glass","minecraft:red_stained_glass","minecraft:black_stained_glass","minecraft:white_stained_glass_pane","minecraft:orange_stained_glass_pane","minecraft:magenta_stained_glass_pane","minecraft:light_blue_stained_glass_pane","minecraft:yellow_stained_glass_pane","minecraft:lime_stained_glass_pane","minecraft:pink_stained_glass_pane","minecraft:gray_stained_glass_pane","minecraft:light_gray_stained_glass_pane","minecraft:cyan_stained_glass_pane","minecraft:purple_stained_glass_pane","minecraft:blue_stained_glass_pane","minecraft:brown_stained_glass_pane","minecraft:green_stained_glass_pane","minecraft:red_stained_glass_pane","minecraft:black_stained_glass_pane","minecraft:prismarine","minecraft:prismarine_bricks","minecraft:dark_prismarine","minecraft:prismarine_stairs","minecraft:prismarine_brick_stairs","minecraft:dark_prismarine_stairs","minecraft:sea_lantern","minecraft:red_sandstone","minecraft:chiseled_red_sandstone","minecraft:cut_red_sandstone","minecraft:red_sandstone_stairs","minecraft:repeating_command_block","minecraft:chain_command_block","minecraft:magma_block","minecraft:nether_wart_block","minecraft:warped_wart_block","minecraft:red_nether_bricks","minecraft:bone_block","minecraft:structure_void","minecraft:shulker_box","minecraft:white_shulker_box","minecraft:orange_shulker_box","minecraft:magenta_shulker_box","minecraft:light_blue_shulker_box","minecraft:yellow_shulker_box","minecraft:lime_shulker_box","minecraft:pink_shulker_box","minecraft:gray_shulker_box","minecraft:light_gray_shulker_box","minecraft:cyan_shulker_box","minecraft:purple_shulker_box","minecraft:blue_shulker_box","minecraft:brown_shulker_box","minecraft:green_shulker_box","minecraft:red_shulker_box","minecraft:black_shulker_box","minecraft:white_glazed_terracotta","minecraft:orange_glazed_terracotta","minecraft:magenta_glazed_terracotta","minecraft:light_blue_glazed_terracotta","minecraft:yellow_glazed_terracotta","minecraft:lime_glazed_terracotta","minecraft:pink_glazed_terracotta","minecraft:gray_glazed_terracotta","minecraft:light_gray_glazed_terracotta","minecraft:cyan_glazed_terracotta","minecraft:purple_glazed_terracotta","minecraft:blue_glazed_terracotta","minecraft:brown_glazed_terracotta","minecraft:green_glazed_terracotta","minecraft:red_glazed_terracotta","minecraft:black_glazed_terracotta","minecraft:white_concrete","minecraft:orange_concrete","minecraft:magenta_concrete","minecraft:light_blue_concrete","minecraft:yellow_concrete","minecraft:lime_concrete","minecraft:pink_concrete","minecraft:gray_concrete","minecraft:light_gray_concrete","minecraft:cyan_concrete","minecraft:purple_concrete","minecraft:blue_concrete","minecraft:brown_concrete","minecraft:green_concrete","minecraft:red_concrete","minecraft:black_concrete","minecraft:white_concrete_powder","minecraft:orange_concrete_powder","minecraft:magenta_concrete_powder","minecraft:light_blue_concrete_powder","minecraft:yellow_concrete_powder","minecraft:lime_concrete_powder","minecraft:pink_concrete_powder","minecraft:gray_concrete_powder","minecraft:light_gray_concrete_powder","minecraft:cyan_concrete_powder","minecraft:purple_concrete_powder","minecraft:blue_concrete_powder","minecraft:brown_concrete_powder","minecraft:green_concrete_powder","minecraft:red_concrete_powder","minecraft:black_concrete_powder","minecraft:turtle_egg","minecraft:sniffer_egg","minecraft:dried_ghast","minecraft:dead_tube_coral_block","minecraft:dead_brain_coral_block","minecraft:dead_bubble_coral_block","minecraft:dead_fire_coral_block","minecraft:dead_horn_coral_block","minecraft:tube_coral_block","minecraft:brain_coral_block","minecraft:bubble_coral_block","minecraft:fire_coral_block","minecraft:horn_coral_block","minecraft:tube_coral","minecraft:brain_coral","minecraft:bubble_coral","minecraft:fire_coral","minecraft:horn_coral","minecraft:dead_brain_coral","minecraft:dead_bubble_coral","minecraft:dead_fire_coral","minecraft:dead_horn_coral","minecraft:dead_tube_coral","minecraft:tube_coral_fan","minecraft:brain_coral_fan","minecraft:bubble_coral_fan","minecraft:fire_coral_fan","minecraft:horn_coral_fan","minecraft:dead_tube_coral_fan","minecraft:dead_brain_coral_fan","minecraft:dead_bubble_coral_fan","minecraft:dead_fire_coral_fan","minecraft:dead_horn_coral_fan","minecraft:blue_ice","minecraft:conduit","minecraft:polished_granite_stairs","minecraft:smooth_red_sandstone_stairs","minecraft:mossy_stone_brick_stairs","minecraft:polished_diorite_stairs","minecraft:mossy_cobblestone_stairs","minecraft:end_stone_brick_stairs","minecraft:stone_stairs","minecraft:smooth_sandstone_stairs","minecraft:smooth_quartz_stairs","minecraft:granite_stairs","minecraft:andesite_stairs","minecraft:red_nether_brick_stairs","minecraft:polished_andesite_stairs","minecraft:diorite_stairs","minecraft:cobbled_deepslate_stairs","minecraft:polished_deepslate_stairs","minecraft:deepslate_brick_stairs","minecraft:deepslate_tile_stairs","minecraft:polished_granite_slab","minecraft:smooth_red_sandstone_slab","minecraft:mossy_stone_brick_slab","minecraft:polished_diorite_slab","minecraft:mossy_cobblestone_slab","minecraft:end_stone_brick_slab","minecraft:smooth_sandstone_slab","minecraft:smooth_quartz_slab","minecraft:granite_slab","minecraft:andesite_slab","minecraft:red_nether_brick_slab","minecraft:polished_andesite_slab","minecraft:diorite_slab","minecraft:cobbled_deepslate_slab","minecraft:polished_deepslate_slab","minecraft:deepslate_brick_slab","minecraft:deepslate_tile_slab","minecraft:scaffolding","minecraft:redstone","minecraft:redstone_torch","minecraft:redstone_block","minecraft:repeater","minecraft:comparator","minecraft:piston","minecraft:sticky_piston","minecraft:slime_block","minecraft:honey_block","minecraft:observer","minecraft:hopper","minecraft:dispenser","minecraft:dropper","minecraft:lectern","minecraft:target","minecraft:lever","minecraft:lightning_rod","minecraft:exposed_lightning_rod","minecraft:weathered_lightning_rod","minecraft:oxidized_lightning_rod","minecraft:waxed_lightning_rod","minecraft:waxed_exposed_lightning_rod","minecraft:waxed_weathered_lightning_rod","minecraft:waxed_oxidized_lightning_rod","minecraft:daylight_detector","minecraft:sculk_sensor","minecraft:calibrated_sculk_sensor","minecraft:tripwire_hook","minecraft:trapped_chest","minecraft:tnt","minecraft:redstone_lamp","minecraft:note_block","minecraft:stone_button","minecraft:polished_blackstone_button","minecraft:oak_button","minecraft:spruce_button","minecraft:birch_button","minecraft:jungle_button","minecraft:acacia_button","minecraft:cherry_button","minecraft:dark_oak_button","minecraft:pale_oak_button","minecraft:mangrove_button","minecraft:bamboo_button","minecraft:crimson_button","minecraft:warped_button","minecraft:stone_pressure_plate","minecraft:polished_blackstone_pressure_plate","minecraft:light_weighted_pressure_plate","minecraft:heavy_weighted_pressure_plate","minecraft:oak_pressure_plate","minecraft:spruce_pressure_plate","minecraft:birch_pressure_plate","minecraft:jungle_pressure_plate","minecraft:acacia_pressure_plate","minecraft:cherry_pressure_plate","minecraft:dark_oak_pressure_plate","minecraft:pale_oak_pressure_plate","minecraft:mangrove_pressure_plate","minecraft:bamboo_pressure_plate","minecraft:crimson_pressure_plate","minecraft:warped_pressure_plate","minecraft:iron_door","minecraft:oak_door","minecraft:spruce_door","minecraft:birch_door","minecraft:jungle_door","minecraft:acacia_door","minecraft:cherry_door","minecraft:dark_oak_door","minecraft:pale_oak_door","minecraft:mangrove_door","minecraft:bamboo_door","minecraft:crimson_door","minecraft:warped_door","minecraft:copper_door","minecraft:exposed_copper_door","minecraft:weathered_copper_door","minecraft:oxidized_copper_door","minecraft:waxed_copper_door","minecraft:waxed_exposed_copper_door","minecraft:waxed_weathered_copper_door","minecraft:waxed_oxidized_copper_door","minecraft:iron_trapdoor","minecraft:oak_trapdoor","minecraft:spruce_trapdoor","minecraft:birch_trapdoor","minecraft:jungle_trapdoor","minecraft:acacia_trapdoor","minecraft:cherry_trapdoor","minecraft:dark_oak_trapdoor","minecraft:pale_oak_trapdoor","minecraft:mangrove_trapdoor","minecraft:bamboo_trapdoor","minecraft:crimson_trapdoor","minecraft:warped_trapdoor","minecraft:copper_trapdoor","minecraft:exposed_copper_trapdoor","minecraft:weathered_copper_trapdoor","minecraft:oxidized_copper_trapdoor","minecraft:waxed_copper_trapdoor","minecraft:waxed_exposed_copper_trapdoor","minecraft:waxed_weathered_copper_trapdoor","minecraft:waxed_oxidized_copper_trapdoor","minecraft:oak_fence_gate","minecraft:spruce_fence_gate","minecraft:birch_fence_gate","minecraft:jungle_fence_gate","minecraft:acacia_fence_gate","minecraft:cherry_fence_gate","minecraft:dark_oak_fence_gate","minecraft:pale_oak_fence_gate","minecraft:mangrove_fence_gate","minecraft:bamboo_fence_gate","minecraft:crimson_fence_gate","minecraft:warped_fence_gate","minecraft:powered_rail","minecraft:detector_rail","minecraft:rail","minecraft:activator_rail","minecraft:saddle","minecraft:white_harness","minecraft:orange_harness","minecraft:magenta_harness","minecraft:light_blue_harness","minecraft:yellow_harness","minecraft:lime_harness","minecraft:pink_harness","minecraft:gray_harness","minecraft:light_gray_harness","minecraft:cyan_harness","minecraft:purple_harness","minecraft:blue_harness","minecraft:brown_harness","minecraft:green_harness","minecraft:red_harness","minecraft:black_harness","minecraft:minecart","minecraft:chest_minecart","minecraft:furnace_minecart","minecraft:tnt_minecart","minecraft:hopper_minecart","minecraft:carrot_on_a_stick","minecraft:warped_fungus_on_a_stick","minecraft:phantom_membrane","minecraft:elytra","minecraft:oak_boat","minecraft:oak_chest_boat","minecraft:spruce_boat","minecraft:spruce_chest_boat","minecraft:birch_boat","minecraft:birch_chest_boat","minecraft:jungle_boat","minecraft:jungle_chest_boat","minecraft:acacia_boat","minecraft:acacia_chest_boat","minecraft:cherry_boat","minecraft:cherry_chest_boat","minecraft:dark_oak_boat","minecraft:dark_oak_chest_boat","minecraft:pale_oak_boat","minecraft:pale_oak_chest_boat","minecraft:mangrove_boat","minecraft:mangrove_chest_boat","minecraft:bamboo_raft","minecraft:bamboo_chest_raft","minecraft:structure_block","minecraft:jigsaw","minecraft:test_block","minecraft:test_instance_block","minecraft:turtle_helmet","minecraft:turtle_scute","minecraft:armadillo_scute","minecraft:wolf_armor","minecraft:flint_and_steel","minecraft:bowl","minecraft:apple","minecraft:bow","minecraft:arrow","minecraft:coal","minecraft:charcoal","minecraft:diamond","minecraft:emerald","minecraft:lapis_lazuli","minecraft:quartz","minecraft:amethyst_shard","minecraft:raw_iron","minecraft:iron_ingot","minecraft:raw_copper","minecraft:copper_ingot","minecraft:raw_gold","minecraft:gold_ingot","minecraft:netherite_ingot","minecraft:netherite_scrap","minecraft:wooden_sword","minecraft:wooden_shovel","minecraft:wooden_pickaxe","minecraft:wooden_axe","minecraft:wooden_hoe","minecraft:copper_sword","minecraft:copper_shovel","minecraft:copper_pickaxe","minecraft:copper_axe","minecraft:copper_hoe","minecraft:stone_sword","minecraft:stone_shovel","minecraft:stone_pickaxe","minecraft:stone_axe","minecraft:stone_hoe","minecraft:golden_sword","minecraft:golden_shovel","minecraft:golden_pickaxe","minecraft:golden_axe","minecraft:golden_hoe","minecraft:iron_sword","minecraft:iron_shovel","minecraft:iron_pickaxe","minecraft:iron_axe","minecraft:iron_hoe","minecraft:diamond_sword","minecraft:diamond_shovel","minecraft:diamond_pickaxe","minecraft:diamond_axe","minecraft:diamond_hoe","minecraft:netherite_sword","minecraft:netherite_shovel","minecraft:netherite_pickaxe","minecraft:netherite_axe","minecraft:netherite_hoe","minecraft:stick","minecraft:mushroom_stew","minecraft:string","minecraft:feather","minecraft:gunpowder","minecraft:wheat_seeds","minecraft:wheat","minecraft:bread","minecraft:leather_helmet","minecraft:leather_chestplate","minecraft:leather_leggings","minecraft:leather_boots","minecraft:copper_helmet","minecraft:copper_chestplate","minecraft:copper_leggings","minecraft:copper_boots","minecraft:chainmail_helmet","minecraft:chainmail_chestplate","minecraft:chainmail_leggings","minecraft:chainmail_boots","minecraft:iron_helmet","minecraft:iron_chestplate","minecraft:iron_leggings","minecraft:iron_boots","minecraft:diamond_helmet","minecraft:diamond_chestplate","minecraft:diamond_leggings","minecraft:diamond_boots","minecraft:golden_helmet","minecraft:golden_chestplate","minecraft:golden_leggings","minecraft:golden_boots","minecraft:netherite_helmet","minecraft:netherite_chestplate","minecraft:netherite_leggings","minecraft:netherite_boots","minecraft:flint","minecraft:porkchop","minecraft:cooked_porkchop","minecraft:painting","minecraft:golden_apple","minecraft:enchanted_golden_apple","minecraft:oak_sign","minecraft:spruce_sign","minecraft:birch_sign","minecraft:jungle_sign","minecraft:acacia_sign","minecraft:cherry_sign","minecraft:dark_oak_sign","minecraft:pale_oak_sign","minecraft:mangrove_sign","minecraft:bamboo_sign","minecraft:crimson_sign","minecraft:warped_sign","minecraft:oak_hanging_sign","minecraft:spruce_hanging_sign","minecraft:birch_hanging_sign","minecraft:jungle_hanging_sign","minecraft:acacia_hanging_sign","minecraft:cherry_hanging_sign","minecraft:dark_oak_hanging_sign","minecraft:pale_oak_hanging_sign","minecraft:mangrove_hanging_sign","minecraft:bamboo_hanging_sign","minecraft:crimson_hanging_sign","minecraft:warped_hanging_sign","minecraft:bucket","minecraft:water_bucket","minecraft:lava_bucket","minecraft:powder_snow_bucket","minecraft:snowball","minecraft:leather","minecraft:milk_bucket","minecraft:pufferfish_bucket","minecraft:salmon_bucket","minecraft:cod_bucket","minecraft:tropical_fish_bucket","minecraft:axolotl_bucket","minecraft:tadpole_bucket","minecraft:brick","minecraft:clay_ball","minecraft:dried_kelp_block","minecraft:paper","minecraft:book","minecraft:slime_ball","minecraft:egg","minecraft:blue_egg","minecraft:brown_egg","minecraft:compass","minecraft:recovery_compass","minecraft:bundle","minecraft:white_bundle","minecraft:orange_bundle","minecraft:magenta_bundle","minecraft:light_blue_bundle","minecraft:yellow_bundle","minecraft:lime_bundle","minecraft:pink_bundle","minecraft:gray_bundle","minecraft:light_gray_bundle","minecraft:cyan_bundle","minecraft:purple_bundle","minecraft:blue_bundle","minecraft:brown_bundle","minecraft:green_bundle","minecraft:red_bundle","minecraft:black_bundle","minecraft:fishing_rod","minecraft:clock","minecraft:spyglass","minecraft:glowstone_dust","minecraft:cod","minecraft:salmon","minecraft:tropical_fish","minecraft:pufferfish","minecraft:cooked_cod","minecraft:cooked_salmon","minecraft:ink_sac","minecraft:glow_ink_sac","minecraft:cocoa_beans","minecraft:white_dye","minecraft:orange_dye","minecraft:magenta_dye","minecraft:light_blue_dye","minecraft:yellow_dye","minecraft:lime_dye","minecraft:pink_dye","minecraft:gray_dye","minecraft:light_gray_dye","minecraft:cyan_dye","minecraft:purple_dye","minecraft:blue_dye","minecraft:brown_dye","minecraft:green_dye","minecraft:red_dye","minecraft:black_dye","minecraft:bone_meal","minecraft:bone","minecraft:sugar","minecraft:cake","minecraft:white_bed","minecraft:orange_bed","minecraft:magenta_bed","minecraft:light_blue_bed","minecraft:yellow_bed","minecraft:lime_bed","minecraft:pink_bed","minecraft:gray_bed","minecraft:light_gray_bed","minecraft:cyan_bed","minecraft:purple_bed","minecraft:blue_bed","minecraft:brown_bed","minecraft:green_bed","minecraft:red_bed","minecraft:black_bed","minecraft:cookie","minecraft:crafter","minecraft:filled_map","minecraft:shears","minecraft:melon_slice","minecraft:dried_kelp","minecraft:pumpkin_seeds","minecraft:melon_seeds","minecraft:beef","minecraft:cooked_beef","minecraft:chicken","minecraft:cooked_chicken","minecraft:rotten_flesh","minecraft:ender_pearl","minecraft:blaze_rod","minecraft:ghast_tear","minecraft:gold_nugget","minecraft:nether_wart","minecraft:glass_bottle","minecraft:potion","minecraft:spider_eye","minecraft:fermented_spider_eye","minecraft:blaze_powder","minecraft:magma_cream","minecraft:brewing_stand","minecraft:cauldron","minecraft:ender_eye","minecraft:glistering_melon_slice","minecraft:chicken_spawn_egg","minecraft:cow_spawn_egg","minecraft:pig_spawn_egg","minecraft:sheep_spawn_egg","minecraft:camel_spawn_egg","minecraft:donkey_spawn_egg","minecraft:horse_spawn_egg","minecraft:mule_spawn_egg","minecraft:cat_spawn_egg","minecraft:parrot_spawn_egg","minecraft:wolf_spawn_egg","minecraft:armadillo_spawn_egg","minecraft:bat_spawn_egg","minecraft:bee_spawn_egg","minecraft:fox_spawn_egg","minecraft:goat_spawn_egg","minecraft:llama_spawn_egg","minecraft:ocelot_spawn_egg","minecraft:panda_spawn_egg","minecraft:polar_bear_spawn_egg","minecraft:rabbit_spawn_egg","minecraft:axolotl_spawn_egg","minecraft:cod_spawn_egg","minecraft:dolphin_spawn_egg","minecraft:frog_spawn_egg","minecraft:glow_squid_spawn_egg","minecraft:nautilus_spawn_egg","minecraft:pufferfish_spawn_egg","minecraft:salmon_spawn_egg","minecraft:squid_spawn_egg","minecraft:tadpole_spawn_egg","minecraft:tropical_fish_spawn_egg","minecraft:turtle_spawn_egg","minecraft:allay_spawn_egg","minecraft:mooshroom_spawn_egg","minecraft:sniffer_spawn_egg","minecraft:copper_golem_spawn_egg","minecraft:iron_golem_spawn_egg","minecraft:snow_golem_spawn_egg","minecraft:trader_llama_spawn_egg","minecraft:villager_spawn_egg","minecraft:wandering_trader_spawn_egg","minecraft:bogged_spawn_egg","minecraft:camel_husk_spawn_egg","minecraft:drowned_spawn_egg","minecraft:husk_spawn_egg","minecraft:parched_spawn_egg","minecraft:skeleton_spawn_egg","minecraft:skeleton_horse_spawn_egg","minecraft:stray_spawn_egg","minecraft:wither_spawn_egg","minecraft:wither_skeleton_spawn_egg","minecraft:zombie_spawn_egg","minecraft:zombie_horse_spawn_egg","minecraft:zombie_nautilus_spawn_egg","minecraft:zombie_villager_spawn_egg","minecraft:cave_spider_spawn_egg","minecraft:spider_spawn_egg","minecraft:breeze_spawn_egg","minecraft:creaking_spawn_egg","minecraft:creeper_spawn_egg","minecraft:elder_guardian_spawn_egg","minecraft:guardian_spawn_egg","minecraft:phantom_spawn_egg","minecraft:silverfish_spawn_egg","minecraft:slime_spawn_egg","minecraft:warden_spawn_egg","minecraft:witch_spawn_egg","minecraft:evoker_spawn_egg","minecraft:pillager_spawn_egg","minecraft:ravager_spawn_egg","minecraft:vindicator_spawn_egg","minecraft:vex_spawn_egg","minecraft:blaze_spawn_egg","minecraft:ghast_spawn_egg","minecraft:happy_ghast_spawn_egg","minecraft:hoglin_spawn_egg","minecraft:magma_cube_spawn_egg","minecraft:piglin_spawn_egg","minecraft:piglin_brute_spawn_egg","minecraft:strider_spawn_egg","minecraft:zoglin_spawn_egg","minecraft:zombified_piglin_spawn_egg","minecraft:ender_dragon_spawn_egg","minecraft:enderman_spawn_egg","minecraft:endermite_spawn_egg","minecraft:shulker_spawn_egg","minecraft:experience_bottle","minecraft:fire_charge","minecraft:wind_charge","minecraft:writable_book","minecraft:written_book","minecraft:breeze_rod","minecraft:mace","minecraft:item_frame","minecraft:glow_item_frame","minecraft:flower_pot","minecraft:carrot","minecraft:potato","minecraft:baked_potato","minecraft:poisonous_potato","minecraft:map","minecraft:golden_carrot","minecraft:skeleton_skull","minecraft:wither_skeleton_skull","minecraft:player_head","minecraft:zombie_head","minecraft:creeper_head","minecraft:dragon_head","minecraft:piglin_head","minecraft:nether_star","minecraft:pumpkin_pie","minecraft:firework_rocket","minecraft:firework_star","minecraft:enchanted_book","minecraft:nether_brick","minecraft:resin_brick","minecraft:prismarine_shard","minecraft:prismarine_crystals","minecraft:rabbit","minecraft:cooked_rabbit","minecraft:rabbit_stew","minecraft:rabbit_foot","minecraft:rabbit_hide","minecraft:armor_stand","minecraft:copper_horse_armor","minecraft:iron_horse_armor","minecraft:golden_horse_armor","minecraft:diamond_horse_armor","minecraft:netherite_horse_armor","minecraft:leather_horse_armor","minecraft:lead","minecraft:name_tag","minecraft:command_block_minecart","minecraft:mutton","minecraft:cooked_mutton","minecraft:white_banner","minecraft:orange_banner","minecraft:magenta_banner","minecraft:light_blue_banner","minecraft:yellow_banner","minecraft:lime_banner","minecraft:pink_banner","minecraft:gray_banner","minecraft:light_gray_banner","minecraft:cyan_banner","minecraft:purple_banner","minecraft:blue_banner","minecraft:brown_banner","minecraft:green_banner","minecraft:red_banner","minecraft:black_banner","minecraft:end_crystal","minecraft:chorus_fruit","minecraft:popped_chorus_fruit","minecraft:torchflower_seeds","minecraft:pitcher_pod","minecraft:beetroot","minecraft:beetroot_seeds","minecraft:beetroot_soup","minecraft:dragon_breath","minecraft:splash_potion","minecraft:spectral_arrow","minecraft:tipped_arrow","minecraft:lingering_potion","minecraft:shield","minecraft:wooden_spear","minecraft:stone_spear","minecraft:copper_spear","minecraft:iron_spear","minecraft:golden_spear","minecraft:diamond_spear","minecraft:netherite_spear","minecraft:totem_of_undying","minecraft:shulker_shell","minecraft:iron_nugget","minecraft:copper_nugget","minecraft:knowledge_book","minecraft:debug_stick","minecraft:music_disc_13","minecraft:music_disc_cat","minecraft:music_disc_blocks","minecraft:music_disc_chirp","minecraft:music_disc_creator","minecraft:music_disc_creator_music_box","minecraft:music_disc_far","minecraft:music_disc_lava_chicken","minecraft:music_disc_mall","minecraft:music_disc_mellohi","minecraft:music_disc_stal","minecraft:music_disc_strad","minecraft:music_disc_ward","minecraft:music_disc_11","minecraft:music_disc_wait","minecraft:music_disc_otherside","minecraft:music_disc_relic","minecraft:music_disc_5","minecraft:music_disc_pigstep","minecraft:music_disc_precipice","minecraft:music_disc_tears","minecraft:disc_fragment_5","minecraft:trident","minecraft:nautilus_shell","minecraft:iron_nautilus_armor","minecraft:golden_nautilus_armor","minecraft:diamond_nautilus_armor","minecraft:netherite_nautilus_armor","minecraft:copper_nautilus_armor","minecraft:heart_of_the_sea","minecraft:crossbow","minecraft:suspicious_stew","minecraft:loom","minecraft:flower_banner_pattern","minecraft:creeper_banner_pattern","minecraft:skull_banner_pattern","minecraft:mojang_banner_pattern","minecraft:globe_banner_pattern","minecraft:piglin_banner_pattern","minecraft:flow_banner_pattern","minecraft:guster_banner_pattern","minecraft:field_masoned_banner_pattern","minecraft:bordure_indented_banner_pattern","minecraft:goat_horn","minecraft:composter","minecraft:barrel","minecraft:smoker","minecraft:blast_furnace","minecraft:cartography_table","minecraft:fletching_table","minecraft:grindstone","minecraft:smithing_table","minecraft:stonecutter","minecraft:bell","minecraft:lantern","minecraft:soul_lantern","minecraft:copper_lantern","minecraft:exposed_copper_lantern","minecraft:weathered_copper_lantern","minecraft:oxidized_copper_lantern","minecraft:waxed_copper_lantern","minecraft:waxed_exposed_copper_lantern","minecraft:waxed_weathered_copper_lantern","minecraft:waxed_oxidized_copper_lantern","minecraft:sweet_berries","minecraft:glow_berries","minecraft:campfire","minecraft:soul_campfire","minecraft:shroomlight","minecraft:honeycomb","minecraft:bee_nest","minecraft:beehive","minecraft:honey_bottle","minecraft:honeycomb_block","minecraft:lodestone","minecraft:crying_obsidian","minecraft:blackstone","minecraft:blackstone_slab","minecraft:blackstone_stairs","minecraft:gilded_blackstone","minecraft:polished_blackstone","minecraft:polished_blackstone_slab","minecraft:polished_blackstone_stairs","minecraft:chiseled_polished_blackstone","minecraft:polished_blackstone_bricks","minecraft:polished_blackstone_brick_slab","minecraft:polished_blackstone_brick_stairs","minecraft:cracked_polished_blackstone_bricks","minecraft:respawn_anchor","minecraft:candle","minecraft:white_candle","minecraft:orange_candle","minecraft:magenta_candle","minecraft:light_blue_candle","minecraft:yellow_candle","minecraft:lime_candle","minecraft:pink_candle","minecraft:gray_candle","minecraft:light_gray_candle","minecraft:cyan_candle","minecraft:purple_candle","minecraft:blue_candle","minecraft:brown_candle","minecraft:green_candle","minecraft:red_candle","minecraft:black_candle","minecraft:small_amethyst_bud","minecraft:medium_amethyst_bud","minecraft:large_amethyst_bud","minecraft:amethyst_cluster","minecraft:pointed_dripstone","minecraft:ochre_froglight","minecraft:verdant_froglight","minecraft:pearlescent_froglight","minecraft:frogspawn","minecraft:echo_shard","minecraft:brush","minecraft:netherite_upgrade_smithing_template","minecraft:sentry_armor_trim_smithing_template","minecraft:dune_armor_trim_smithing_template","minecraft:coast_armor_trim_smithing_template","minecraft:wild_armor_trim_smithing_template","minecraft:ward_armor_trim_smithing_template","minecraft:eye_armor_trim_smithing_template","minecraft:vex_armor_trim_smithing_template","minecraft:tide_armor_trim_smithing_template","minecraft:snout_armor_trim_smithing_template","minecraft:rib_armor_trim_smithing_template","minecraft:spire_armor_trim_smithing_template","minecraft:wayfinder_armor_trim_smithing_template","minecraft:shaper_armor_trim_smithing_template","minecraft:silence_armor_trim_smithing_template","minecraft:raiser_armor_trim_smithing_template","minecraft:host_armor_trim_smithing_template","minecraft:flow_armor_trim_smithing_template","minecraft:bolt_armor_trim_smithing_template","minecraft:angler_pottery_sherd","minecraft:archer_pottery_sherd","minecraft:arms_up_pottery_sherd","minecraft:blade_pottery_sherd","minecraft:brewer_pottery_sherd","minecraft:burn_pottery_sherd","minecraft:danger_pottery_sherd","minecraft:explorer_pottery_sherd","minecraft:flow_pottery_sherd","minecraft:friend_pottery_sherd","minecraft:guster_pottery_sherd","minecraft:heart_pottery_sherd","minecraft:heartbreak_pottery_sherd","minecraft:howl_pottery_sherd","minecraft:miner_pottery_sherd","minecraft:mourner_pottery_sherd","minecraft:plenty_pottery_sherd","minecraft:prize_pottery_sherd","minecraft:scrape_pottery_sherd","minecraft:sheaf_pottery_sherd","minecraft:shelter_pottery_sherd","minecraft:skull_pottery_sherd","minecraft:snort_pottery_sherd","minecraft:copper_grate","minecraft:exposed_copper_grate","minecraft:weathered_copper_grate","minecraft:oxidized_copper_grate","minecraft:waxed_copper_grate","minecraft:waxed_exposed_copper_grate","minecraft:waxed_weathered_copper_grate","minecraft:waxed_oxidized_copper_grate","minecraft:copper_bulb","minecraft:exposed_copper_bulb","minecraft:weathered_copper_bulb","minecraft:oxidized_copper_bulb","minecraft:waxed_copper_bulb","minecraft:waxed_exposed_copper_bulb","minecraft:waxed_weathered_copper_bulb","minecraft:waxed_oxidized_copper_bulb","minecraft:copper_chest","minecraft:exposed_copper_chest","minecraft:weathered_copper_chest","minecraft:oxidized_copper_chest","minecraft:waxed_copper_chest","minecraft:waxed_exposed_copper_chest","minecraft:waxed_weathered_copper_chest","minecraft:waxed_oxidized_copper_chest","minecraft:copper_golem_statue","minecraft:exposed_copper_golem_statue","minecraft:weathered_copper_golem_statue","minecraft:oxidized_copper_golem_statue","minecraft:waxed_copper_golem_statue","minecraft:waxed_exposed_copper_golem_statue","minecraft:waxed_weathered_copper_golem_statue","minecraft:waxed_oxidized_copper_golem_statue","minecraft:trial_spawner","minecraft:trial_key","minecraft:ominous_trial_key","minecraft:vault","minecraft:ominous_bottle"];
impl DefaultableComponent for ItemModel {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = ITEM_MODEL_VALUES[item as usize];
Some(ItemModel {
resource_location: value.into(),
@@ -2065,7 +2069,7 @@ impl DefaultableComponent for ItemModel {
#[rustfmt::skip]
static ITEM_NAME_VALUES: [&str; 1505] = ["block.minecraft.air","block.minecraft.stone","block.minecraft.granite","block.minecraft.polished_granite","block.minecraft.diorite","block.minecraft.polished_diorite","block.minecraft.andesite","block.minecraft.polished_andesite","block.minecraft.deepslate","block.minecraft.cobbled_deepslate","block.minecraft.polished_deepslate","block.minecraft.calcite","block.minecraft.tuff","block.minecraft.tuff_slab","block.minecraft.tuff_stairs","block.minecraft.tuff_wall","block.minecraft.chiseled_tuff","block.minecraft.polished_tuff","block.minecraft.polished_tuff_slab","block.minecraft.polished_tuff_stairs","block.minecraft.polished_tuff_wall","block.minecraft.tuff_bricks","block.minecraft.tuff_brick_slab","block.minecraft.tuff_brick_stairs","block.minecraft.tuff_brick_wall","block.minecraft.chiseled_tuff_bricks","block.minecraft.dripstone_block","block.minecraft.grass_block","block.minecraft.dirt","block.minecraft.coarse_dirt","block.minecraft.podzol","block.minecraft.rooted_dirt","block.minecraft.mud","block.minecraft.crimson_nylium","block.minecraft.warped_nylium","block.minecraft.cobblestone","block.minecraft.oak_planks","block.minecraft.spruce_planks","block.minecraft.birch_planks","block.minecraft.jungle_planks","block.minecraft.acacia_planks","block.minecraft.cherry_planks","block.minecraft.dark_oak_planks","block.minecraft.pale_oak_planks","block.minecraft.mangrove_planks","block.minecraft.bamboo_planks","block.minecraft.crimson_planks","block.minecraft.warped_planks","block.minecraft.bamboo_mosaic","block.minecraft.oak_sapling","block.minecraft.spruce_sapling","block.minecraft.birch_sapling","block.minecraft.jungle_sapling","block.minecraft.acacia_sapling","block.minecraft.cherry_sapling","block.minecraft.dark_oak_sapling","block.minecraft.pale_oak_sapling","block.minecraft.mangrove_propagule","block.minecraft.bedrock","block.minecraft.sand","block.minecraft.suspicious_sand","block.minecraft.suspicious_gravel","block.minecraft.red_sand","block.minecraft.gravel","block.minecraft.coal_ore","block.minecraft.deepslate_coal_ore","block.minecraft.iron_ore","block.minecraft.deepslate_iron_ore","block.minecraft.copper_ore","block.minecraft.deepslate_copper_ore","block.minecraft.gold_ore","block.minecraft.deepslate_gold_ore","block.minecraft.redstone_ore","block.minecraft.deepslate_redstone_ore","block.minecraft.emerald_ore","block.minecraft.deepslate_emerald_ore","block.minecraft.lapis_ore","block.minecraft.deepslate_lapis_ore","block.minecraft.diamond_ore","block.minecraft.deepslate_diamond_ore","block.minecraft.nether_gold_ore","block.minecraft.nether_quartz_ore","block.minecraft.ancient_debris","block.minecraft.coal_block","block.minecraft.raw_iron_block","block.minecraft.raw_copper_block","block.minecraft.raw_gold_block","block.minecraft.heavy_core","block.minecraft.amethyst_block","block.minecraft.budding_amethyst","block.minecraft.iron_block","block.minecraft.copper_block","block.minecraft.gold_block","block.minecraft.diamond_block","block.minecraft.netherite_block","block.minecraft.exposed_copper","block.minecraft.weathered_copper","block.minecraft.oxidized_copper","block.minecraft.chiseled_copper","block.minecraft.exposed_chiseled_copper","block.minecraft.weathered_chiseled_copper","block.minecraft.oxidized_chiseled_copper","block.minecraft.cut_copper","block.minecraft.exposed_cut_copper","block.minecraft.weathered_cut_copper","block.minecraft.oxidized_cut_copper","block.minecraft.cut_copper_stairs","block.minecraft.exposed_cut_copper_stairs","block.minecraft.weathered_cut_copper_stairs","block.minecraft.oxidized_cut_copper_stairs","block.minecraft.cut_copper_slab","block.minecraft.exposed_cut_copper_slab","block.minecraft.weathered_cut_copper_slab","block.minecraft.oxidized_cut_copper_slab","block.minecraft.waxed_copper_block","block.minecraft.waxed_exposed_copper","block.minecraft.waxed_weathered_copper","block.minecraft.waxed_oxidized_copper","block.minecraft.waxed_chiseled_copper","block.minecraft.waxed_exposed_chiseled_copper","block.minecraft.waxed_weathered_chiseled_copper","block.minecraft.waxed_oxidized_chiseled_copper","block.minecraft.waxed_cut_copper","block.minecraft.waxed_exposed_cut_copper","block.minecraft.waxed_weathered_cut_copper","block.minecraft.waxed_oxidized_cut_copper","block.minecraft.waxed_cut_copper_stairs","block.minecraft.waxed_exposed_cut_copper_stairs","block.minecraft.waxed_weathered_cut_copper_stairs","block.minecraft.waxed_oxidized_cut_copper_stairs","block.minecraft.waxed_cut_copper_slab","block.minecraft.waxed_exposed_cut_copper_slab","block.minecraft.waxed_weathered_cut_copper_slab","block.minecraft.waxed_oxidized_cut_copper_slab","block.minecraft.oak_log","block.minecraft.spruce_log","block.minecraft.birch_log","block.minecraft.jungle_log","block.minecraft.acacia_log","block.minecraft.cherry_log","block.minecraft.pale_oak_log","block.minecraft.dark_oak_log","block.minecraft.mangrove_log","block.minecraft.mangrove_roots","block.minecraft.muddy_mangrove_roots","block.minecraft.crimson_stem","block.minecraft.warped_stem","block.minecraft.bamboo_block","block.minecraft.stripped_oak_log","block.minecraft.stripped_spruce_log","block.minecraft.stripped_birch_log","block.minecraft.stripped_jungle_log","block.minecraft.stripped_acacia_log","block.minecraft.stripped_cherry_log","block.minecraft.stripped_dark_oak_log","block.minecraft.stripped_pale_oak_log","block.minecraft.stripped_mangrove_log","block.minecraft.stripped_crimson_stem","block.minecraft.stripped_warped_stem","block.minecraft.stripped_oak_wood","block.minecraft.stripped_spruce_wood","block.minecraft.stripped_birch_wood","block.minecraft.stripped_jungle_wood","block.minecraft.stripped_acacia_wood","block.minecraft.stripped_cherry_wood","block.minecraft.stripped_dark_oak_wood","block.minecraft.stripped_pale_oak_wood","block.minecraft.stripped_mangrove_wood","block.minecraft.stripped_crimson_hyphae","block.minecraft.stripped_warped_hyphae","block.minecraft.stripped_bamboo_block","block.minecraft.oak_wood","block.minecraft.spruce_wood","block.minecraft.birch_wood","block.minecraft.jungle_wood","block.minecraft.acacia_wood","block.minecraft.cherry_wood","block.minecraft.pale_oak_wood","block.minecraft.dark_oak_wood","block.minecraft.mangrove_wood","block.minecraft.crimson_hyphae","block.minecraft.warped_hyphae","block.minecraft.oak_leaves","block.minecraft.spruce_leaves","block.minecraft.birch_leaves","block.minecraft.jungle_leaves","block.minecraft.acacia_leaves","block.minecraft.cherry_leaves","block.minecraft.dark_oak_leaves","block.minecraft.pale_oak_leaves","block.minecraft.mangrove_leaves","block.minecraft.azalea_leaves","block.minecraft.flowering_azalea_leaves","block.minecraft.sponge","block.minecraft.wet_sponge","block.minecraft.glass","block.minecraft.tinted_glass","block.minecraft.lapis_block","block.minecraft.sandstone","block.minecraft.chiseled_sandstone","block.minecraft.cut_sandstone","block.minecraft.cobweb","block.minecraft.short_grass","block.minecraft.fern","block.minecraft.bush","block.minecraft.azalea","block.minecraft.flowering_azalea","block.minecraft.dead_bush","block.minecraft.firefly_bush","block.minecraft.short_dry_grass","block.minecraft.tall_dry_grass","block.minecraft.seagrass","block.minecraft.sea_pickle","block.minecraft.white_wool","block.minecraft.orange_wool","block.minecraft.magenta_wool","block.minecraft.light_blue_wool","block.minecraft.yellow_wool","block.minecraft.lime_wool","block.minecraft.pink_wool","block.minecraft.gray_wool","block.minecraft.light_gray_wool","block.minecraft.cyan_wool","block.minecraft.purple_wool","block.minecraft.blue_wool","block.minecraft.brown_wool","block.minecraft.green_wool","block.minecraft.red_wool","block.minecraft.black_wool","block.minecraft.dandelion","block.minecraft.open_eyeblossom","block.minecraft.closed_eyeblossom","block.minecraft.poppy","block.minecraft.blue_orchid","block.minecraft.allium","block.minecraft.azure_bluet","block.minecraft.red_tulip","block.minecraft.orange_tulip","block.minecraft.white_tulip","block.minecraft.pink_tulip","block.minecraft.oxeye_daisy","block.minecraft.cornflower","block.minecraft.lily_of_the_valley","block.minecraft.wither_rose","block.minecraft.torchflower","block.minecraft.pitcher_plant","block.minecraft.spore_blossom","block.minecraft.brown_mushroom","block.minecraft.red_mushroom","block.minecraft.crimson_fungus","block.minecraft.warped_fungus","block.minecraft.crimson_roots","block.minecraft.warped_roots","block.minecraft.nether_sprouts","block.minecraft.weeping_vines","block.minecraft.twisting_vines","block.minecraft.sugar_cane","block.minecraft.kelp","block.minecraft.pink_petals","block.minecraft.wildflowers","block.minecraft.leaf_litter","block.minecraft.moss_carpet","block.minecraft.moss_block","block.minecraft.pale_moss_carpet","block.minecraft.pale_hanging_moss","block.minecraft.pale_moss_block","block.minecraft.hanging_roots","block.minecraft.big_dripleaf","block.minecraft.small_dripleaf","block.minecraft.bamboo","block.minecraft.oak_slab","block.minecraft.spruce_slab","block.minecraft.birch_slab","block.minecraft.jungle_slab","block.minecraft.acacia_slab","block.minecraft.cherry_slab","block.minecraft.dark_oak_slab","block.minecraft.pale_oak_slab","block.minecraft.mangrove_slab","block.minecraft.bamboo_slab","block.minecraft.bamboo_mosaic_slab","block.minecraft.crimson_slab","block.minecraft.warped_slab","block.minecraft.stone_slab","block.minecraft.smooth_stone_slab","block.minecraft.sandstone_slab","block.minecraft.cut_sandstone_slab","block.minecraft.petrified_oak_slab","block.minecraft.cobblestone_slab","block.minecraft.brick_slab","block.minecraft.stone_brick_slab","block.minecraft.mud_brick_slab","block.minecraft.nether_brick_slab","block.minecraft.quartz_slab","block.minecraft.red_sandstone_slab","block.minecraft.cut_red_sandstone_slab","block.minecraft.purpur_slab","block.minecraft.prismarine_slab","block.minecraft.prismarine_brick_slab","block.minecraft.dark_prismarine_slab","block.minecraft.smooth_quartz","block.minecraft.smooth_red_sandstone","block.minecraft.smooth_sandstone","block.minecraft.smooth_stone","block.minecraft.bricks","block.minecraft.acacia_shelf","block.minecraft.bamboo_shelf","block.minecraft.birch_shelf","block.minecraft.cherry_shelf","block.minecraft.crimson_shelf","block.minecraft.dark_oak_shelf","block.minecraft.jungle_shelf","block.minecraft.mangrove_shelf","block.minecraft.oak_shelf","block.minecraft.pale_oak_shelf","block.minecraft.spruce_shelf","block.minecraft.warped_shelf","block.minecraft.bookshelf","block.minecraft.chiseled_bookshelf","block.minecraft.decorated_pot","block.minecraft.mossy_cobblestone","block.minecraft.obsidian","block.minecraft.torch","block.minecraft.end_rod","block.minecraft.chorus_plant","block.minecraft.chorus_flower","block.minecraft.purpur_block","block.minecraft.purpur_pillar","block.minecraft.purpur_stairs","block.minecraft.spawner","block.minecraft.creaking_heart","block.minecraft.chest","block.minecraft.crafting_table","block.minecraft.farmland","block.minecraft.furnace","block.minecraft.ladder","block.minecraft.cobblestone_stairs","block.minecraft.snow","block.minecraft.ice","block.minecraft.snow_block","block.minecraft.cactus","block.minecraft.cactus_flower","block.minecraft.clay","block.minecraft.jukebox","block.minecraft.oak_fence","block.minecraft.spruce_fence","block.minecraft.birch_fence","block.minecraft.jungle_fence","block.minecraft.acacia_fence","block.minecraft.cherry_fence","block.minecraft.dark_oak_fence","block.minecraft.pale_oak_fence","block.minecraft.mangrove_fence","block.minecraft.bamboo_fence","block.minecraft.crimson_fence","block.minecraft.warped_fence","block.minecraft.pumpkin","block.minecraft.carved_pumpkin","block.minecraft.jack_o_lantern","block.minecraft.netherrack","block.minecraft.soul_sand","block.minecraft.soul_soil","block.minecraft.basalt","block.minecraft.polished_basalt","block.minecraft.smooth_basalt","block.minecraft.soul_torch","block.minecraft.copper_torch","block.minecraft.glowstone","block.minecraft.infested_stone","block.minecraft.infested_cobblestone","block.minecraft.infested_stone_bricks","block.minecraft.infested_mossy_stone_bricks","block.minecraft.infested_cracked_stone_bricks","block.minecraft.infested_chiseled_stone_bricks","block.minecraft.infested_deepslate","block.minecraft.stone_bricks","block.minecraft.mossy_stone_bricks","block.minecraft.cracked_stone_bricks","block.minecraft.chiseled_stone_bricks","block.minecraft.packed_mud","block.minecraft.mud_bricks","block.minecraft.deepslate_bricks","block.minecraft.cracked_deepslate_bricks","block.minecraft.deepslate_tiles","block.minecraft.cracked_deepslate_tiles","block.minecraft.chiseled_deepslate","block.minecraft.reinforced_deepslate","block.minecraft.brown_mushroom_block","block.minecraft.red_mushroom_block","block.minecraft.mushroom_stem","block.minecraft.iron_bars","block.minecraft.copper_bars","block.minecraft.exposed_copper_bars","block.minecraft.weathered_copper_bars","block.minecraft.oxidized_copper_bars","block.minecraft.waxed_copper_bars","block.minecraft.waxed_exposed_copper_bars","block.minecraft.waxed_weathered_copper_bars","block.minecraft.waxed_oxidized_copper_bars","block.minecraft.iron_chain","block.minecraft.copper_chain","block.minecraft.exposed_copper_chain","block.minecraft.weathered_copper_chain","block.minecraft.oxidized_copper_chain","block.minecraft.waxed_copper_chain","block.minecraft.waxed_exposed_copper_chain","block.minecraft.waxed_weathered_copper_chain","block.minecraft.waxed_oxidized_copper_chain","block.minecraft.glass_pane","block.minecraft.melon","block.minecraft.vine","block.minecraft.glow_lichen","item.minecraft.resin_clump","block.minecraft.resin_block","block.minecraft.resin_bricks","block.minecraft.resin_brick_stairs","block.minecraft.resin_brick_slab","block.minecraft.resin_brick_wall","block.minecraft.chiseled_resin_bricks","block.minecraft.brick_stairs","block.minecraft.stone_brick_stairs","block.minecraft.mud_brick_stairs","block.minecraft.mycelium","block.minecraft.lily_pad","block.minecraft.nether_bricks","block.minecraft.cracked_nether_bricks","block.minecraft.chiseled_nether_bricks","block.minecraft.nether_brick_fence","block.minecraft.nether_brick_stairs","block.minecraft.sculk","block.minecraft.sculk_vein","block.minecraft.sculk_catalyst","block.minecraft.sculk_shrieker","block.minecraft.enchanting_table","block.minecraft.end_portal_frame","block.minecraft.end_stone","block.minecraft.end_stone_bricks","block.minecraft.dragon_egg","block.minecraft.sandstone_stairs","block.minecraft.ender_chest","block.minecraft.emerald_block","block.minecraft.oak_stairs","block.minecraft.spruce_stairs","block.minecraft.birch_stairs","block.minecraft.jungle_stairs","block.minecraft.acacia_stairs","block.minecraft.cherry_stairs","block.minecraft.dark_oak_stairs","block.minecraft.pale_oak_stairs","block.minecraft.mangrove_stairs","block.minecraft.bamboo_stairs","block.minecraft.bamboo_mosaic_stairs","block.minecraft.crimson_stairs","block.minecraft.warped_stairs","block.minecraft.command_block","block.minecraft.beacon","block.minecraft.cobblestone_wall","block.minecraft.mossy_cobblestone_wall","block.minecraft.brick_wall","block.minecraft.prismarine_wall","block.minecraft.red_sandstone_wall","block.minecraft.mossy_stone_brick_wall","block.minecraft.granite_wall","block.minecraft.stone_brick_wall","block.minecraft.mud_brick_wall","block.minecraft.nether_brick_wall","block.minecraft.andesite_wall","block.minecraft.red_nether_brick_wall","block.minecraft.sandstone_wall","block.minecraft.end_stone_brick_wall","block.minecraft.diorite_wall","block.minecraft.blackstone_wall","block.minecraft.polished_blackstone_wall","block.minecraft.polished_blackstone_brick_wall","block.minecraft.cobbled_deepslate_wall","block.minecraft.polished_deepslate_wall","block.minecraft.deepslate_brick_wall","block.minecraft.deepslate_tile_wall","block.minecraft.anvil","block.minecraft.chipped_anvil","block.minecraft.damaged_anvil","block.minecraft.chiseled_quartz_block","block.minecraft.quartz_block","block.minecraft.quartz_bricks","block.minecraft.quartz_pillar","block.minecraft.quartz_stairs","block.minecraft.white_terracotta","block.minecraft.orange_terracotta","block.minecraft.magenta_terracotta","block.minecraft.light_blue_terracotta","block.minecraft.yellow_terracotta","block.minecraft.lime_terracotta","block.minecraft.pink_terracotta","block.minecraft.gray_terracotta","block.minecraft.light_gray_terracotta","block.minecraft.cyan_terracotta","block.minecraft.purple_terracotta","block.minecraft.blue_terracotta","block.minecraft.brown_terracotta","block.minecraft.green_terracotta","block.minecraft.red_terracotta","block.minecraft.black_terracotta","block.minecraft.barrier","block.minecraft.light","block.minecraft.hay_block","block.minecraft.white_carpet","block.minecraft.orange_carpet","block.minecraft.magenta_carpet","block.minecraft.light_blue_carpet","block.minecraft.yellow_carpet","block.minecraft.lime_carpet","block.minecraft.pink_carpet","block.minecraft.gray_carpet","block.minecraft.light_gray_carpet","block.minecraft.cyan_carpet","block.minecraft.purple_carpet","block.minecraft.blue_carpet","block.minecraft.brown_carpet","block.minecraft.green_carpet","block.minecraft.red_carpet","block.minecraft.black_carpet","block.minecraft.terracotta","block.minecraft.packed_ice","block.minecraft.dirt_path","block.minecraft.sunflower","block.minecraft.lilac","block.minecraft.rose_bush","block.minecraft.peony","block.minecraft.tall_grass","block.minecraft.large_fern","block.minecraft.white_stained_glass","block.minecraft.orange_stained_glass","block.minecraft.magenta_stained_glass","block.minecraft.light_blue_stained_glass","block.minecraft.yellow_stained_glass","block.minecraft.lime_stained_glass","block.minecraft.pink_stained_glass","block.minecraft.gray_stained_glass","block.minecraft.light_gray_stained_glass","block.minecraft.cyan_stained_glass","block.minecraft.purple_stained_glass","block.minecraft.blue_stained_glass","block.minecraft.brown_stained_glass","block.minecraft.green_stained_glass","block.minecraft.red_stained_glass","block.minecraft.black_stained_glass","block.minecraft.white_stained_glass_pane","block.minecraft.orange_stained_glass_pane","block.minecraft.magenta_stained_glass_pane","block.minecraft.light_blue_stained_glass_pane","block.minecraft.yellow_stained_glass_pane","block.minecraft.lime_stained_glass_pane","block.minecraft.pink_stained_glass_pane","block.minecraft.gray_stained_glass_pane","block.minecraft.light_gray_stained_glass_pane","block.minecraft.cyan_stained_glass_pane","block.minecraft.purple_stained_glass_pane","block.minecraft.blue_stained_glass_pane","block.minecraft.brown_stained_glass_pane","block.minecraft.green_stained_glass_pane","block.minecraft.red_stained_glass_pane","block.minecraft.black_stained_glass_pane","block.minecraft.prismarine","block.minecraft.prismarine_bricks","block.minecraft.dark_prismarine","block.minecraft.prismarine_stairs","block.minecraft.prismarine_brick_stairs","block.minecraft.dark_prismarine_stairs","block.minecraft.sea_lantern","block.minecraft.red_sandstone","block.minecraft.chiseled_red_sandstone","block.minecraft.cut_red_sandstone","block.minecraft.red_sandstone_stairs","block.minecraft.repeating_command_block","block.minecraft.chain_command_block","block.minecraft.magma_block","block.minecraft.nether_wart_block","block.minecraft.warped_wart_block","block.minecraft.red_nether_bricks","block.minecraft.bone_block","block.minecraft.structure_void","block.minecraft.shulker_box","block.minecraft.white_shulker_box","block.minecraft.orange_shulker_box","block.minecraft.magenta_shulker_box","block.minecraft.light_blue_shulker_box","block.minecraft.yellow_shulker_box","block.minecraft.lime_shulker_box","block.minecraft.pink_shulker_box","block.minecraft.gray_shulker_box","block.minecraft.light_gray_shulker_box","block.minecraft.cyan_shulker_box","block.minecraft.purple_shulker_box","block.minecraft.blue_shulker_box","block.minecraft.brown_shulker_box","block.minecraft.green_shulker_box","block.minecraft.red_shulker_box","block.minecraft.black_shulker_box","block.minecraft.white_glazed_terracotta","block.minecraft.orange_glazed_terracotta","block.minecraft.magenta_glazed_terracotta","block.minecraft.light_blue_glazed_terracotta","block.minecraft.yellow_glazed_terracotta","block.minecraft.lime_glazed_terracotta","block.minecraft.pink_glazed_terracotta","block.minecraft.gray_glazed_terracotta","block.minecraft.light_gray_glazed_terracotta","block.minecraft.cyan_glazed_terracotta","block.minecraft.purple_glazed_terracotta","block.minecraft.blue_glazed_terracotta","block.minecraft.brown_glazed_terracotta","block.minecraft.green_glazed_terracotta","block.minecraft.red_glazed_terracotta","block.minecraft.black_glazed_terracotta","block.minecraft.white_concrete","block.minecraft.orange_concrete","block.minecraft.magenta_concrete","block.minecraft.light_blue_concrete","block.minecraft.yellow_concrete","block.minecraft.lime_concrete","block.minecraft.pink_concrete","block.minecraft.gray_concrete","block.minecraft.light_gray_concrete","block.minecraft.cyan_concrete","block.minecraft.purple_concrete","block.minecraft.blue_concrete","block.minecraft.brown_concrete","block.minecraft.green_concrete","block.minecraft.red_concrete","block.minecraft.black_concrete","block.minecraft.white_concrete_powder","block.minecraft.orange_concrete_powder","block.minecraft.magenta_concrete_powder","block.minecraft.light_blue_concrete_powder","block.minecraft.yellow_concrete_powder","block.minecraft.lime_concrete_powder","block.minecraft.pink_concrete_powder","block.minecraft.gray_concrete_powder","block.minecraft.light_gray_concrete_powder","block.minecraft.cyan_concrete_powder","block.minecraft.purple_concrete_powder","block.minecraft.blue_concrete_powder","block.minecraft.brown_concrete_powder","block.minecraft.green_concrete_powder","block.minecraft.red_concrete_powder","block.minecraft.black_concrete_powder","block.minecraft.turtle_egg","block.minecraft.sniffer_egg","block.minecraft.dried_ghast","block.minecraft.dead_tube_coral_block","block.minecraft.dead_brain_coral_block","block.minecraft.dead_bubble_coral_block","block.minecraft.dead_fire_coral_block","block.minecraft.dead_horn_coral_block","block.minecraft.tube_coral_block","block.minecraft.brain_coral_block","block.minecraft.bubble_coral_block","block.minecraft.fire_coral_block","block.minecraft.horn_coral_block","block.minecraft.tube_coral","block.minecraft.brain_coral","block.minecraft.bubble_coral","block.minecraft.fire_coral","block.minecraft.horn_coral","block.minecraft.dead_brain_coral","block.minecraft.dead_bubble_coral","block.minecraft.dead_fire_coral","block.minecraft.dead_horn_coral","block.minecraft.dead_tube_coral","block.minecraft.tube_coral_fan","block.minecraft.brain_coral_fan","block.minecraft.bubble_coral_fan","block.minecraft.fire_coral_fan","block.minecraft.horn_coral_fan","block.minecraft.dead_tube_coral_fan","block.minecraft.dead_brain_coral_fan","block.minecraft.dead_bubble_coral_fan","block.minecraft.dead_fire_coral_fan","block.minecraft.dead_horn_coral_fan","block.minecraft.blue_ice","block.minecraft.conduit","block.minecraft.polished_granite_stairs","block.minecraft.smooth_red_sandstone_stairs","block.minecraft.mossy_stone_brick_stairs","block.minecraft.polished_diorite_stairs","block.minecraft.mossy_cobblestone_stairs","block.minecraft.end_stone_brick_stairs","block.minecraft.stone_stairs","block.minecraft.smooth_sandstone_stairs","block.minecraft.smooth_quartz_stairs","block.minecraft.granite_stairs","block.minecraft.andesite_stairs","block.minecraft.red_nether_brick_stairs","block.minecraft.polished_andesite_stairs","block.minecraft.diorite_stairs","block.minecraft.cobbled_deepslate_stairs","block.minecraft.polished_deepslate_stairs","block.minecraft.deepslate_brick_stairs","block.minecraft.deepslate_tile_stairs","block.minecraft.polished_granite_slab","block.minecraft.smooth_red_sandstone_slab","block.minecraft.mossy_stone_brick_slab","block.minecraft.polished_diorite_slab","block.minecraft.mossy_cobblestone_slab","block.minecraft.end_stone_brick_slab","block.minecraft.smooth_sandstone_slab","block.minecraft.smooth_quartz_slab","block.minecraft.granite_slab","block.minecraft.andesite_slab","block.minecraft.red_nether_brick_slab","block.minecraft.polished_andesite_slab","block.minecraft.diorite_slab","block.minecraft.cobbled_deepslate_slab","block.minecraft.polished_deepslate_slab","block.minecraft.deepslate_brick_slab","block.minecraft.deepslate_tile_slab","block.minecraft.scaffolding","item.minecraft.redstone","block.minecraft.redstone_torch","block.minecraft.redstone_block","block.minecraft.repeater","block.minecraft.comparator","block.minecraft.piston","block.minecraft.sticky_piston","block.minecraft.slime_block","block.minecraft.honey_block","block.minecraft.observer","block.minecraft.hopper","block.minecraft.dispenser","block.minecraft.dropper","block.minecraft.lectern","block.minecraft.target","block.minecraft.lever","block.minecraft.lightning_rod","block.minecraft.exposed_lightning_rod","block.minecraft.weathered_lightning_rod","block.minecraft.oxidized_lightning_rod","block.minecraft.waxed_lightning_rod","block.minecraft.waxed_exposed_lightning_rod","block.minecraft.waxed_weathered_lightning_rod","block.minecraft.waxed_oxidized_lightning_rod","block.minecraft.daylight_detector","block.minecraft.sculk_sensor","block.minecraft.calibrated_sculk_sensor","block.minecraft.tripwire_hook","block.minecraft.trapped_chest","block.minecraft.tnt","block.minecraft.redstone_lamp","block.minecraft.note_block","block.minecraft.stone_button","block.minecraft.polished_blackstone_button","block.minecraft.oak_button","block.minecraft.spruce_button","block.minecraft.birch_button","block.minecraft.jungle_button","block.minecraft.acacia_button","block.minecraft.cherry_button","block.minecraft.dark_oak_button","block.minecraft.pale_oak_button","block.minecraft.mangrove_button","block.minecraft.bamboo_button","block.minecraft.crimson_button","block.minecraft.warped_button","block.minecraft.stone_pressure_plate","block.minecraft.polished_blackstone_pressure_plate","block.minecraft.light_weighted_pressure_plate","block.minecraft.heavy_weighted_pressure_plate","block.minecraft.oak_pressure_plate","block.minecraft.spruce_pressure_plate","block.minecraft.birch_pressure_plate","block.minecraft.jungle_pressure_plate","block.minecraft.acacia_pressure_plate","block.minecraft.cherry_pressure_plate","block.minecraft.dark_oak_pressure_plate","block.minecraft.pale_oak_pressure_plate","block.minecraft.mangrove_pressure_plate","block.minecraft.bamboo_pressure_plate","block.minecraft.crimson_pressure_plate","block.minecraft.warped_pressure_plate","block.minecraft.iron_door","block.minecraft.oak_door","block.minecraft.spruce_door","block.minecraft.birch_door","block.minecraft.jungle_door","block.minecraft.acacia_door","block.minecraft.cherry_door","block.minecraft.dark_oak_door","block.minecraft.pale_oak_door","block.minecraft.mangrove_door","block.minecraft.bamboo_door","block.minecraft.crimson_door","block.minecraft.warped_door","block.minecraft.copper_door","block.minecraft.exposed_copper_door","block.minecraft.weathered_copper_door","block.minecraft.oxidized_copper_door","block.minecraft.waxed_copper_door","block.minecraft.waxed_exposed_copper_door","block.minecraft.waxed_weathered_copper_door","block.minecraft.waxed_oxidized_copper_door","block.minecraft.iron_trapdoor","block.minecraft.oak_trapdoor","block.minecraft.spruce_trapdoor","block.minecraft.birch_trapdoor","block.minecraft.jungle_trapdoor","block.minecraft.acacia_trapdoor","block.minecraft.cherry_trapdoor","block.minecraft.dark_oak_trapdoor","block.minecraft.pale_oak_trapdoor","block.minecraft.mangrove_trapdoor","block.minecraft.bamboo_trapdoor","block.minecraft.crimson_trapdoor","block.minecraft.warped_trapdoor","block.minecraft.copper_trapdoor","block.minecraft.exposed_copper_trapdoor","block.minecraft.weathered_copper_trapdoor","block.minecraft.oxidized_copper_trapdoor","block.minecraft.waxed_copper_trapdoor","block.minecraft.waxed_exposed_copper_trapdoor","block.minecraft.waxed_weathered_copper_trapdoor","block.minecraft.waxed_oxidized_copper_trapdoor","block.minecraft.oak_fence_gate","block.minecraft.spruce_fence_gate","block.minecraft.birch_fence_gate","block.minecraft.jungle_fence_gate","block.minecraft.acacia_fence_gate","block.minecraft.cherry_fence_gate","block.minecraft.dark_oak_fence_gate","block.minecraft.pale_oak_fence_gate","block.minecraft.mangrove_fence_gate","block.minecraft.bamboo_fence_gate","block.minecraft.crimson_fence_gate","block.minecraft.warped_fence_gate","block.minecraft.powered_rail","block.minecraft.detector_rail","block.minecraft.rail","block.minecraft.activator_rail","item.minecraft.saddle","item.minecraft.white_harness","item.minecraft.orange_harness","item.minecraft.magenta_harness","item.minecraft.light_blue_harness","item.minecraft.yellow_harness","item.minecraft.lime_harness","item.minecraft.pink_harness","item.minecraft.gray_harness","item.minecraft.light_gray_harness","item.minecraft.cyan_harness","item.minecraft.purple_harness","item.minecraft.blue_harness","item.minecraft.brown_harness","item.minecraft.green_harness","item.minecraft.red_harness","item.minecraft.black_harness","item.minecraft.minecart","item.minecraft.chest_minecart","item.minecraft.furnace_minecart","item.minecraft.tnt_minecart","item.minecraft.hopper_minecart","item.minecraft.carrot_on_a_stick","item.minecraft.warped_fungus_on_a_stick","item.minecraft.phantom_membrane","item.minecraft.elytra","item.minecraft.oak_boat","item.minecraft.oak_chest_boat","item.minecraft.spruce_boat","item.minecraft.spruce_chest_boat","item.minecraft.birch_boat","item.minecraft.birch_chest_boat","item.minecraft.jungle_boat","item.minecraft.jungle_chest_boat","item.minecraft.acacia_boat","item.minecraft.acacia_chest_boat","item.minecraft.cherry_boat","item.minecraft.cherry_chest_boat","item.minecraft.dark_oak_boat","item.minecraft.dark_oak_chest_boat","item.minecraft.pale_oak_boat","item.minecraft.pale_oak_chest_boat","item.minecraft.mangrove_boat","item.minecraft.mangrove_chest_boat","item.minecraft.bamboo_raft","item.minecraft.bamboo_chest_raft","block.minecraft.structure_block","block.minecraft.jigsaw","block.minecraft.test_block","block.minecraft.test_instance_block","item.minecraft.turtle_helmet","item.minecraft.turtle_scute","item.minecraft.armadillo_scute","item.minecraft.wolf_armor","item.minecraft.flint_and_steel","item.minecraft.bowl","item.minecraft.apple","item.minecraft.bow","item.minecraft.arrow","item.minecraft.coal","item.minecraft.charcoal","item.minecraft.diamond","item.minecraft.emerald","item.minecraft.lapis_lazuli","item.minecraft.quartz","item.minecraft.amethyst_shard","item.minecraft.raw_iron","item.minecraft.iron_ingot","item.minecraft.raw_copper","item.minecraft.copper_ingot","item.minecraft.raw_gold","item.minecraft.gold_ingot","item.minecraft.netherite_ingot","item.minecraft.netherite_scrap","item.minecraft.wooden_sword","item.minecraft.wooden_shovel","item.minecraft.wooden_pickaxe","item.minecraft.wooden_axe","item.minecraft.wooden_hoe","item.minecraft.copper_sword","item.minecraft.copper_shovel","item.minecraft.copper_pickaxe","item.minecraft.copper_axe","item.minecraft.copper_hoe","item.minecraft.stone_sword","item.minecraft.stone_shovel","item.minecraft.stone_pickaxe","item.minecraft.stone_axe","item.minecraft.stone_hoe","item.minecraft.golden_sword","item.minecraft.golden_shovel","item.minecraft.golden_pickaxe","item.minecraft.golden_axe","item.minecraft.golden_hoe","item.minecraft.iron_sword","item.minecraft.iron_shovel","item.minecraft.iron_pickaxe","item.minecraft.iron_axe","item.minecraft.iron_hoe","item.minecraft.diamond_sword","item.minecraft.diamond_shovel","item.minecraft.diamond_pickaxe","item.minecraft.diamond_axe","item.minecraft.diamond_hoe","item.minecraft.netherite_sword","item.minecraft.netherite_shovel","item.minecraft.netherite_pickaxe","item.minecraft.netherite_axe","item.minecraft.netherite_hoe","item.minecraft.stick","item.minecraft.mushroom_stew","item.minecraft.string","item.minecraft.feather","item.minecraft.gunpowder","item.minecraft.wheat_seeds","item.minecraft.wheat","item.minecraft.bread","item.minecraft.leather_helmet","item.minecraft.leather_chestplate","item.minecraft.leather_leggings","item.minecraft.leather_boots","item.minecraft.copper_helmet","item.minecraft.copper_chestplate","item.minecraft.copper_leggings","item.minecraft.copper_boots","item.minecraft.chainmail_helmet","item.minecraft.chainmail_chestplate","item.minecraft.chainmail_leggings","item.minecraft.chainmail_boots","item.minecraft.iron_helmet","item.minecraft.iron_chestplate","item.minecraft.iron_leggings","item.minecraft.iron_boots","item.minecraft.diamond_helmet","item.minecraft.diamond_chestplate","item.minecraft.diamond_leggings","item.minecraft.diamond_boots","item.minecraft.golden_helmet","item.minecraft.golden_chestplate","item.minecraft.golden_leggings","item.minecraft.golden_boots","item.minecraft.netherite_helmet","item.minecraft.netherite_chestplate","item.minecraft.netherite_leggings","item.minecraft.netherite_boots","item.minecraft.flint","item.minecraft.porkchop","item.minecraft.cooked_porkchop","item.minecraft.painting","item.minecraft.golden_apple","item.minecraft.enchanted_golden_apple","block.minecraft.oak_sign","block.minecraft.spruce_sign","block.minecraft.birch_sign","block.minecraft.jungle_sign","block.minecraft.acacia_sign","block.minecraft.cherry_sign","block.minecraft.dark_oak_sign","block.minecraft.pale_oak_sign","block.minecraft.mangrove_sign","block.minecraft.bamboo_sign","block.minecraft.crimson_sign","block.minecraft.warped_sign","block.minecraft.oak_hanging_sign","block.minecraft.spruce_hanging_sign","block.minecraft.birch_hanging_sign","block.minecraft.jungle_hanging_sign","block.minecraft.acacia_hanging_sign","block.minecraft.cherry_hanging_sign","block.minecraft.dark_oak_hanging_sign","block.minecraft.pale_oak_hanging_sign","block.minecraft.mangrove_hanging_sign","block.minecraft.bamboo_hanging_sign","block.minecraft.crimson_hanging_sign","block.minecraft.warped_hanging_sign","item.minecraft.bucket","item.minecraft.water_bucket","item.minecraft.lava_bucket","item.minecraft.powder_snow_bucket","item.minecraft.snowball","item.minecraft.leather","item.minecraft.milk_bucket","item.minecraft.pufferfish_bucket","item.minecraft.salmon_bucket","item.minecraft.cod_bucket","item.minecraft.tropical_fish_bucket","item.minecraft.axolotl_bucket","item.minecraft.tadpole_bucket","item.minecraft.brick","item.minecraft.clay_ball","block.minecraft.dried_kelp_block","item.minecraft.paper","item.minecraft.book","item.minecraft.slime_ball","item.minecraft.egg","item.minecraft.blue_egg","item.minecraft.brown_egg","item.minecraft.compass","item.minecraft.recovery_compass","item.minecraft.bundle","item.minecraft.white_bundle","item.minecraft.orange_bundle","item.minecraft.magenta_bundle","item.minecraft.light_blue_bundle","item.minecraft.yellow_bundle","item.minecraft.lime_bundle","item.minecraft.pink_bundle","item.minecraft.gray_bundle","item.minecraft.light_gray_bundle","item.minecraft.cyan_bundle","item.minecraft.purple_bundle","item.minecraft.blue_bundle","item.minecraft.brown_bundle","item.minecraft.green_bundle","item.minecraft.red_bundle","item.minecraft.black_bundle","item.minecraft.fishing_rod","item.minecraft.clock","item.minecraft.spyglass","item.minecraft.glowstone_dust","item.minecraft.cod","item.minecraft.salmon","item.minecraft.tropical_fish","item.minecraft.pufferfish","item.minecraft.cooked_cod","item.minecraft.cooked_salmon","item.minecraft.ink_sac","item.minecraft.glow_ink_sac","item.minecraft.cocoa_beans","item.minecraft.white_dye","item.minecraft.orange_dye","item.minecraft.magenta_dye","item.minecraft.light_blue_dye","item.minecraft.yellow_dye","item.minecraft.lime_dye","item.minecraft.pink_dye","item.minecraft.gray_dye","item.minecraft.light_gray_dye","item.minecraft.cyan_dye","item.minecraft.purple_dye","item.minecraft.blue_dye","item.minecraft.brown_dye","item.minecraft.green_dye","item.minecraft.red_dye","item.minecraft.black_dye","item.minecraft.bone_meal","item.minecraft.bone","item.minecraft.sugar","block.minecraft.cake","block.minecraft.white_bed","block.minecraft.orange_bed","block.minecraft.magenta_bed","block.minecraft.light_blue_bed","block.minecraft.yellow_bed","block.minecraft.lime_bed","block.minecraft.pink_bed","block.minecraft.gray_bed","block.minecraft.light_gray_bed","block.minecraft.cyan_bed","block.minecraft.purple_bed","block.minecraft.blue_bed","block.minecraft.brown_bed","block.minecraft.green_bed","block.minecraft.red_bed","block.minecraft.black_bed","item.minecraft.cookie","block.minecraft.crafter","item.minecraft.filled_map","item.minecraft.shears","item.minecraft.melon_slice","item.minecraft.dried_kelp","item.minecraft.pumpkin_seeds","item.minecraft.melon_seeds","item.minecraft.beef","item.minecraft.cooked_beef","item.minecraft.chicken","item.minecraft.cooked_chicken","item.minecraft.rotten_flesh","item.minecraft.ender_pearl","item.minecraft.blaze_rod","item.minecraft.ghast_tear","item.minecraft.gold_nugget","item.minecraft.nether_wart","item.minecraft.glass_bottle","item.minecraft.potion","item.minecraft.spider_eye","item.minecraft.fermented_spider_eye","item.minecraft.blaze_powder","item.minecraft.magma_cream","block.minecraft.brewing_stand","block.minecraft.cauldron","item.minecraft.ender_eye","item.minecraft.glistering_melon_slice","item.minecraft.chicken_spawn_egg","item.minecraft.cow_spawn_egg","item.minecraft.pig_spawn_egg","item.minecraft.sheep_spawn_egg","item.minecraft.camel_spawn_egg","item.minecraft.donkey_spawn_egg","item.minecraft.horse_spawn_egg","item.minecraft.mule_spawn_egg","item.minecraft.cat_spawn_egg","item.minecraft.parrot_spawn_egg","item.minecraft.wolf_spawn_egg","item.minecraft.armadillo_spawn_egg","item.minecraft.bat_spawn_egg","item.minecraft.bee_spawn_egg","item.minecraft.fox_spawn_egg","item.minecraft.goat_spawn_egg","item.minecraft.llama_spawn_egg","item.minecraft.ocelot_spawn_egg","item.minecraft.panda_spawn_egg","item.minecraft.polar_bear_spawn_egg","item.minecraft.rabbit_spawn_egg","item.minecraft.axolotl_spawn_egg","item.minecraft.cod_spawn_egg","item.minecraft.dolphin_spawn_egg","item.minecraft.frog_spawn_egg","item.minecraft.glow_squid_spawn_egg","item.minecraft.nautilus_spawn_egg","item.minecraft.pufferfish_spawn_egg","item.minecraft.salmon_spawn_egg","item.minecraft.squid_spawn_egg","item.minecraft.tadpole_spawn_egg","item.minecraft.tropical_fish_spawn_egg","item.minecraft.turtle_spawn_egg","item.minecraft.allay_spawn_egg","item.minecraft.mooshroom_spawn_egg","item.minecraft.sniffer_spawn_egg","item.minecraft.copper_golem_spawn_egg","item.minecraft.iron_golem_spawn_egg","item.minecraft.snow_golem_spawn_egg","item.minecraft.trader_llama_spawn_egg","item.minecraft.villager_spawn_egg","item.minecraft.wandering_trader_spawn_egg","item.minecraft.bogged_spawn_egg","item.minecraft.camel_husk_spawn_egg","item.minecraft.drowned_spawn_egg","item.minecraft.husk_spawn_egg","item.minecraft.parched_spawn_egg","item.minecraft.skeleton_spawn_egg","item.minecraft.skeleton_horse_spawn_egg","item.minecraft.stray_spawn_egg","item.minecraft.wither_spawn_egg","item.minecraft.wither_skeleton_spawn_egg","item.minecraft.zombie_spawn_egg","item.minecraft.zombie_horse_spawn_egg","item.minecraft.zombie_nautilus_spawn_egg","item.minecraft.zombie_villager_spawn_egg","item.minecraft.cave_spider_spawn_egg","item.minecraft.spider_spawn_egg","item.minecraft.breeze_spawn_egg","item.minecraft.creaking_spawn_egg","item.minecraft.creeper_spawn_egg","item.minecraft.elder_guardian_spawn_egg","item.minecraft.guardian_spawn_egg","item.minecraft.phantom_spawn_egg","item.minecraft.silverfish_spawn_egg","item.minecraft.slime_spawn_egg","item.minecraft.warden_spawn_egg","item.minecraft.witch_spawn_egg","item.minecraft.evoker_spawn_egg","item.minecraft.pillager_spawn_egg","item.minecraft.ravager_spawn_egg","item.minecraft.vindicator_spawn_egg","item.minecraft.vex_spawn_egg","item.minecraft.blaze_spawn_egg","item.minecraft.ghast_spawn_egg","item.minecraft.happy_ghast_spawn_egg","item.minecraft.hoglin_spawn_egg","item.minecraft.magma_cube_spawn_egg","item.minecraft.piglin_spawn_egg","item.minecraft.piglin_brute_spawn_egg","item.minecraft.strider_spawn_egg","item.minecraft.zoglin_spawn_egg","item.minecraft.zombified_piglin_spawn_egg","item.minecraft.ender_dragon_spawn_egg","item.minecraft.enderman_spawn_egg","item.minecraft.endermite_spawn_egg","item.minecraft.shulker_spawn_egg","item.minecraft.experience_bottle","item.minecraft.fire_charge","item.minecraft.wind_charge","item.minecraft.writable_book","item.minecraft.written_book","item.minecraft.breeze_rod","item.minecraft.mace","item.minecraft.item_frame","item.minecraft.glow_item_frame","block.minecraft.flower_pot","item.minecraft.carrot","item.minecraft.potato","item.minecraft.baked_potato","item.minecraft.poisonous_potato","item.minecraft.map","item.minecraft.golden_carrot","block.minecraft.skeleton_skull","block.minecraft.wither_skeleton_skull","block.minecraft.player_head","block.minecraft.zombie_head","block.minecraft.creeper_head","block.minecraft.dragon_head","block.minecraft.piglin_head","item.minecraft.nether_star","item.minecraft.pumpkin_pie","item.minecraft.firework_rocket","item.minecraft.firework_star","item.minecraft.enchanted_book","item.minecraft.nether_brick","item.minecraft.resin_brick","item.minecraft.prismarine_shard","item.minecraft.prismarine_crystals","item.minecraft.rabbit","item.minecraft.cooked_rabbit","item.minecraft.rabbit_stew","item.minecraft.rabbit_foot","item.minecraft.rabbit_hide","item.minecraft.armor_stand","item.minecraft.copper_horse_armor","item.minecraft.iron_horse_armor","item.minecraft.golden_horse_armor","item.minecraft.diamond_horse_armor","item.minecraft.netherite_horse_armor","item.minecraft.leather_horse_armor","item.minecraft.lead","item.minecraft.name_tag","item.minecraft.command_block_minecart","item.minecraft.mutton","item.minecraft.cooked_mutton","block.minecraft.white_banner","block.minecraft.orange_banner","block.minecraft.magenta_banner","block.minecraft.light_blue_banner","block.minecraft.yellow_banner","block.minecraft.lime_banner","block.minecraft.pink_banner","block.minecraft.gray_banner","block.minecraft.light_gray_banner","block.minecraft.cyan_banner","block.minecraft.purple_banner","block.minecraft.blue_banner","block.minecraft.brown_banner","block.minecraft.green_banner","block.minecraft.red_banner","block.minecraft.black_banner","item.minecraft.end_crystal","item.minecraft.chorus_fruit","item.minecraft.popped_chorus_fruit","item.minecraft.torchflower_seeds","item.minecraft.pitcher_pod","item.minecraft.beetroot","item.minecraft.beetroot_seeds","item.minecraft.beetroot_soup","item.minecraft.dragon_breath","item.minecraft.splash_potion","item.minecraft.spectral_arrow","item.minecraft.tipped_arrow","item.minecraft.lingering_potion","item.minecraft.shield","item.minecraft.wooden_spear","item.minecraft.stone_spear","item.minecraft.copper_spear","item.minecraft.iron_spear","item.minecraft.golden_spear","item.minecraft.diamond_spear","item.minecraft.netherite_spear","item.minecraft.totem_of_undying","item.minecraft.shulker_shell","item.minecraft.iron_nugget","item.minecraft.copper_nugget","item.minecraft.knowledge_book","item.minecraft.debug_stick","item.minecraft.music_disc_13","item.minecraft.music_disc_cat","item.minecraft.music_disc_blocks","item.minecraft.music_disc_chirp","item.minecraft.music_disc_creator","item.minecraft.music_disc_creator_music_box","item.minecraft.music_disc_far","item.minecraft.music_disc_lava_chicken","item.minecraft.music_disc_mall","item.minecraft.music_disc_mellohi","item.minecraft.music_disc_stal","item.minecraft.music_disc_strad","item.minecraft.music_disc_ward","item.minecraft.music_disc_11","item.minecraft.music_disc_wait","item.minecraft.music_disc_otherside","item.minecraft.music_disc_relic","item.minecraft.music_disc_5","item.minecraft.music_disc_pigstep","item.minecraft.music_disc_precipice","item.minecraft.music_disc_tears","item.minecraft.disc_fragment_5","item.minecraft.trident","item.minecraft.nautilus_shell","item.minecraft.iron_nautilus_armor","item.minecraft.golden_nautilus_armor","item.minecraft.diamond_nautilus_armor","item.minecraft.netherite_nautilus_armor","item.minecraft.copper_nautilus_armor","item.minecraft.heart_of_the_sea","item.minecraft.crossbow","item.minecraft.suspicious_stew","block.minecraft.loom","item.minecraft.flower_banner_pattern","item.minecraft.creeper_banner_pattern","item.minecraft.skull_banner_pattern","item.minecraft.mojang_banner_pattern","item.minecraft.globe_banner_pattern","item.minecraft.piglin_banner_pattern","item.minecraft.flow_banner_pattern","item.minecraft.guster_banner_pattern","item.minecraft.field_masoned_banner_pattern","item.minecraft.bordure_indented_banner_pattern","item.minecraft.goat_horn","block.minecraft.composter","block.minecraft.barrel","block.minecraft.smoker","block.minecraft.blast_furnace","block.minecraft.cartography_table","block.minecraft.fletching_table","block.minecraft.grindstone","block.minecraft.smithing_table","block.minecraft.stonecutter","block.minecraft.bell","block.minecraft.lantern","block.minecraft.soul_lantern","block.minecraft.copper_lantern","block.minecraft.exposed_copper_lantern","block.minecraft.weathered_copper_lantern","block.minecraft.oxidized_copper_lantern","block.minecraft.waxed_copper_lantern","block.minecraft.waxed_exposed_copper_lantern","block.minecraft.waxed_weathered_copper_lantern","block.minecraft.waxed_oxidized_copper_lantern","item.minecraft.sweet_berries","item.minecraft.glow_berries","block.minecraft.campfire","block.minecraft.soul_campfire","block.minecraft.shroomlight","item.minecraft.honeycomb","block.minecraft.bee_nest","block.minecraft.beehive","item.minecraft.honey_bottle","block.minecraft.honeycomb_block","block.minecraft.lodestone","block.minecraft.crying_obsidian","block.minecraft.blackstone","block.minecraft.blackstone_slab","block.minecraft.blackstone_stairs","block.minecraft.gilded_blackstone","block.minecraft.polished_blackstone","block.minecraft.polished_blackstone_slab","block.minecraft.polished_blackstone_stairs","block.minecraft.chiseled_polished_blackstone","block.minecraft.polished_blackstone_bricks","block.minecraft.polished_blackstone_brick_slab","block.minecraft.polished_blackstone_brick_stairs","block.minecraft.cracked_polished_blackstone_bricks","block.minecraft.respawn_anchor","block.minecraft.candle","block.minecraft.white_candle","block.minecraft.orange_candle","block.minecraft.magenta_candle","block.minecraft.light_blue_candle","block.minecraft.yellow_candle","block.minecraft.lime_candle","block.minecraft.pink_candle","block.minecraft.gray_candle","block.minecraft.light_gray_candle","block.minecraft.cyan_candle","block.minecraft.purple_candle","block.minecraft.blue_candle","block.minecraft.brown_candle","block.minecraft.green_candle","block.minecraft.red_candle","block.minecraft.black_candle","block.minecraft.small_amethyst_bud","block.minecraft.medium_amethyst_bud","block.minecraft.large_amethyst_bud","block.minecraft.amethyst_cluster","block.minecraft.pointed_dripstone","block.minecraft.ochre_froglight","block.minecraft.verdant_froglight","block.minecraft.pearlescent_froglight","block.minecraft.frogspawn","item.minecraft.echo_shard","item.minecraft.brush","item.minecraft.netherite_upgrade_smithing_template","item.minecraft.sentry_armor_trim_smithing_template","item.minecraft.dune_armor_trim_smithing_template","item.minecraft.coast_armor_trim_smithing_template","item.minecraft.wild_armor_trim_smithing_template","item.minecraft.ward_armor_trim_smithing_template","item.minecraft.eye_armor_trim_smithing_template","item.minecraft.vex_armor_trim_smithing_template","item.minecraft.tide_armor_trim_smithing_template","item.minecraft.snout_armor_trim_smithing_template","item.minecraft.rib_armor_trim_smithing_template","item.minecraft.spire_armor_trim_smithing_template","item.minecraft.wayfinder_armor_trim_smithing_template","item.minecraft.shaper_armor_trim_smithing_template","item.minecraft.silence_armor_trim_smithing_template","item.minecraft.raiser_armor_trim_smithing_template","item.minecraft.host_armor_trim_smithing_template","item.minecraft.flow_armor_trim_smithing_template","item.minecraft.bolt_armor_trim_smithing_template","item.minecraft.angler_pottery_sherd","item.minecraft.archer_pottery_sherd","item.minecraft.arms_up_pottery_sherd","item.minecraft.blade_pottery_sherd","item.minecraft.brewer_pottery_sherd","item.minecraft.burn_pottery_sherd","item.minecraft.danger_pottery_sherd","item.minecraft.explorer_pottery_sherd","item.minecraft.flow_pottery_sherd","item.minecraft.friend_pottery_sherd","item.minecraft.guster_pottery_sherd","item.minecraft.heart_pottery_sherd","item.minecraft.heartbreak_pottery_sherd","item.minecraft.howl_pottery_sherd","item.minecraft.miner_pottery_sherd","item.minecraft.mourner_pottery_sherd","item.minecraft.plenty_pottery_sherd","item.minecraft.prize_pottery_sherd","item.minecraft.scrape_pottery_sherd","item.minecraft.sheaf_pottery_sherd","item.minecraft.shelter_pottery_sherd","item.minecraft.skull_pottery_sherd","item.minecraft.snort_pottery_sherd","block.minecraft.copper_grate","block.minecraft.exposed_copper_grate","block.minecraft.weathered_copper_grate","block.minecraft.oxidized_copper_grate","block.minecraft.waxed_copper_grate","block.minecraft.waxed_exposed_copper_grate","block.minecraft.waxed_weathered_copper_grate","block.minecraft.waxed_oxidized_copper_grate","block.minecraft.copper_bulb","block.minecraft.exposed_copper_bulb","block.minecraft.weathered_copper_bulb","block.minecraft.oxidized_copper_bulb","block.minecraft.waxed_copper_bulb","block.minecraft.waxed_exposed_copper_bulb","block.minecraft.waxed_weathered_copper_bulb","block.minecraft.waxed_oxidized_copper_bulb","block.minecraft.copper_chest","block.minecraft.exposed_copper_chest","block.minecraft.weathered_copper_chest","block.minecraft.oxidized_copper_chest","block.minecraft.waxed_copper_chest","block.minecraft.waxed_exposed_copper_chest","block.minecraft.waxed_weathered_copper_chest","block.minecraft.waxed_oxidized_copper_chest","block.minecraft.copper_golem_statue","block.minecraft.exposed_copper_golem_statue","block.minecraft.weathered_copper_golem_statue","block.minecraft.oxidized_copper_golem_statue","block.minecraft.waxed_copper_golem_statue","block.minecraft.waxed_exposed_copper_golem_statue","block.minecraft.waxed_weathered_copper_golem_statue","block.minecraft.waxed_oxidized_copper_golem_statue","block.minecraft.trial_spawner","item.minecraft.trial_key","item.minecraft.ominous_trial_key","block.minecraft.vault","item.minecraft.ominous_bottle"];
impl DefaultableComponent for ItemName {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = ITEM_NAME_VALUES[item as usize];
Some(ItemName {
name: TranslatableComponent::from(value).into(),
@@ -2073,173 +2077,173 @@ impl DefaultableComponent for ItemName {
}
}
impl DefaultableComponent for Lore {
- fn default_for_item(_item: Item) -> Option<Self> {
+ fn default_for_item(_item: ItemKind) -> Option<Self> {
Some(Lore { lines: vec![] })
}
}
#[rustfmt::skip]
static MAX_STACK_SIZE_VALUES: [i32; 1505] = [64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,1,64,64,1,1,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,1,1,16,64,1,1,1,1,1,1,1,64,64,64,64,64,64,16,16,16,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,64,64,1,64,64,64,64,64,64,64,64,64,16,64,64,64,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,16,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,64,64,64,64,64,64,1,64,64,16,1,1,1,1,1,1,64,64,1,64,64,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,64,64,64,64,64,64,64,1,64,1,64,64,1,1,1,1,1,1,1,1,1,1,64,64,64,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,64,1,64,1,1,1,1,1,64,1,1,64,1,1,1,1,1,1,1,1,1,1,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,16,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,1,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64];
impl DefaultableComponent for MaxStackSize {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = MAX_STACK_SIZE_VALUES[item as usize];
Some(MaxStackSize { count: value })
}
}
impl DefaultableComponent for Rarity {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::AnglerPotterySherd => Rarity::Uncommon,
- Item::ArcherPotterySherd => Rarity::Uncommon,
- Item::ArmsUpPotterySherd => Rarity::Uncommon,
- Item::Barrier => Rarity::Epic,
- Item::Beacon => Rarity::Rare,
- Item::BladePotterySherd => Rarity::Uncommon,
- Item::BoltArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::BrewerPotterySherd => Rarity::Uncommon,
- Item::BurnPotterySherd => Rarity::Uncommon,
- Item::ChainCommandBlock => Rarity::Epic,
- Item::ChainmailBoots => Rarity::Uncommon,
- Item::ChainmailChestplate => Rarity::Uncommon,
- Item::ChainmailHelmet => Rarity::Uncommon,
- Item::ChainmailLeggings => Rarity::Uncommon,
- Item::CoastArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::CommandBlock => Rarity::Epic,
- Item::CommandBlockMinecart => Rarity::Epic,
- Item::Conduit => Rarity::Uncommon,
- Item::CreeperBannerPattern => Rarity::Uncommon,
- Item::CreeperHead => Rarity::Uncommon,
- Item::DangerPotterySherd => Rarity::Uncommon,
- Item::DebugStick => Rarity::Epic,
- Item::DiscFragment5 => Rarity::Uncommon,
- Item::DragonBreath => Rarity::Uncommon,
- Item::DragonEgg => Rarity::Epic,
- Item::DragonHead => Rarity::Epic,
- Item::DuneArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::EchoShard => Rarity::Uncommon,
- Item::Elytra => Rarity::Epic,
- Item::EnchantedBook => Rarity::Rare,
- Item::EnchantedGoldenApple => Rarity::Rare,
- Item::ExperienceBottle => Rarity::Uncommon,
- Item::ExplorerPotterySherd => Rarity::Uncommon,
- Item::EyeArmorTrimSmithingTemplate => Rarity::Rare,
- Item::FlowArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::FlowBannerPattern => Rarity::Rare,
- Item::FlowPotterySherd => Rarity::Uncommon,
- Item::FriendPotterySherd => Rarity::Uncommon,
- Item::GoatHorn => Rarity::Uncommon,
- Item::GusterBannerPattern => Rarity::Rare,
- Item::GusterPotterySherd => Rarity::Uncommon,
- Item::HeartOfTheSea => Rarity::Uncommon,
- Item::HeartPotterySherd => Rarity::Uncommon,
- Item::HeartbreakPotterySherd => Rarity::Uncommon,
- Item::HeavyCore => Rarity::Epic,
- Item::HostArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::HowlPotterySherd => Rarity::Uncommon,
- Item::Jigsaw => Rarity::Epic,
- Item::KnowledgeBook => Rarity::Epic,
- Item::Light => Rarity::Epic,
- Item::Mace => Rarity::Epic,
- Item::MinerPotterySherd => Rarity::Uncommon,
- Item::MojangBannerPattern => Rarity::Rare,
- Item::MournerPotterySherd => Rarity::Uncommon,
- Item::MusicDisc11 => Rarity::Uncommon,
- Item::MusicDisc13 => Rarity::Uncommon,
- Item::MusicDisc5 => Rarity::Uncommon,
- Item::MusicDiscBlocks => Rarity::Uncommon,
- Item::MusicDiscCat => Rarity::Uncommon,
- Item::MusicDiscChirp => Rarity::Uncommon,
- Item::MusicDiscCreator => Rarity::Rare,
- Item::MusicDiscCreatorMusicBox => Rarity::Uncommon,
- Item::MusicDiscFar => Rarity::Uncommon,
- Item::MusicDiscLavaChicken => Rarity::Rare,
- Item::MusicDiscMall => Rarity::Uncommon,
- Item::MusicDiscMellohi => Rarity::Uncommon,
- Item::MusicDiscOtherside => Rarity::Rare,
- Item::MusicDiscPigstep => Rarity::Rare,
- Item::MusicDiscPrecipice => Rarity::Uncommon,
- Item::MusicDiscRelic => Rarity::Uncommon,
- Item::MusicDiscStal => Rarity::Uncommon,
- Item::MusicDiscStrad => Rarity::Uncommon,
- Item::MusicDiscTears => Rarity::Uncommon,
- Item::MusicDiscWait => Rarity::Uncommon,
- Item::MusicDiscWard => Rarity::Uncommon,
- Item::NautilusShell => Rarity::Uncommon,
- Item::NetherStar => Rarity::Rare,
- Item::NetheriteUpgradeSmithingTemplate => Rarity::Uncommon,
- Item::OminousBottle => Rarity::Uncommon,
- Item::PiglinBannerPattern => Rarity::Uncommon,
- Item::PiglinHead => Rarity::Uncommon,
- Item::PlayerHead => Rarity::Uncommon,
- Item::PlentyPotterySherd => Rarity::Uncommon,
- Item::PrizePotterySherd => Rarity::Uncommon,
- Item::RaiserArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::RecoveryCompass => Rarity::Uncommon,
- Item::RepeatingCommandBlock => Rarity::Epic,
- Item::RibArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::ScrapePotterySherd => Rarity::Uncommon,
- Item::SentryArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::ShaperArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::SheafPotterySherd => Rarity::Uncommon,
- Item::ShelterPotterySherd => Rarity::Uncommon,
- Item::SilenceArmorTrimSmithingTemplate => Rarity::Epic,
- Item::SkeletonSkull => Rarity::Uncommon,
- Item::SkullBannerPattern => Rarity::Rare,
- Item::SkullPotterySherd => Rarity::Uncommon,
- Item::SnifferEgg => Rarity::Uncommon,
- Item::SnortPotterySherd => Rarity::Uncommon,
- Item::SnoutArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::SpireArmorTrimSmithingTemplate => Rarity::Rare,
- Item::StructureBlock => Rarity::Epic,
- Item::StructureVoid => Rarity::Epic,
- Item::TestBlock => Rarity::Epic,
- Item::TestInstanceBlock => Rarity::Epic,
- Item::TideArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::TotemOfUndying => Rarity::Uncommon,
- Item::Trident => Rarity::Rare,
- Item::VexArmorTrimSmithingTemplate => Rarity::Rare,
- Item::WardArmorTrimSmithingTemplate => Rarity::Rare,
- Item::WayfinderArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::WildArmorTrimSmithingTemplate => Rarity::Uncommon,
- Item::WitherSkeletonSkull => Rarity::Rare,
- Item::ZombieHead => Rarity::Uncommon,
+ ItemKind::AnglerPotterySherd => Rarity::Uncommon,
+ ItemKind::ArcherPotterySherd => Rarity::Uncommon,
+ ItemKind::ArmsUpPotterySherd => Rarity::Uncommon,
+ ItemKind::Barrier => Rarity::Epic,
+ ItemKind::Beacon => Rarity::Rare,
+ ItemKind::BladePotterySherd => Rarity::Uncommon,
+ ItemKind::BoltArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::BrewerPotterySherd => Rarity::Uncommon,
+ ItemKind::BurnPotterySherd => Rarity::Uncommon,
+ ItemKind::ChainCommandBlock => Rarity::Epic,
+ ItemKind::ChainmailBoots => Rarity::Uncommon,
+ ItemKind::ChainmailChestplate => Rarity::Uncommon,
+ ItemKind::ChainmailHelmet => Rarity::Uncommon,
+ ItemKind::ChainmailLeggings => Rarity::Uncommon,
+ ItemKind::CoastArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::CommandBlock => Rarity::Epic,
+ ItemKind::CommandBlockMinecart => Rarity::Epic,
+ ItemKind::Conduit => Rarity::Uncommon,
+ ItemKind::CreeperBannerPattern => Rarity::Uncommon,
+ ItemKind::CreeperHead => Rarity::Uncommon,
+ ItemKind::DangerPotterySherd => Rarity::Uncommon,
+ ItemKind::DebugStick => Rarity::Epic,
+ ItemKind::DiscFragment5 => Rarity::Uncommon,
+ ItemKind::DragonBreath => Rarity::Uncommon,
+ ItemKind::DragonEgg => Rarity::Epic,
+ ItemKind::DragonHead => Rarity::Epic,
+ ItemKind::DuneArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::EchoShard => Rarity::Uncommon,
+ ItemKind::Elytra => Rarity::Epic,
+ ItemKind::EnchantedBook => Rarity::Rare,
+ ItemKind::EnchantedGoldenApple => Rarity::Rare,
+ ItemKind::ExperienceBottle => Rarity::Uncommon,
+ ItemKind::ExplorerPotterySherd => Rarity::Uncommon,
+ ItemKind::EyeArmorTrimSmithingTemplate => Rarity::Rare,
+ ItemKind::FlowArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::FlowBannerPattern => Rarity::Rare,
+ ItemKind::FlowPotterySherd => Rarity::Uncommon,
+ ItemKind::FriendPotterySherd => Rarity::Uncommon,
+ ItemKind::GoatHorn => Rarity::Uncommon,
+ ItemKind::GusterBannerPattern => Rarity::Rare,
+ ItemKind::GusterPotterySherd => Rarity::Uncommon,
+ ItemKind::HeartOfTheSea => Rarity::Uncommon,
+ ItemKind::HeartPotterySherd => Rarity::Uncommon,
+ ItemKind::HeartbreakPotterySherd => Rarity::Uncommon,
+ ItemKind::HeavyCore => Rarity::Epic,
+ ItemKind::HostArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::HowlPotterySherd => Rarity::Uncommon,
+ ItemKind::Jigsaw => Rarity::Epic,
+ ItemKind::KnowledgeBook => Rarity::Epic,
+ ItemKind::Light => Rarity::Epic,
+ ItemKind::Mace => Rarity::Epic,
+ ItemKind::MinerPotterySherd => Rarity::Uncommon,
+ ItemKind::MojangBannerPattern => Rarity::Rare,
+ ItemKind::MournerPotterySherd => Rarity::Uncommon,
+ ItemKind::MusicDisc11 => Rarity::Uncommon,
+ ItemKind::MusicDisc13 => Rarity::Uncommon,
+ ItemKind::MusicDisc5 => Rarity::Uncommon,
+ ItemKind::MusicDiscBlocks => Rarity::Uncommon,
+ ItemKind::MusicDiscCat => Rarity::Uncommon,
+ ItemKind::MusicDiscChirp => Rarity::Uncommon,
+ ItemKind::MusicDiscCreator => Rarity::Rare,
+ ItemKind::MusicDiscCreatorMusicBox => Rarity::Uncommon,
+ ItemKind::MusicDiscFar => Rarity::Uncommon,
+ ItemKind::MusicDiscLavaChicken => Rarity::Rare,
+ ItemKind::MusicDiscMall => Rarity::Uncommon,
+ ItemKind::MusicDiscMellohi => Rarity::Uncommon,
+ ItemKind::MusicDiscOtherside => Rarity::Rare,
+ ItemKind::MusicDiscPigstep => Rarity::Rare,
+ ItemKind::MusicDiscPrecipice => Rarity::Uncommon,
+ ItemKind::MusicDiscRelic => Rarity::Uncommon,
+ ItemKind::MusicDiscStal => Rarity::Uncommon,
+ ItemKind::MusicDiscStrad => Rarity::Uncommon,
+ ItemKind::MusicDiscTears => Rarity::Uncommon,
+ ItemKind::MusicDiscWait => Rarity::Uncommon,
+ ItemKind::MusicDiscWard => Rarity::Uncommon,
+ ItemKind::NautilusShell => Rarity::Uncommon,
+ ItemKind::NetherStar => Rarity::Rare,
+ ItemKind::NetheriteUpgradeSmithingTemplate => Rarity::Uncommon,
+ ItemKind::OminousBottle => Rarity::Uncommon,
+ ItemKind::PiglinBannerPattern => Rarity::Uncommon,
+ ItemKind::PiglinHead => Rarity::Uncommon,
+ ItemKind::PlayerHead => Rarity::Uncommon,
+ ItemKind::PlentyPotterySherd => Rarity::Uncommon,
+ ItemKind::PrizePotterySherd => Rarity::Uncommon,
+ ItemKind::RaiserArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::RecoveryCompass => Rarity::Uncommon,
+ ItemKind::RepeatingCommandBlock => Rarity::Epic,
+ ItemKind::RibArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::ScrapePotterySherd => Rarity::Uncommon,
+ ItemKind::SentryArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::ShaperArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::SheafPotterySherd => Rarity::Uncommon,
+ ItemKind::ShelterPotterySherd => Rarity::Uncommon,
+ ItemKind::SilenceArmorTrimSmithingTemplate => Rarity::Epic,
+ ItemKind::SkeletonSkull => Rarity::Uncommon,
+ ItemKind::SkullBannerPattern => Rarity::Rare,
+ ItemKind::SkullPotterySherd => Rarity::Uncommon,
+ ItemKind::SnifferEgg => Rarity::Uncommon,
+ ItemKind::SnortPotterySherd => Rarity::Uncommon,
+ ItemKind::SnoutArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::SpireArmorTrimSmithingTemplate => Rarity::Rare,
+ ItemKind::StructureBlock => Rarity::Epic,
+ ItemKind::StructureVoid => Rarity::Epic,
+ ItemKind::TestBlock => Rarity::Epic,
+ ItemKind::TestInstanceBlock => Rarity::Epic,
+ ItemKind::TideArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::TotemOfUndying => Rarity::Uncommon,
+ ItemKind::Trident => Rarity::Rare,
+ ItemKind::VexArmorTrimSmithingTemplate => Rarity::Rare,
+ ItemKind::WardArmorTrimSmithingTemplate => Rarity::Rare,
+ ItemKind::WayfinderArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::WildArmorTrimSmithingTemplate => Rarity::Uncommon,
+ ItemKind::WitherSkeletonSkull => Rarity::Rare,
+ ItemKind::ZombieHead => Rarity::Uncommon,
_ => Rarity::Common,
};
Some(value)
}
}
impl DefaultableComponent for RepairCost {
- fn default_for_item(_item: Item) -> Option<Self> {
+ fn default_for_item(_item: ItemKind) -> Option<Self> {
Some(RepairCost { cost: 0 })
}
}
impl DefaultableComponent for SwingAnimation {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => SwingAnimation {
+ ItemKind::CopperSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 17,
},
- Item::DiamondSpear => SwingAnimation {
+ ItemKind::DiamondSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 21,
},
- Item::GoldenSpear => SwingAnimation {
+ ItemKind::GoldenSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 19,
},
- Item::IronSpear => SwingAnimation {
+ ItemKind::IronSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 19,
},
- Item::NetheriteSpear => SwingAnimation {
+ ItemKind::NetheriteSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 23,
},
- Item::StoneSpear => SwingAnimation {
+ ItemKind::StoneSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 15,
},
- Item::WoodenSpear => SwingAnimation {
+ ItemKind::WoodenSpear => SwingAnimation {
kind: SwingAnimationKind::Stab,
duration: 13,
},
@@ -2249,44 +2253,44 @@ impl DefaultableComponent for SwingAnimation {
}
}
impl DefaultableComponent for TooltipDisplay {
- fn default_for_item(_item: Item) -> Option<Self> {
+ fn default_for_item(_item: ItemKind) -> Option<Self> {
Some(TooltipDisplay::new())
}
}
impl DefaultableComponent for UseEffects {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => UseEffects {
+ ItemKind::CopperSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
},
- Item::DiamondSpear => UseEffects {
+ ItemKind::DiamondSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
},
- Item::GoldenSpear => UseEffects {
+ ItemKind::GoldenSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
},
- Item::IronSpear => UseEffects {
+ ItemKind::IronSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
},
- Item::NetheriteSpear => UseEffects {
+ ItemKind::NetheriteSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
},
- Item::StoneSpear => UseEffects {
+ ItemKind::StoneSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
},
- Item::WoodenSpear => UseEffects {
+ ItemKind::WoodenSpear => UseEffects {
can_sprint: true,
interact_vibrations: false,
speed_multiplier: 1.0,
@@ -2297,147 +2301,147 @@ impl DefaultableComponent for UseEffects {
}
}
impl DefaultableComponent for Container {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::AcaciaShelf => vec![],
- Item::BambooShelf => vec![],
- Item::Barrel => vec![],
- Item::BirchShelf => vec![],
- Item::BlackShulkerBox => vec![],
- Item::BlastFurnace => vec![],
- Item::BlueShulkerBox => vec![],
- Item::BrewingStand => vec![],
- Item::BrownShulkerBox => vec![],
- Item::Campfire => vec![],
- Item::CherryShelf => vec![],
- Item::Chest => vec![],
- Item::ChiseledBookshelf => vec![],
- Item::Crafter => vec![],
- Item::CrimsonShelf => vec![],
- Item::CyanShulkerBox => vec![],
- Item::DarkOakShelf => vec![],
- Item::DecoratedPot => vec![],
- Item::Dispenser => vec![],
- Item::Dropper => vec![],
- Item::Furnace => vec![],
- Item::GrayShulkerBox => vec![],
- Item::GreenShulkerBox => vec![],
- Item::Hopper => vec![],
- Item::JungleShelf => vec![],
- Item::LightBlueShulkerBox => vec![],
- Item::LightGrayShulkerBox => vec![],
- Item::LimeShulkerBox => vec![],
- Item::MagentaShulkerBox => vec![],
- Item::MangroveShelf => vec![],
- Item::OakShelf => vec![],
- Item::OrangeShulkerBox => vec![],
- Item::PaleOakShelf => vec![],
- Item::PinkShulkerBox => vec![],
- Item::PurpleShulkerBox => vec![],
- Item::RedShulkerBox => vec![],
- Item::ShulkerBox => vec![],
- Item::Smoker => vec![],
- Item::SoulCampfire => vec![],
- Item::SpruceShelf => vec![],
- Item::TrappedChest => vec![],
- Item::WarpedShelf => vec![],
- Item::WhiteShulkerBox => vec![],
- Item::YellowShulkerBox => vec![],
+ ItemKind::AcaciaShelf => vec![],
+ ItemKind::BambooShelf => vec![],
+ ItemKind::Barrel => vec![],
+ ItemKind::BirchShelf => vec![],
+ ItemKind::BlackShulkerBox => vec![],
+ ItemKind::BlastFurnace => vec![],
+ ItemKind::BlueShulkerBox => vec![],
+ ItemKind::BrewingStand => vec![],
+ ItemKind::BrownShulkerBox => vec![],
+ ItemKind::Campfire => vec![],
+ ItemKind::CherryShelf => vec![],
+ ItemKind::Chest => vec![],
+ ItemKind::ChiseledBookshelf => vec![],
+ ItemKind::Crafter => vec![],
+ ItemKind::CrimsonShelf => vec![],
+ ItemKind::CyanShulkerBox => vec![],
+ ItemKind::DarkOakShelf => vec![],
+ ItemKind::DecoratedPot => vec![],
+ ItemKind::Dispenser => vec![],
+ ItemKind::Dropper => vec![],
+ ItemKind::Furnace => vec![],
+ ItemKind::GrayShulkerBox => vec![],
+ ItemKind::GreenShulkerBox => vec![],
+ ItemKind::Hopper => vec![],
+ ItemKind::JungleShelf => vec![],
+ ItemKind::LightBlueShulkerBox => vec![],
+ ItemKind::LightGrayShulkerBox => vec![],
+ ItemKind::LimeShulkerBox => vec![],
+ ItemKind::MagentaShulkerBox => vec![],
+ ItemKind::MangroveShelf => vec![],
+ ItemKind::OakShelf => vec![],
+ ItemKind::OrangeShulkerBox => vec![],
+ ItemKind::PaleOakShelf => vec![],
+ ItemKind::PinkShulkerBox => vec![],
+ ItemKind::PurpleShulkerBox => vec![],
+ ItemKind::RedShulkerBox => vec![],
+ ItemKind::ShulkerBox => vec![],
+ ItemKind::Smoker => vec![],
+ ItemKind::SoulCampfire => vec![],
+ ItemKind::SpruceShelf => vec![],
+ ItemKind::TrappedChest => vec![],
+ ItemKind::WarpedShelf => vec![],
+ ItemKind::WhiteShulkerBox => vec![],
+ ItemKind::YellowShulkerBox => vec![],
_ => return None,
};
Some(Container { items: value })
}
}
impl DefaultableComponent for EntityData {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::AllaySpawnEgg => EntityKind::Allay,
- Item::ArmadilloSpawnEgg => EntityKind::Armadillo,
- Item::AxolotlSpawnEgg => EntityKind::Axolotl,
- Item::BatSpawnEgg => EntityKind::Bat,
- Item::BeeSpawnEgg => EntityKind::Bee,
- Item::BlazeSpawnEgg => EntityKind::Blaze,
- Item::BoggedSpawnEgg => EntityKind::Bogged,
- Item::BreezeSpawnEgg => EntityKind::Breeze,
- Item::CamelHuskSpawnEgg => EntityKind::CamelHusk,
- Item::CamelSpawnEgg => EntityKind::Camel,
- Item::CatSpawnEgg => EntityKind::Cat,
- Item::CaveSpiderSpawnEgg => EntityKind::CaveSpider,
- Item::ChickenSpawnEgg => EntityKind::Chicken,
- Item::CodSpawnEgg => EntityKind::Cod,
- Item::CopperGolemSpawnEgg => EntityKind::CopperGolem,
- Item::CowSpawnEgg => EntityKind::Cow,
- Item::CreakingSpawnEgg => EntityKind::Creaking,
- Item::CreeperSpawnEgg => EntityKind::Creeper,
- Item::DolphinSpawnEgg => EntityKind::Dolphin,
- Item::DonkeySpawnEgg => EntityKind::Donkey,
- Item::DrownedSpawnEgg => EntityKind::Drowned,
- Item::ElderGuardianSpawnEgg => EntityKind::ElderGuardian,
- Item::EnderDragonSpawnEgg => EntityKind::EnderDragon,
- Item::EndermanSpawnEgg => EntityKind::Enderman,
- Item::EndermiteSpawnEgg => EntityKind::Endermite,
- Item::EvokerSpawnEgg => EntityKind::Evoker,
- Item::FoxSpawnEgg => EntityKind::Fox,
- Item::FrogSpawnEgg => EntityKind::Frog,
- Item::GhastSpawnEgg => EntityKind::Ghast,
- Item::GlowSquidSpawnEgg => EntityKind::GlowSquid,
- Item::GoatSpawnEgg => EntityKind::Goat,
- Item::GuardianSpawnEgg => EntityKind::Guardian,
- Item::HappyGhastSpawnEgg => EntityKind::HappyGhast,
- Item::HoglinSpawnEgg => EntityKind::Hoglin,
- Item::HorseSpawnEgg => EntityKind::Horse,
- Item::HuskSpawnEgg => EntityKind::Husk,
- Item::IronGolemSpawnEgg => EntityKind::IronGolem,
- Item::LlamaSpawnEgg => EntityKind::Llama,
- Item::MagmaCubeSpawnEgg => EntityKind::MagmaCube,
- Item::MooshroomSpawnEgg => EntityKind::Mooshroom,
- Item::MuleSpawnEgg => EntityKind::Mule,
- Item::NautilusSpawnEgg => EntityKind::Nautilus,
- Item::OcelotSpawnEgg => EntityKind::Ocelot,
- Item::PandaSpawnEgg => EntityKind::Panda,
- Item::ParchedSpawnEgg => EntityKind::Parched,
- Item::ParrotSpawnEgg => EntityKind::Parrot,
- Item::PhantomSpawnEgg => EntityKind::Phantom,
- Item::PigSpawnEgg => EntityKind::Pig,
- Item::PiglinBruteSpawnEgg => EntityKind::PiglinBrute,
- Item::PiglinSpawnEgg => EntityKind::Piglin,
- Item::PillagerSpawnEgg => EntityKind::Pillager,
- Item::PolarBearSpawnEgg => EntityKind::PolarBear,
- Item::PufferfishSpawnEgg => EntityKind::Pufferfish,
- Item::RabbitSpawnEgg => EntityKind::Rabbit,
- Item::RavagerSpawnEgg => EntityKind::Ravager,
- Item::SalmonSpawnEgg => EntityKind::Salmon,
- Item::SheepSpawnEgg => EntityKind::Sheep,
- Item::ShulkerSpawnEgg => EntityKind::Shulker,
- Item::SilverfishSpawnEgg => EntityKind::Silverfish,
- Item::SkeletonHorseSpawnEgg => EntityKind::SkeletonHorse,
- Item::SkeletonSpawnEgg => EntityKind::Skeleton,
- Item::SlimeSpawnEgg => EntityKind::Slime,
- Item::SnifferSpawnEgg => EntityKind::Sniffer,
- Item::SnowGolemSpawnEgg => EntityKind::SnowGolem,
- Item::SpiderSpawnEgg => EntityKind::Spider,
- Item::SquidSpawnEgg => EntityKind::Squid,
- Item::StraySpawnEgg => EntityKind::Stray,
- Item::StriderSpawnEgg => EntityKind::Strider,
- Item::TadpoleSpawnEgg => EntityKind::Tadpole,
- Item::TraderLlamaSpawnEgg => EntityKind::TraderLlama,
- Item::TropicalFishSpawnEgg => EntityKind::TropicalFish,
- Item::TurtleSpawnEgg => EntityKind::Turtle,
- Item::VexSpawnEgg => EntityKind::Vex,
- Item::VillagerSpawnEgg => EntityKind::Villager,
- Item::VindicatorSpawnEgg => EntityKind::Vindicator,
- Item::WanderingTraderSpawnEgg => EntityKind::WanderingTrader,
- Item::WardenSpawnEgg => EntityKind::Warden,
- Item::WitchSpawnEgg => EntityKind::Witch,
- Item::WitherSkeletonSpawnEgg => EntityKind::WitherSkeleton,
- Item::WitherSpawnEgg => EntityKind::Wither,
- Item::WolfSpawnEgg => EntityKind::Wolf,
- Item::ZoglinSpawnEgg => EntityKind::Zoglin,
- Item::ZombieHorseSpawnEgg => EntityKind::ZombieHorse,
- Item::ZombieNautilusSpawnEgg => EntityKind::ZombieNautilus,
- Item::ZombieSpawnEgg => EntityKind::Zombie,
- Item::ZombieVillagerSpawnEgg => EntityKind::ZombieVillager,
- Item::ZombifiedPiglinSpawnEgg => EntityKind::ZombifiedPiglin,
+ ItemKind::AllaySpawnEgg => EntityKind::Allay,
+ ItemKind::ArmadilloSpawnEgg => EntityKind::Armadillo,
+ ItemKind::AxolotlSpawnEgg => EntityKind::Axolotl,
+ ItemKind::BatSpawnEgg => EntityKind::Bat,
+ ItemKind::BeeSpawnEgg => EntityKind::Bee,
+ ItemKind::BlazeSpawnEgg => EntityKind::Blaze,
+ ItemKind::BoggedSpawnEgg => EntityKind::Bogged,
+ ItemKind::BreezeSpawnEgg => EntityKind::Breeze,
+ ItemKind::CamelHuskSpawnEgg => EntityKind::CamelHusk,
+ ItemKind::CamelSpawnEgg => EntityKind::Camel,
+ ItemKind::CatSpawnEgg => EntityKind::Cat,
+ ItemKind::CaveSpiderSpawnEgg => EntityKind::CaveSpider,
+ ItemKind::ChickenSpawnEgg => EntityKind::Chicken,
+ ItemKind::CodSpawnEgg => EntityKind::Cod,
+ ItemKind::CopperGolemSpawnEgg => EntityKind::CopperGolem,
+ ItemKind::CowSpawnEgg => EntityKind::Cow,
+ ItemKind::CreakingSpawnEgg => EntityKind::Creaking,
+ ItemKind::CreeperSpawnEgg => EntityKind::Creeper,
+ ItemKind::DolphinSpawnEgg => EntityKind::Dolphin,
+ ItemKind::DonkeySpawnEgg => EntityKind::Donkey,
+ ItemKind::DrownedSpawnEgg => EntityKind::Drowned,
+ ItemKind::ElderGuardianSpawnEgg => EntityKind::ElderGuardian,
+ ItemKind::EnderDragonSpawnEgg => EntityKind::EnderDragon,
+ ItemKind::EndermanSpawnEgg => EntityKind::Enderman,
+ ItemKind::EndermiteSpawnEgg => EntityKind::Endermite,
+ ItemKind::EvokerSpawnEgg => EntityKind::Evoker,
+ ItemKind::FoxSpawnEgg => EntityKind::Fox,
+ ItemKind::FrogSpawnEgg => EntityKind::Frog,
+ ItemKind::GhastSpawnEgg => EntityKind::Ghast,
+ ItemKind::GlowSquidSpawnEgg => EntityKind::GlowSquid,
+ ItemKind::GoatSpawnEgg => EntityKind::Goat,
+ ItemKind::GuardianSpawnEgg => EntityKind::Guardian,
+ ItemKind::HappyGhastSpawnEgg => EntityKind::HappyGhast,
+ ItemKind::HoglinSpawnEgg => EntityKind::Hoglin,
+ ItemKind::HorseSpawnEgg => EntityKind::Horse,
+ ItemKind::HuskSpawnEgg => EntityKind::Husk,
+ ItemKind::IronGolemSpawnEgg => EntityKind::IronGolem,
+ ItemKind::LlamaSpawnEgg => EntityKind::Llama,
+ ItemKind::MagmaCubeSpawnEgg => EntityKind::MagmaCube,
+ ItemKind::MooshroomSpawnEgg => EntityKind::Mooshroom,
+ ItemKind::MuleSpawnEgg => EntityKind::Mule,
+ ItemKind::NautilusSpawnEgg => EntityKind::Nautilus,
+ ItemKind::OcelotSpawnEgg => EntityKind::Ocelot,
+ ItemKind::PandaSpawnEgg => EntityKind::Panda,
+ ItemKind::ParchedSpawnEgg => EntityKind::Parched,
+ ItemKind::ParrotSpawnEgg => EntityKind::Parrot,
+ ItemKind::PhantomSpawnEgg => EntityKind::Phantom,
+ ItemKind::PigSpawnEgg => EntityKind::Pig,
+ ItemKind::PiglinBruteSpawnEgg => EntityKind::PiglinBrute,
+ ItemKind::PiglinSpawnEgg => EntityKind::Piglin,
+ ItemKind::PillagerSpawnEgg => EntityKind::Pillager,
+ ItemKind::PolarBearSpawnEgg => EntityKind::PolarBear,
+ ItemKind::PufferfishSpawnEgg => EntityKind::Pufferfish,
+ ItemKind::RabbitSpawnEgg => EntityKind::Rabbit,
+ ItemKind::RavagerSpawnEgg => EntityKind::Ravager,
+ ItemKind::SalmonSpawnEgg => EntityKind::Salmon,
+ ItemKind::SheepSpawnEgg => EntityKind::Sheep,
+ ItemKind::ShulkerSpawnEgg => EntityKind::Shulker,
+ ItemKind::SilverfishSpawnEgg => EntityKind::Silverfish,
+ ItemKind::SkeletonHorseSpawnEgg => EntityKind::SkeletonHorse,
+ ItemKind::SkeletonSpawnEgg => EntityKind::Skeleton,
+ ItemKind::SlimeSpawnEgg => EntityKind::Slime,
+ ItemKind::SnifferSpawnEgg => EntityKind::Sniffer,
+ ItemKind::SnowGolemSpawnEgg => EntityKind::SnowGolem,
+ ItemKind::SpiderSpawnEgg => EntityKind::Spider,
+ ItemKind::SquidSpawnEgg => EntityKind::Squid,
+ ItemKind::StraySpawnEgg => EntityKind::Stray,
+ ItemKind::StriderSpawnEgg => EntityKind::Strider,
+ ItemKind::TadpoleSpawnEgg => EntityKind::Tadpole,
+ ItemKind::TraderLlamaSpawnEgg => EntityKind::TraderLlama,
+ ItemKind::TropicalFishSpawnEgg => EntityKind::TropicalFish,
+ ItemKind::TurtleSpawnEgg => EntityKind::Turtle,
+ ItemKind::VexSpawnEgg => EntityKind::Vex,
+ ItemKind::VillagerSpawnEgg => EntityKind::Villager,
+ ItemKind::VindicatorSpawnEgg => EntityKind::Vindicator,
+ ItemKind::WanderingTraderSpawnEgg => EntityKind::WanderingTrader,
+ ItemKind::WardenSpawnEgg => EntityKind::Warden,
+ ItemKind::WitchSpawnEgg => EntityKind::Witch,
+ ItemKind::WitherSkeletonSpawnEgg => EntityKind::WitherSkeleton,
+ ItemKind::WitherSpawnEgg => EntityKind::Wither,
+ ItemKind::WolfSpawnEgg => EntityKind::Wolf,
+ ItemKind::ZoglinSpawnEgg => EntityKind::Zoglin,
+ ItemKind::ZombieHorseSpawnEgg => EntityKind::ZombieHorse,
+ ItemKind::ZombieNautilusSpawnEgg => EntityKind::ZombieNautilus,
+ ItemKind::ZombieSpawnEgg => EntityKind::Zombie,
+ ItemKind::ZombieVillagerSpawnEgg => EntityKind::ZombieVillager,
+ ItemKind::ZombifiedPiglinSpawnEgg => EntityKind::ZombifiedPiglin,
_ => return None,
};
Some(EntityData {
@@ -2447,60 +2451,64 @@ impl DefaultableComponent for EntityData {
}
}
impl DefaultableComponent for ProvidesTrimMaterial {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::AmethystShard => ProvidesTrimMaterial::Referenced("minecraft:amethyst".into()),
- Item::CopperIngot => ProvidesTrimMaterial::Referenced("minecraft:copper".into()),
- Item::Diamond => ProvidesTrimMaterial::Referenced("minecraft:diamond".into()),
- Item::Emerald => ProvidesTrimMaterial::Referenced("minecraft:emerald".into()),
- Item::GoldIngot => ProvidesTrimMaterial::Referenced("minecraft:gold".into()),
- Item::IronIngot => ProvidesTrimMaterial::Referenced("minecraft:iron".into()),
- Item::LapisLazuli => ProvidesTrimMaterial::Referenced("minecraft:lapis".into()),
- Item::NetheriteIngot => ProvidesTrimMaterial::Referenced("minecraft:netherite".into()),
- Item::Quartz => ProvidesTrimMaterial::Referenced("minecraft:quartz".into()),
- Item::Redstone => ProvidesTrimMaterial::Referenced("minecraft:redstone".into()),
- Item::ResinBrick => ProvidesTrimMaterial::Referenced("minecraft:resin".into()),
+ ItemKind::AmethystShard => {
+ ProvidesTrimMaterial::Referenced("minecraft:amethyst".into())
+ }
+ ItemKind::CopperIngot => ProvidesTrimMaterial::Referenced("minecraft:copper".into()),
+ ItemKind::Diamond => ProvidesTrimMaterial::Referenced("minecraft:diamond".into()),
+ ItemKind::Emerald => ProvidesTrimMaterial::Referenced("minecraft:emerald".into()),
+ ItemKind::GoldIngot => ProvidesTrimMaterial::Referenced("minecraft:gold".into()),
+ ItemKind::IronIngot => ProvidesTrimMaterial::Referenced("minecraft:iron".into()),
+ ItemKind::LapisLazuli => ProvidesTrimMaterial::Referenced("minecraft:lapis".into()),
+ ItemKind::NetheriteIngot => {
+ ProvidesTrimMaterial::Referenced("minecraft:netherite".into())
+ }
+ ItemKind::Quartz => ProvidesTrimMaterial::Referenced("minecraft:quartz".into()),
+ ItemKind::Redstone => ProvidesTrimMaterial::Referenced("minecraft:redstone".into()),
+ ItemKind::ResinBrick => ProvidesTrimMaterial::Referenced("minecraft:resin".into()),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for DamageResistant {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::AncientDebris => "#minecraft:is_fire".into(),
- Item::NetherStar => "#minecraft:is_explosion".into(),
- Item::NetheriteAxe => "#minecraft:is_fire".into(),
- Item::NetheriteBlock => "#minecraft:is_fire".into(),
- Item::NetheriteBoots => "#minecraft:is_fire".into(),
- Item::NetheriteChestplate => "#minecraft:is_fire".into(),
- Item::NetheriteHelmet => "#minecraft:is_fire".into(),
- Item::NetheriteHoe => "#minecraft:is_fire".into(),
- Item::NetheriteHorseArmor => "#minecraft:is_fire".into(),
- Item::NetheriteIngot => "#minecraft:is_fire".into(),
- Item::NetheriteLeggings => "#minecraft:is_fire".into(),
- Item::NetheriteNautilusArmor => "#minecraft:is_fire".into(),
- Item::NetheritePickaxe => "#minecraft:is_fire".into(),
- Item::NetheriteScrap => "#minecraft:is_fire".into(),
- Item::NetheriteShovel => "#minecraft:is_fire".into(),
- Item::NetheriteSpear => "#minecraft:is_fire".into(),
- Item::NetheriteSword => "#minecraft:is_fire".into(),
+ ItemKind::AncientDebris => "#minecraft:is_fire".into(),
+ ItemKind::NetherStar => "#minecraft:is_explosion".into(),
+ ItemKind::NetheriteAxe => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteBlock => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteBoots => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteChestplate => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteHelmet => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteHoe => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteHorseArmor => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteIngot => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteLeggings => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteNautilusArmor => "#minecraft:is_fire".into(),
+ ItemKind::NetheritePickaxe => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteScrap => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteShovel => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteSpear => "#minecraft:is_fire".into(),
+ ItemKind::NetheriteSword => "#minecraft:is_fire".into(),
_ => return None,
};
Some(DamageResistant { types: value })
}
}
impl DefaultableComponent for Consumable {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Apple => Consumable::new(),
- Item::BakedPotato => Consumable::new(),
- Item::Beef => Consumable::new(),
- Item::Beetroot => Consumable::new(),
- Item::BeetrootSoup => Consumable::new(),
- Item::Bread => Consumable::new(),
- Item::Carrot => Consumable::new(),
- Item::Chicken => Consumable {
+ ItemKind::Apple => Consumable::new(),
+ ItemKind::BakedPotato => Consumable::new(),
+ ItemKind::Beef => Consumable::new(),
+ ItemKind::Beetroot => Consumable::new(),
+ ItemKind::BeetrootSoup => Consumable::new(),
+ ItemKind::Bread => Consumable::new(),
+ ItemKind::Carrot => Consumable::new(),
+ ItemKind::Chicken => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![MobEffectInstance {
id: MobEffect::Hunger,
@@ -2514,24 +2522,24 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::ChorusFruit => Consumable {
+ ItemKind::ChorusFruit => Consumable {
on_consume_effects: vec![ConsumeEffect::TeleportRandomly { diameter: 16.0 }],
..Consumable::new()
},
- Item::Cod => Consumable::new(),
- Item::CookedBeef => Consumable::new(),
- Item::CookedChicken => Consumable::new(),
- Item::CookedCod => Consumable::new(),
- Item::CookedMutton => Consumable::new(),
- Item::CookedPorkchop => Consumable::new(),
- Item::CookedRabbit => Consumable::new(),
- Item::CookedSalmon => Consumable::new(),
- Item::Cookie => Consumable::new(),
- Item::DriedKelp => Consumable {
+ ItemKind::Cod => Consumable::new(),
+ ItemKind::CookedBeef => Consumable::new(),
+ ItemKind::CookedChicken => Consumable::new(),
+ ItemKind::CookedCod => Consumable::new(),
+ ItemKind::CookedMutton => Consumable::new(),
+ ItemKind::CookedPorkchop => Consumable::new(),
+ ItemKind::CookedRabbit => Consumable::new(),
+ ItemKind::CookedSalmon => Consumable::new(),
+ ItemKind::Cookie => Consumable::new(),
+ ItemKind::DriedKelp => Consumable {
consume_seconds: 0.8,
..Consumable::new()
},
- Item::EnchantedGoldenApple => Consumable {
+ ItemKind::EnchantedGoldenApple => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![
MobEffectInstance {
@@ -2573,8 +2581,8 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::GlowBerries => Consumable::new(),
- Item::GoldenApple => Consumable {
+ ItemKind::GlowBerries => Consumable::new(),
+ ItemKind::GoldenApple => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![
MobEffectInstance {
@@ -2599,8 +2607,8 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::GoldenCarrot => Consumable::new(),
- Item::HoneyBottle => Consumable {
+ ItemKind::GoldenCarrot => Consumable::new(),
+ ItemKind::HoneyBottle => Consumable {
animation: ItemUseAnimation::Drink,
consume_seconds: 2.0,
has_consume_particles: false,
@@ -2611,17 +2619,17 @@ impl DefaultableComponent for Consumable {
}],
sound: azalea_registry::Holder::Reference(SoundEvent::ItemHoneyBottleDrink),
},
- Item::MelonSlice => Consumable::new(),
- Item::MilkBucket => Consumable {
+ ItemKind::MelonSlice => Consumable::new(),
+ ItemKind::MilkBucket => Consumable {
animation: ItemUseAnimation::Drink,
has_consume_particles: false,
on_consume_effects: vec![ConsumeEffect::ClearAllEffects {}],
sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
..Consumable::new()
},
- Item::MushroomStew => Consumable::new(),
- Item::Mutton => Consumable::new(),
- Item::OminousBottle => Consumable {
+ ItemKind::MushroomStew => Consumable::new(),
+ ItemKind::Mutton => Consumable::new(),
+ ItemKind::OminousBottle => Consumable {
animation: ItemUseAnimation::Drink,
has_consume_particles: false,
on_consume_effects: vec![ConsumeEffect::PlaySound {
@@ -2630,7 +2638,7 @@ impl DefaultableComponent for Consumable {
sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
..Consumable::new()
},
- Item::PoisonousPotato => Consumable {
+ ItemKind::PoisonousPotato => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![MobEffectInstance {
id: MobEffect::Poison,
@@ -2644,15 +2652,15 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::Porkchop => Consumable::new(),
- Item::Potato => Consumable::new(),
- Item::Potion => Consumable {
+ ItemKind::Porkchop => Consumable::new(),
+ ItemKind::Potato => Consumable::new(),
+ ItemKind::Potion => Consumable {
animation: ItemUseAnimation::Drink,
has_consume_particles: false,
sound: azalea_registry::Holder::Reference(SoundEvent::EntityGenericDrink),
..Consumable::new()
},
- Item::Pufferfish => Consumable {
+ ItemKind::Pufferfish => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![
MobEffectInstance {
@@ -2686,10 +2694,10 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::PumpkinPie => Consumable::new(),
- Item::Rabbit => Consumable::new(),
- Item::RabbitStew => Consumable::new(),
- Item::RottenFlesh => Consumable {
+ ItemKind::PumpkinPie => Consumable::new(),
+ ItemKind::Rabbit => Consumable::new(),
+ ItemKind::RabbitStew => Consumable::new(),
+ ItemKind::RottenFlesh => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![MobEffectInstance {
id: MobEffect::Hunger,
@@ -2703,8 +2711,8 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::Salmon => Consumable::new(),
- Item::SpiderEye => Consumable {
+ ItemKind::Salmon => Consumable::new(),
+ ItemKind::SpiderEye => Consumable {
on_consume_effects: vec![ConsumeEffect::ApplyEffects {
effects: vec![MobEffectInstance {
id: MobEffect::Poison,
@@ -2718,233 +2726,233 @@ impl DefaultableComponent for Consumable {
}],
..Consumable::new()
},
- Item::SuspiciousStew => Consumable::new(),
- Item::SweetBerries => Consumable::new(),
- Item::TropicalFish => Consumable::new(),
+ ItemKind::SuspiciousStew => Consumable::new(),
+ ItemKind::SweetBerries => Consumable::new(),
+ ItemKind::TropicalFish => Consumable::new(),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for Food {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Apple => Food {
+ ItemKind::Apple => Food {
nutrition: 4,
saturation: 2.4,
..Food::new()
},
- Item::BakedPotato => Food {
+ ItemKind::BakedPotato => Food {
nutrition: 5,
saturation: 6.0,
..Food::new()
},
- Item::Beef => Food {
+ ItemKind::Beef => Food {
nutrition: 3,
saturation: 1.8000001,
..Food::new()
},
- Item::Beetroot => Food {
+ ItemKind::Beetroot => Food {
nutrition: 1,
saturation: 1.2,
..Food::new()
},
- Item::BeetrootSoup => Food {
+ ItemKind::BeetrootSoup => Food {
nutrition: 6,
saturation: 7.2000003,
..Food::new()
},
- Item::Bread => Food {
+ ItemKind::Bread => Food {
nutrition: 5,
saturation: 6.0,
..Food::new()
},
- Item::Carrot => Food {
+ ItemKind::Carrot => Food {
nutrition: 3,
saturation: 3.6000001,
..Food::new()
},
- Item::Chicken => Food {
+ ItemKind::Chicken => Food {
nutrition: 2,
saturation: 1.2,
..Food::new()
},
- Item::ChorusFruit => Food {
+ ItemKind::ChorusFruit => Food {
can_always_eat: true,
nutrition: 4,
saturation: 2.4,
},
- Item::Cod => Food {
+ ItemKind::Cod => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::CodBucket => Food {
+ ItemKind::CodBucket => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::CookedBeef => Food {
+ ItemKind::CookedBeef => Food {
nutrition: 8,
saturation: 12.8,
..Food::new()
},
- Item::CookedChicken => Food {
+ ItemKind::CookedChicken => Food {
nutrition: 6,
saturation: 7.2000003,
..Food::new()
},
- Item::CookedCod => Food {
+ ItemKind::CookedCod => Food {
nutrition: 5,
saturation: 6.0,
..Food::new()
},
- Item::CookedMutton => Food {
+ ItemKind::CookedMutton => Food {
nutrition: 6,
saturation: 9.6,
..Food::new()
},
- Item::CookedPorkchop => Food {
+ ItemKind::CookedPorkchop => Food {
nutrition: 8,
saturation: 12.8,
..Food::new()
},
- Item::CookedRabbit => Food {
+ ItemKind::CookedRabbit => Food {
nutrition: 5,
saturation: 6.0,
..Food::new()
},
- Item::CookedSalmon => Food {
+ ItemKind::CookedSalmon => Food {
nutrition: 6,
saturation: 9.6,
..Food::new()
},
- Item::Cookie => Food {
+ ItemKind::Cookie => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::DriedKelp => Food {
+ ItemKind::DriedKelp => Food {
nutrition: 1,
saturation: 0.6,
..Food::new()
},
- Item::EnchantedGoldenApple => Food {
+ ItemKind::EnchantedGoldenApple => Food {
can_always_eat: true,
nutrition: 4,
saturation: 9.6,
},
- Item::GlowBerries => Food {
+ ItemKind::GlowBerries => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::GoldenApple => Food {
+ ItemKind::GoldenApple => Food {
can_always_eat: true,
nutrition: 4,
saturation: 9.6,
},
- Item::GoldenCarrot => Food {
+ ItemKind::GoldenCarrot => Food {
nutrition: 6,
saturation: 14.400001,
..Food::new()
},
- Item::HoneyBottle => Food {
+ ItemKind::HoneyBottle => Food {
can_always_eat: true,
nutrition: 6,
saturation: 1.2,
},
- Item::MelonSlice => Food {
+ ItemKind::MelonSlice => Food {
nutrition: 2,
saturation: 1.2,
..Food::new()
},
- Item::MushroomStew => Food {
+ ItemKind::MushroomStew => Food {
nutrition: 6,
saturation: 7.2000003,
..Food::new()
},
- Item::Mutton => Food {
+ ItemKind::Mutton => Food {
nutrition: 2,
saturation: 1.2,
..Food::new()
},
- Item::PoisonousPotato => Food {
+ ItemKind::PoisonousPotato => Food {
nutrition: 2,
saturation: 1.2,
..Food::new()
},
- Item::Porkchop => Food {
+ ItemKind::Porkchop => Food {
nutrition: 3,
saturation: 1.8000001,
..Food::new()
},
- Item::Potato => Food {
+ ItemKind::Potato => Food {
nutrition: 1,
saturation: 0.6,
..Food::new()
},
- Item::Pufferfish => Food {
+ ItemKind::Pufferfish => Food {
nutrition: 1,
saturation: 0.2,
..Food::new()
},
- Item::PufferfishBucket => Food {
+ ItemKind::PufferfishBucket => Food {
nutrition: 1,
saturation: 0.2,
..Food::new()
},
- Item::PumpkinPie => Food {
+ ItemKind::PumpkinPie => Food {
nutrition: 8,
saturation: 4.8,
..Food::new()
},
- Item::Rabbit => Food {
+ ItemKind::Rabbit => Food {
nutrition: 3,
saturation: 1.8000001,
..Food::new()
},
- Item::RabbitStew => Food {
+ ItemKind::RabbitStew => Food {
nutrition: 10,
saturation: 12.0,
..Food::new()
},
- Item::RottenFlesh => Food {
+ ItemKind::RottenFlesh => Food {
nutrition: 4,
saturation: 0.8,
..Food::new()
},
- Item::Salmon => Food {
+ ItemKind::Salmon => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::SalmonBucket => Food {
+ ItemKind::SalmonBucket => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::SpiderEye => Food {
+ ItemKind::SpiderEye => Food {
nutrition: 2,
saturation: 3.2,
..Food::new()
},
- Item::SuspiciousStew => Food {
+ ItemKind::SuspiciousStew => Food {
can_always_eat: true,
nutrition: 6,
saturation: 7.2000003,
},
- Item::SweetBerries => Food {
+ ItemKind::SweetBerries => Food {
nutrition: 2,
saturation: 0.4,
..Food::new()
},
- Item::TropicalFish => Food {
+ ItemKind::TropicalFish => Food {
nutrition: 1,
saturation: 0.2,
..Food::new()
},
- Item::TropicalFishBucket => Food {
+ ItemKind::TropicalFishBucket => Food {
nutrition: 1,
saturation: 0.2,
..Food::new()
@@ -2955,58 +2963,58 @@ impl DefaultableComponent for Food {
}
}
impl DefaultableComponent for BucketEntityData {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::AxolotlBucket => NbtCompound::from_values(vec![]),
- Item::CodBucket => NbtCompound::from_values(vec![]),
- Item::PufferfishBucket => NbtCompound::from_values(vec![]),
- Item::SalmonBucket => NbtCompound::from_values(vec![]),
- Item::TadpoleBucket => NbtCompound::from_values(vec![]),
- Item::TropicalFishBucket => NbtCompound::from_values(vec![]),
+ ItemKind::AxolotlBucket => NbtCompound::from_values(vec![]),
+ ItemKind::CodBucket => NbtCompound::from_values(vec![]),
+ ItemKind::PufferfishBucket => NbtCompound::from_values(vec![]),
+ ItemKind::SalmonBucket => NbtCompound::from_values(vec![]),
+ ItemKind::TadpoleBucket => NbtCompound::from_values(vec![]),
+ ItemKind::TropicalFishBucket => NbtCompound::from_values(vec![]),
_ => return None,
};
Some(BucketEntityData { entity: value })
}
}
impl DefaultableComponent for Bees {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BeeNest => vec![],
- Item::Beehive => vec![],
+ ItemKind::BeeNest => vec![],
+ ItemKind::Beehive => vec![],
_ => return None,
};
Some(Bees { occupants: value })
}
}
impl DefaultableComponent for BlockState {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BeeNest => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
- Item::Beehive => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
- Item::CopperGolemStatue => {
+ ItemKind::BeeNest => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
+ ItemKind::Beehive => HashMap::from_iter([("honey_level".to_string(), "0".to_string())]),
+ ItemKind::CopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::ExposedCopperGolemStatue => {
+ ItemKind::ExposedCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::Light => HashMap::from_iter([("level".to_string(), "15".to_string())]),
- Item::OxidizedCopperGolemStatue => {
+ ItemKind::Light => HashMap::from_iter([("level".to_string(), "15".to_string())]),
+ ItemKind::OxidizedCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::TestBlock => HashMap::from_iter([("mode".to_string(), "start".to_string())]),
- Item::WaxedCopperGolemStatue => {
+ ItemKind::TestBlock => HashMap::from_iter([("mode".to_string(), "start".to_string())]),
+ ItemKind::WaxedCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::WaxedExposedCopperGolemStatue => {
+ ItemKind::WaxedExposedCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::WaxedOxidizedCopperGolemStatue => {
+ ItemKind::WaxedOxidizedCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::WaxedWeatheredCopperGolemStatue => {
+ ItemKind::WaxedWeatheredCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
- Item::WeatheredCopperGolemStatue => {
+ ItemKind::WeatheredCopperGolemStatue => {
HashMap::from_iter([("copper_golem_pose".to_string(), "standing".to_string())])
}
_ => return None,
@@ -3015,15 +3023,15 @@ impl DefaultableComponent for BlockState {
}
}
impl DefaultableComponent for UseRemainder {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BeetrootSoup => ItemStack::from(Item::Bowl),
- Item::HoneyBottle => ItemStack::from(Item::GlassBottle),
- Item::MilkBucket => ItemStack::from(Item::Bucket),
- Item::MushroomStew => ItemStack::from(Item::Bowl),
- Item::Potion => ItemStack::from(Item::GlassBottle),
- Item::RabbitStew => ItemStack::from(Item::Bowl),
- Item::SuspiciousStew => ItemStack::from(Item::Bowl),
+ ItemKind::BeetrootSoup => ItemStack::from(ItemKind::Bowl),
+ ItemKind::HoneyBottle => ItemStack::from(ItemKind::GlassBottle),
+ ItemKind::MilkBucket => ItemStack::from(ItemKind::Bucket),
+ ItemKind::MushroomStew => ItemStack::from(ItemKind::Bowl),
+ ItemKind::Potion => ItemStack::from(ItemKind::GlassBottle),
+ ItemKind::RabbitStew => ItemStack::from(ItemKind::Bowl),
+ ItemKind::SuspiciousStew => ItemStack::from(ItemKind::Bowl),
_ => return None,
};
Some(UseRemainder {
@@ -3032,59 +3040,59 @@ impl DefaultableComponent for UseRemainder {
}
}
impl DefaultableComponent for BannerPatterns {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BlackBanner => vec![],
- Item::BlueBanner => vec![],
- Item::BrownBanner => vec![],
- Item::CyanBanner => vec![],
- Item::GrayBanner => vec![],
- Item::GreenBanner => vec![],
- Item::LightBlueBanner => vec![],
- Item::LightGrayBanner => vec![],
- Item::LimeBanner => vec![],
- Item::MagentaBanner => vec![],
- Item::OrangeBanner => vec![],
- Item::PinkBanner => vec![],
- Item::PurpleBanner => vec![],
- Item::RedBanner => vec![],
- Item::Shield => vec![],
- Item::WhiteBanner => vec![],
- Item::YellowBanner => vec![],
+ ItemKind::BlackBanner => vec![],
+ ItemKind::BlueBanner => vec![],
+ ItemKind::BrownBanner => vec![],
+ ItemKind::CyanBanner => vec![],
+ ItemKind::GrayBanner => vec![],
+ ItemKind::GreenBanner => vec![],
+ ItemKind::LightBlueBanner => vec![],
+ ItemKind::LightGrayBanner => vec![],
+ ItemKind::LimeBanner => vec![],
+ ItemKind::MagentaBanner => vec![],
+ ItemKind::OrangeBanner => vec![],
+ ItemKind::PinkBanner => vec![],
+ ItemKind::PurpleBanner => vec![],
+ ItemKind::RedBanner => vec![],
+ ItemKind::Shield => vec![],
+ ItemKind::WhiteBanner => vec![],
+ ItemKind::YellowBanner => vec![],
_ => return None,
};
Some(BannerPatterns { patterns: value })
}
}
impl DefaultableComponent for BundleContents {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BlackBundle => vec![],
- Item::BlueBundle => vec![],
- Item::BrownBundle => vec![],
- Item::Bundle => vec![],
- Item::CyanBundle => vec![],
- Item::GrayBundle => vec![],
- Item::GreenBundle => vec![],
- Item::LightBlueBundle => vec![],
- Item::LightGrayBundle => vec![],
- Item::LimeBundle => vec![],
- Item::MagentaBundle => vec![],
- Item::OrangeBundle => vec![],
- Item::PinkBundle => vec![],
- Item::PurpleBundle => vec![],
- Item::RedBundle => vec![],
- Item::WhiteBundle => vec![],
- Item::YellowBundle => vec![],
+ ItemKind::BlackBundle => vec![],
+ ItemKind::BlueBundle => vec![],
+ ItemKind::BrownBundle => vec![],
+ ItemKind::Bundle => vec![],
+ ItemKind::CyanBundle => vec![],
+ ItemKind::GrayBundle => vec![],
+ ItemKind::GreenBundle => vec![],
+ ItemKind::LightBlueBundle => vec![],
+ ItemKind::LightGrayBundle => vec![],
+ ItemKind::LimeBundle => vec![],
+ ItemKind::MagentaBundle => vec![],
+ ItemKind::OrangeBundle => vec![],
+ ItemKind::PinkBundle => vec![],
+ ItemKind::PurpleBundle => vec![],
+ ItemKind::RedBundle => vec![],
+ ItemKind::WhiteBundle => vec![],
+ ItemKind::YellowBundle => vec![],
_ => return None,
};
Some(BundleContents { items: value })
}
}
impl DefaultableComponent for Equippable {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BlackCarpet => Equippable {
+ ItemKind::BlackCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3095,7 +3103,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::BlackHarness => Equippable {
+ ItemKind::BlackHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3110,7 +3118,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::BlueCarpet => Equippable {
+ ItemKind::BlueCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3121,7 +3129,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::BlueHarness => Equippable {
+ ItemKind::BlueHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3136,7 +3144,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::BrownCarpet => Equippable {
+ ItemKind::BrownCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3147,7 +3155,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::BrownHarness => Equippable {
+ ItemKind::BrownHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3162,55 +3170,55 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::CarvedPumpkin => Equippable {
+ ItemKind::CarvedPumpkin => Equippable {
camera_overlay: Some("minecraft:misc/pumpkinblur".into()),
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::ChainmailBoots => Equippable {
+ ItemKind::ChainmailBoots => Equippable {
asset_id: Some("minecraft:chainmail".into()),
equip_sound: SoundEvent::ItemArmorEquipChain,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::ChainmailChestplate => Equippable {
+ ItemKind::ChainmailChestplate => Equippable {
asset_id: Some("minecraft:chainmail".into()),
equip_sound: SoundEvent::ItemArmorEquipChain,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::ChainmailHelmet => Equippable {
+ ItemKind::ChainmailHelmet => Equippable {
asset_id: Some("minecraft:chainmail".into()),
equip_sound: SoundEvent::ItemArmorEquipChain,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::ChainmailLeggings => Equippable {
+ ItemKind::ChainmailLeggings => Equippable {
asset_id: Some("minecraft:chainmail".into()),
equip_sound: SoundEvent::ItemArmorEquipChain,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::CopperBoots => Equippable {
+ ItemKind::CopperBoots => Equippable {
asset_id: Some("minecraft:copper".into()),
equip_sound: SoundEvent::ItemArmorEquipCopper,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::CopperChestplate => Equippable {
+ ItemKind::CopperChestplate => Equippable {
asset_id: Some("minecraft:copper".into()),
equip_sound: SoundEvent::ItemArmorEquipCopper,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::CopperHelmet => Equippable {
+ ItemKind::CopperHelmet => Equippable {
asset_id: Some("minecraft:copper".into()),
equip_sound: SoundEvent::ItemArmorEquipCopper,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::CopperHorseArmor => Equippable {
+ ItemKind::CopperHorseArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
.clone()
@@ -3225,13 +3233,13 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::CopperLeggings => Equippable {
+ ItemKind::CopperLeggings => Equippable {
asset_id: Some("minecraft:copper".into()),
equip_sound: SoundEvent::ItemArmorEquipCopper,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::CopperNautilusArmor => Equippable {
+ ItemKind::CopperNautilusArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
.clone()
@@ -3247,12 +3255,12 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::CreeperHead => Equippable {
+ ItemKind::CreeperHead => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::CyanCarpet => Equippable {
+ ItemKind::CyanCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3263,7 +3271,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::CyanHarness => Equippable {
+ ItemKind::CyanHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3278,25 +3286,25 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::DiamondBoots => Equippable {
+ ItemKind::DiamondBoots => Equippable {
asset_id: Some("minecraft:diamond".into()),
equip_sound: SoundEvent::ItemArmorEquipDiamond,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::DiamondChestplate => Equippable {
+ ItemKind::DiamondChestplate => Equippable {
asset_id: Some("minecraft:diamond".into()),
equip_sound: SoundEvent::ItemArmorEquipDiamond,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::DiamondHelmet => Equippable {
+ ItemKind::DiamondHelmet => Equippable {
asset_id: Some("minecraft:diamond".into()),
equip_sound: SoundEvent::ItemArmorEquipDiamond,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::DiamondHorseArmor => Equippable {
+ ItemKind::DiamondHorseArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
.clone()
@@ -3311,13 +3319,13 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::DiamondLeggings => Equippable {
+ ItemKind::DiamondLeggings => Equippable {
asset_id: Some("minecraft:diamond".into()),
equip_sound: SoundEvent::ItemArmorEquipDiamond,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::DiamondNautilusArmor => Equippable {
+ ItemKind::DiamondNautilusArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
.clone()
@@ -3333,37 +3341,37 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::DragonHead => Equippable {
+ ItemKind::DragonHead => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::Elytra => Equippable {
+ ItemKind::Elytra => Equippable {
asset_id: Some("minecraft:elytra".into()),
damage_on_hurt: false,
equip_sound: SoundEvent::ItemArmorEquipElytra,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::GoldenBoots => Equippable {
+ ItemKind::GoldenBoots => Equippable {
asset_id: Some("minecraft:gold".into()),
equip_sound: SoundEvent::ItemArmorEquipGold,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::GoldenChestplate => Equippable {
+ ItemKind::GoldenChestplate => Equippable {
asset_id: Some("minecraft:gold".into()),
equip_sound: SoundEvent::ItemArmorEquipGold,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::GoldenHelmet => Equippable {
+ ItemKind::GoldenHelmet => Equippable {
asset_id: Some("minecraft:gold".into()),
equip_sound: SoundEvent::ItemArmorEquipGold,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::GoldenHorseArmor => Equippable {
+ ItemKind::GoldenHorseArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
.clone()
@@ -3378,13 +3386,13 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::GoldenLeggings => Equippable {
+ ItemKind::GoldenLeggings => Equippable {
asset_id: Some("minecraft:gold".into()),
equip_sound: SoundEvent::ItemArmorEquipGold,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::GoldenNautilusArmor => Equippable {
+ ItemKind::GoldenNautilusArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
.clone()
@@ -3400,7 +3408,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::GrayCarpet => Equippable {
+ ItemKind::GrayCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3411,7 +3419,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::GrayHarness => Equippable {
+ ItemKind::GrayHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3426,7 +3434,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::GreenCarpet => Equippable {
+ ItemKind::GreenCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3437,7 +3445,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::GreenHarness => Equippable {
+ ItemKind::GreenHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3452,25 +3460,25 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::IronBoots => Equippable {
+ ItemKind::IronBoots => Equippable {
asset_id: Some("minecraft:iron".into()),
equip_sound: SoundEvent::ItemArmorEquipIron,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::IronChestplate => Equippable {
+ ItemKind::IronChestplate => Equippable {
asset_id: Some("minecraft:iron".into()),
equip_sound: SoundEvent::ItemArmorEquipIron,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::IronHelmet => Equippable {
+ ItemKind::IronHelmet => Equippable {
asset_id: Some("minecraft:iron".into()),
equip_sound: SoundEvent::ItemArmorEquipIron,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::IronHorseArmor => Equippable {
+ ItemKind::IronHorseArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
.clone()
@@ -3485,13 +3493,13 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::IronLeggings => Equippable {
+ ItemKind::IronLeggings => Equippable {
asset_id: Some("minecraft:iron".into()),
equip_sound: SoundEvent::ItemArmorEquipIron,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::IronNautilusArmor => Equippable {
+ ItemKind::IronNautilusArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
.clone()
@@ -3507,25 +3515,25 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LeatherBoots => Equippable {
+ ItemKind::LeatherBoots => Equippable {
asset_id: Some("minecraft:leather".into()),
equip_sound: SoundEvent::ItemArmorEquipLeather,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::LeatherChestplate => Equippable {
+ ItemKind::LeatherChestplate => Equippable {
asset_id: Some("minecraft:leather".into()),
equip_sound: SoundEvent::ItemArmorEquipLeather,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::LeatherHelmet => Equippable {
+ ItemKind::LeatherHelmet => Equippable {
asset_id: Some("minecraft:leather".into()),
equip_sound: SoundEvent::ItemArmorEquipLeather,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::LeatherHorseArmor => Equippable {
+ ItemKind::LeatherHorseArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
.clone()
@@ -3540,13 +3548,13 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LeatherLeggings => Equippable {
+ ItemKind::LeatherLeggings => Equippable {
asset_id: Some("minecraft:leather".into()),
equip_sound: SoundEvent::ItemArmorEquipLeather,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::LightBlueCarpet => Equippable {
+ ItemKind::LightBlueCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3557,7 +3565,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LightBlueHarness => Equippable {
+ ItemKind::LightBlueHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3572,7 +3580,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LightGrayCarpet => Equippable {
+ ItemKind::LightGrayCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3583,7 +3591,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LightGrayHarness => Equippable {
+ ItemKind::LightGrayHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3598,7 +3606,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LimeCarpet => Equippable {
+ ItemKind::LimeCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3609,7 +3617,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::LimeHarness => Equippable {
+ ItemKind::LimeHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3624,7 +3632,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::MagentaCarpet => Equippable {
+ ItemKind::MagentaCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3635,7 +3643,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::MagentaHarness => Equippable {
+ ItemKind::MagentaHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3650,25 +3658,25 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::NetheriteBoots => Equippable {
+ ItemKind::NetheriteBoots => Equippable {
asset_id: Some("minecraft:netherite".into()),
equip_sound: SoundEvent::ItemArmorEquipNetherite,
slot: EquipmentSlot::Feet,
..Equippable::new()
},
- Item::NetheriteChestplate => Equippable {
+ ItemKind::NetheriteChestplate => Equippable {
asset_id: Some("minecraft:netherite".into()),
equip_sound: SoundEvent::ItemArmorEquipNetherite,
slot: EquipmentSlot::Chest,
..Equippable::new()
},
- Item::NetheriteHelmet => Equippable {
+ ItemKind::NetheriteHelmet => Equippable {
asset_id: Some("minecraft:netherite".into()),
equip_sound: SoundEvent::ItemArmorEquipNetherite,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::NetheriteHorseArmor => Equippable {
+ ItemKind::NetheriteHorseArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_HORSE_ARMOR
.clone()
@@ -3683,13 +3691,13 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::NetheriteLeggings => Equippable {
+ ItemKind::NetheriteLeggings => Equippable {
asset_id: Some("minecraft:netherite".into()),
equip_sound: SoundEvent::ItemArmorEquipNetherite,
slot: EquipmentSlot::Legs,
..Equippable::new()
},
- Item::NetheriteNautilusArmor => Equippable {
+ ItemKind::NetheriteNautilusArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_WEAR_NAUTILUS_ARMOR
.clone()
@@ -3705,7 +3713,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::OrangeCarpet => Equippable {
+ ItemKind::OrangeCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3716,7 +3724,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::OrangeHarness => Equippable {
+ ItemKind::OrangeHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3731,12 +3739,12 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::PiglinHead => Equippable {
+ ItemKind::PiglinHead => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::PinkCarpet => Equippable {
+ ItemKind::PinkCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3747,7 +3755,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::PinkHarness => Equippable {
+ ItemKind::PinkHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3762,12 +3770,12 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::PlayerHead => Equippable {
+ ItemKind::PlayerHead => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::PurpleCarpet => Equippable {
+ ItemKind::PurpleCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3778,7 +3786,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::PurpleHarness => Equippable {
+ ItemKind::PurpleHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3793,7 +3801,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::RedCarpet => Equippable {
+ ItemKind::RedCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3804,7 +3812,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::RedHarness => Equippable {
+ ItemKind::RedHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3819,7 +3827,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::Saddle => Equippable {
+ ItemKind::Saddle => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_SADDLE
.clone()
@@ -3834,23 +3842,23 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Saddle,
..Equippable::new()
},
- Item::Shield => Equippable {
+ ItemKind::Shield => Equippable {
slot: EquipmentSlot::Offhand,
swappable: false,
..Equippable::new()
},
- Item::SkeletonSkull => Equippable {
+ ItemKind::SkeletonSkull => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::TurtleHelmet => Equippable {
+ ItemKind::TurtleHelmet => Equippable {
asset_id: Some("minecraft:turtle_scute".into()),
equip_sound: SoundEvent::ItemArmorEquipTurtle,
slot: EquipmentSlot::Head,
..Equippable::new()
},
- Item::WhiteCarpet => Equippable {
+ ItemKind::WhiteCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3861,7 +3869,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::WhiteHarness => Equippable {
+ ItemKind::WhiteHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3876,12 +3884,12 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::WitherSkeletonSkull => Equippable {
+ ItemKind::WitherSkeletonSkull => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
},
- Item::WolfArmor => Equippable {
+ ItemKind::WolfArmor => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Wolf],
}),
@@ -3892,7 +3900,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::YellowCarpet => Equippable {
+ ItemKind::YellowCarpet => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: vec![EntityKind::Llama, EntityKind::TraderLlama],
}),
@@ -3903,7 +3911,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::YellowHarness => Equippable {
+ ItemKind::YellowHarness => Equippable {
allowed_entities: Some(HolderSet::Direct {
contents: azalea_registry::tags::entities::CAN_EQUIP_HARNESS
.clone()
@@ -3918,7 +3926,7 @@ impl DefaultableComponent for Equippable {
slot: EquipmentSlot::Body,
..Equippable::new()
},
- Item::ZombieHead => Equippable {
+ ItemKind::ZombieHead => Equippable {
slot: EquipmentSlot::Head,
swappable: false,
..Equippable::new()
@@ -3929,745 +3937,747 @@ impl DefaultableComponent for Equippable {
}
}
impl DefaultableComponent for ChickenVariant {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BlueEgg => ChickenVariant::Referenced("minecraft:cold".into()),
- Item::BrownEgg => ChickenVariant::Referenced("minecraft:warm".into()),
- Item::Egg => ChickenVariant::Referenced("minecraft:temperate".into()),
+ ItemKind::BlueEgg => ChickenVariant::Referenced("minecraft:cold".into()),
+ ItemKind::BrownEgg => ChickenVariant::Referenced("minecraft:warm".into()),
+ ItemKind::Egg => ChickenVariant::Referenced("minecraft:temperate".into()),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for Enchantable {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Book => 1,
- Item::Bow => 1,
- Item::ChainmailBoots => 12,
- Item::ChainmailChestplate => 12,
- Item::ChainmailHelmet => 12,
- Item::ChainmailLeggings => 12,
- Item::CopperAxe => 13,
- Item::CopperBoots => 8,
- Item::CopperChestplate => 8,
- Item::CopperHelmet => 8,
- Item::CopperHoe => 13,
- Item::CopperLeggings => 8,
- Item::CopperPickaxe => 13,
- Item::CopperShovel => 13,
- Item::CopperSpear => 13,
- Item::CopperSword => 13,
- Item::Crossbow => 1,
- Item::DiamondAxe => 10,
- Item::DiamondBoots => 10,
- Item::DiamondChestplate => 10,
- Item::DiamondHelmet => 10,
- Item::DiamondHoe => 10,
- Item::DiamondLeggings => 10,
- Item::DiamondPickaxe => 10,
- Item::DiamondShovel => 10,
- Item::DiamondSpear => 10,
- Item::DiamondSword => 10,
- Item::FishingRod => 1,
- Item::GoldenAxe => 22,
- Item::GoldenBoots => 25,
- Item::GoldenChestplate => 25,
- Item::GoldenHelmet => 25,
- Item::GoldenHoe => 22,
- Item::GoldenLeggings => 25,
- Item::GoldenPickaxe => 22,
- Item::GoldenShovel => 22,
- Item::GoldenSpear => 22,
- Item::GoldenSword => 22,
- Item::IronAxe => 14,
- Item::IronBoots => 9,
- Item::IronChestplate => 9,
- Item::IronHelmet => 9,
- Item::IronHoe => 14,
- Item::IronLeggings => 9,
- Item::IronPickaxe => 14,
- Item::IronShovel => 14,
- Item::IronSpear => 14,
- Item::IronSword => 14,
- Item::LeatherBoots => 15,
- Item::LeatherChestplate => 15,
- Item::LeatherHelmet => 15,
- Item::LeatherLeggings => 15,
- Item::Mace => 15,
- Item::NetheriteAxe => 15,
- Item::NetheriteBoots => 15,
- Item::NetheriteChestplate => 15,
- Item::NetheriteHelmet => 15,
- Item::NetheriteHoe => 15,
- Item::NetheriteLeggings => 15,
- Item::NetheritePickaxe => 15,
- Item::NetheriteShovel => 15,
- Item::NetheriteSpear => 15,
- Item::NetheriteSword => 15,
- Item::StoneAxe => 5,
- Item::StoneHoe => 5,
- Item::StonePickaxe => 5,
- Item::StoneShovel => 5,
- Item::StoneSpear => 5,
- Item::StoneSword => 5,
- Item::Trident => 1,
- Item::TurtleHelmet => 9,
- Item::WoodenAxe => 15,
- Item::WoodenHoe => 15,
- Item::WoodenPickaxe => 15,
- Item::WoodenShovel => 15,
- Item::WoodenSpear => 15,
- Item::WoodenSword => 15,
+ ItemKind::Book => 1,
+ ItemKind::Bow => 1,
+ ItemKind::ChainmailBoots => 12,
+ ItemKind::ChainmailChestplate => 12,
+ ItemKind::ChainmailHelmet => 12,
+ ItemKind::ChainmailLeggings => 12,
+ ItemKind::CopperAxe => 13,
+ ItemKind::CopperBoots => 8,
+ ItemKind::CopperChestplate => 8,
+ ItemKind::CopperHelmet => 8,
+ ItemKind::CopperHoe => 13,
+ ItemKind::CopperLeggings => 8,
+ ItemKind::CopperPickaxe => 13,
+ ItemKind::CopperShovel => 13,
+ ItemKind::CopperSpear => 13,
+ ItemKind::CopperSword => 13,
+ ItemKind::Crossbow => 1,
+ ItemKind::DiamondAxe => 10,
+ ItemKind::DiamondBoots => 10,
+ ItemKind::DiamondChestplate => 10,
+ ItemKind::DiamondHelmet => 10,
+ ItemKind::DiamondHoe => 10,
+ ItemKind::DiamondLeggings => 10,
+ ItemKind::DiamondPickaxe => 10,
+ ItemKind::DiamondShovel => 10,
+ ItemKind::DiamondSpear => 10,
+ ItemKind::DiamondSword => 10,
+ ItemKind::FishingRod => 1,
+ ItemKind::GoldenAxe => 22,
+ ItemKind::GoldenBoots => 25,
+ ItemKind::GoldenChestplate => 25,
+ ItemKind::GoldenHelmet => 25,
+ ItemKind::GoldenHoe => 22,
+ ItemKind::GoldenLeggings => 25,
+ ItemKind::GoldenPickaxe => 22,
+ ItemKind::GoldenShovel => 22,
+ ItemKind::GoldenSpear => 22,
+ ItemKind::GoldenSword => 22,
+ ItemKind::IronAxe => 14,
+ ItemKind::IronBoots => 9,
+ ItemKind::IronChestplate => 9,
+ ItemKind::IronHelmet => 9,
+ ItemKind::IronHoe => 14,
+ ItemKind::IronLeggings => 9,
+ ItemKind::IronPickaxe => 14,
+ ItemKind::IronShovel => 14,
+ ItemKind::IronSpear => 14,
+ ItemKind::IronSword => 14,
+ ItemKind::LeatherBoots => 15,
+ ItemKind::LeatherChestplate => 15,
+ ItemKind::LeatherHelmet => 15,
+ ItemKind::LeatherLeggings => 15,
+ ItemKind::Mace => 15,
+ ItemKind::NetheriteAxe => 15,
+ ItemKind::NetheriteBoots => 15,
+ ItemKind::NetheriteChestplate => 15,
+ ItemKind::NetheriteHelmet => 15,
+ ItemKind::NetheriteHoe => 15,
+ ItemKind::NetheriteLeggings => 15,
+ ItemKind::NetheritePickaxe => 15,
+ ItemKind::NetheriteShovel => 15,
+ ItemKind::NetheriteSpear => 15,
+ ItemKind::NetheriteSword => 15,
+ ItemKind::StoneAxe => 5,
+ ItemKind::StoneHoe => 5,
+ ItemKind::StonePickaxe => 5,
+ ItemKind::StoneShovel => 5,
+ ItemKind::StoneSpear => 5,
+ ItemKind::StoneSword => 5,
+ ItemKind::Trident => 1,
+ ItemKind::TurtleHelmet => 9,
+ ItemKind::WoodenAxe => 15,
+ ItemKind::WoodenHoe => 15,
+ ItemKind::WoodenPickaxe => 15,
+ ItemKind::WoodenShovel => 15,
+ ItemKind::WoodenSpear => 15,
+ ItemKind::WoodenSword => 15,
_ => return None,
};
Some(Enchantable { value: value })
}
}
impl DefaultableComponent for ProvidesBannerPatterns {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::BordureIndentedBannerPattern => "#minecraft:pattern_item/bordure_indented".into(),
- Item::CreeperBannerPattern => "#minecraft:pattern_item/creeper".into(),
- Item::FieldMasonedBannerPattern => "#minecraft:pattern_item/field_masoned".into(),
- Item::FlowBannerPattern => "#minecraft:pattern_item/flow".into(),
- Item::FlowerBannerPattern => "#minecraft:pattern_item/flower".into(),
- Item::GlobeBannerPattern => "#minecraft:pattern_item/globe".into(),
- Item::GusterBannerPattern => "#minecraft:pattern_item/guster".into(),
- Item::MojangBannerPattern => "#minecraft:pattern_item/mojang".into(),
- Item::PiglinBannerPattern => "#minecraft:pattern_item/piglin".into(),
- Item::SkullBannerPattern => "#minecraft:pattern_item/skull".into(),
+ ItemKind::BordureIndentedBannerPattern => {
+ "#minecraft:pattern_item/bordure_indented".into()
+ }
+ ItemKind::CreeperBannerPattern => "#minecraft:pattern_item/creeper".into(),
+ ItemKind::FieldMasonedBannerPattern => "#minecraft:pattern_item/field_masoned".into(),
+ ItemKind::FlowBannerPattern => "#minecraft:pattern_item/flow".into(),
+ ItemKind::FlowerBannerPattern => "#minecraft:pattern_item/flower".into(),
+ ItemKind::GlobeBannerPattern => "#minecraft:pattern_item/globe".into(),
+ ItemKind::GusterBannerPattern => "#minecraft:pattern_item/guster".into(),
+ ItemKind::MojangBannerPattern => "#minecraft:pattern_item/mojang".into(),
+ ItemKind::PiglinBannerPattern => "#minecraft:pattern_item/piglin".into(),
+ ItemKind::SkullBannerPattern => "#minecraft:pattern_item/skull".into(),
_ => return None,
};
Some(ProvidesBannerPatterns { key: value })
}
}
impl DefaultableComponent for Damage {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Bow => 0,
- Item::Brush => 0,
- Item::CarrotOnAStick => 0,
- Item::ChainmailBoots => 0,
- Item::ChainmailChestplate => 0,
- Item::ChainmailHelmet => 0,
- Item::ChainmailLeggings => 0,
- Item::CopperAxe => 0,
- Item::CopperBoots => 0,
- Item::CopperChestplate => 0,
- Item::CopperHelmet => 0,
- Item::CopperHoe => 0,
- Item::CopperLeggings => 0,
- Item::CopperPickaxe => 0,
- Item::CopperShovel => 0,
- Item::CopperSpear => 0,
- Item::CopperSword => 0,
- Item::Crossbow => 0,
- Item::DiamondAxe => 0,
- Item::DiamondBoots => 0,
- Item::DiamondChestplate => 0,
- Item::DiamondHelmet => 0,
- Item::DiamondHoe => 0,
- Item::DiamondLeggings => 0,
- Item::DiamondPickaxe => 0,
- Item::DiamondShovel => 0,
- Item::DiamondSpear => 0,
- Item::DiamondSword => 0,
- Item::Elytra => 0,
- Item::FishingRod => 0,
- Item::FlintAndSteel => 0,
- Item::GoldenAxe => 0,
- Item::GoldenBoots => 0,
- Item::GoldenChestplate => 0,
- Item::GoldenHelmet => 0,
- Item::GoldenHoe => 0,
- Item::GoldenLeggings => 0,
- Item::GoldenPickaxe => 0,
- Item::GoldenShovel => 0,
- Item::GoldenSpear => 0,
- Item::GoldenSword => 0,
- Item::IronAxe => 0,
- Item::IronBoots => 0,
- Item::IronChestplate => 0,
- Item::IronHelmet => 0,
- Item::IronHoe => 0,
- Item::IronLeggings => 0,
- Item::IronPickaxe => 0,
- Item::IronShovel => 0,
- Item::IronSpear => 0,
- Item::IronSword => 0,
- Item::LeatherBoots => 0,
- Item::LeatherChestplate => 0,
- Item::LeatherHelmet => 0,
- Item::LeatherLeggings => 0,
- Item::Mace => 0,
- Item::NetheriteAxe => 0,
- Item::NetheriteBoots => 0,
- Item::NetheriteChestplate => 0,
- Item::NetheriteHelmet => 0,
- Item::NetheriteHoe => 0,
- Item::NetheriteLeggings => 0,
- Item::NetheritePickaxe => 0,
- Item::NetheriteShovel => 0,
- Item::NetheriteSpear => 0,
- Item::NetheriteSword => 0,
- Item::Shears => 0,
- Item::Shield => 0,
- Item::StoneAxe => 0,
- Item::StoneHoe => 0,
- Item::StonePickaxe => 0,
- Item::StoneShovel => 0,
- Item::StoneSpear => 0,
- Item::StoneSword => 0,
- Item::Trident => 0,
- Item::TurtleHelmet => 0,
- Item::WarpedFungusOnAStick => 0,
- Item::WolfArmor => 0,
- Item::WoodenAxe => 0,
- Item::WoodenHoe => 0,
- Item::WoodenPickaxe => 0,
- Item::WoodenShovel => 0,
- Item::WoodenSpear => 0,
- Item::WoodenSword => 0,
+ ItemKind::Bow => 0,
+ ItemKind::Brush => 0,
+ ItemKind::CarrotOnAStick => 0,
+ ItemKind::ChainmailBoots => 0,
+ ItemKind::ChainmailChestplate => 0,
+ ItemKind::ChainmailHelmet => 0,
+ ItemKind::ChainmailLeggings => 0,
+ ItemKind::CopperAxe => 0,
+ ItemKind::CopperBoots => 0,
+ ItemKind::CopperChestplate => 0,
+ ItemKind::CopperHelmet => 0,
+ ItemKind::CopperHoe => 0,
+ ItemKind::CopperLeggings => 0,
+ ItemKind::CopperPickaxe => 0,
+ ItemKind::CopperShovel => 0,
+ ItemKind::CopperSpear => 0,
+ ItemKind::CopperSword => 0,
+ ItemKind::Crossbow => 0,
+ ItemKind::DiamondAxe => 0,
+ ItemKind::DiamondBoots => 0,
+ ItemKind::DiamondChestplate => 0,
+ ItemKind::DiamondHelmet => 0,
+ ItemKind::DiamondHoe => 0,
+ ItemKind::DiamondLeggings => 0,
+ ItemKind::DiamondPickaxe => 0,
+ ItemKind::DiamondShovel => 0,
+ ItemKind::DiamondSpear => 0,
+ ItemKind::DiamondSword => 0,
+ ItemKind::Elytra => 0,
+ ItemKind::FishingRod => 0,
+ ItemKind::FlintAndSteel => 0,
+ ItemKind::GoldenAxe => 0,
+ ItemKind::GoldenBoots => 0,
+ ItemKind::GoldenChestplate => 0,
+ ItemKind::GoldenHelmet => 0,
+ ItemKind::GoldenHoe => 0,
+ ItemKind::GoldenLeggings => 0,
+ ItemKind::GoldenPickaxe => 0,
+ ItemKind::GoldenShovel => 0,
+ ItemKind::GoldenSpear => 0,
+ ItemKind::GoldenSword => 0,
+ ItemKind::IronAxe => 0,
+ ItemKind::IronBoots => 0,
+ ItemKind::IronChestplate => 0,
+ ItemKind::IronHelmet => 0,
+ ItemKind::IronHoe => 0,
+ ItemKind::IronLeggings => 0,
+ ItemKind::IronPickaxe => 0,
+ ItemKind::IronShovel => 0,
+ ItemKind::IronSpear => 0,
+ ItemKind::IronSword => 0,
+ ItemKind::LeatherBoots => 0,
+ ItemKind::LeatherChestplate => 0,
+ ItemKind::LeatherHelmet => 0,
+ ItemKind::LeatherLeggings => 0,
+ ItemKind::Mace => 0,
+ ItemKind::NetheriteAxe => 0,
+ ItemKind::NetheriteBoots => 0,
+ ItemKind::NetheriteChestplate => 0,
+ ItemKind::NetheriteHelmet => 0,
+ ItemKind::NetheriteHoe => 0,
+ ItemKind::NetheriteLeggings => 0,
+ ItemKind::NetheritePickaxe => 0,
+ ItemKind::NetheriteShovel => 0,
+ ItemKind::NetheriteSpear => 0,
+ ItemKind::NetheriteSword => 0,
+ ItemKind::Shears => 0,
+ ItemKind::Shield => 0,
+ ItemKind::StoneAxe => 0,
+ ItemKind::StoneHoe => 0,
+ ItemKind::StonePickaxe => 0,
+ ItemKind::StoneShovel => 0,
+ ItemKind::StoneSpear => 0,
+ ItemKind::StoneSword => 0,
+ ItemKind::Trident => 0,
+ ItemKind::TurtleHelmet => 0,
+ ItemKind::WarpedFungusOnAStick => 0,
+ ItemKind::WolfArmor => 0,
+ ItemKind::WoodenAxe => 0,
+ ItemKind::WoodenHoe => 0,
+ ItemKind::WoodenPickaxe => 0,
+ ItemKind::WoodenShovel => 0,
+ ItemKind::WoodenSpear => 0,
+ ItemKind::WoodenSword => 0,
_ => return None,
};
Some(Damage { amount: value })
}
}
impl DefaultableComponent for MaxDamage {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Bow => 384,
- Item::Brush => 64,
- Item::CarrotOnAStick => 25,
- Item::ChainmailBoots => 195,
- Item::ChainmailChestplate => 240,
- Item::ChainmailHelmet => 165,
- Item::ChainmailLeggings => 225,
- Item::CopperAxe => 190,
- Item::CopperBoots => 143,
- Item::CopperChestplate => 176,
- Item::CopperHelmet => 121,
- Item::CopperHoe => 190,
- Item::CopperLeggings => 165,
- Item::CopperPickaxe => 190,
- Item::CopperShovel => 190,
- Item::CopperSpear => 190,
- Item::CopperSword => 190,
- Item::Crossbow => 465,
- Item::DiamondAxe => 1561,
- Item::DiamondBoots => 429,
- Item::DiamondChestplate => 528,
- Item::DiamondHelmet => 363,
- Item::DiamondHoe => 1561,
- Item::DiamondLeggings => 495,
- Item::DiamondPickaxe => 1561,
- Item::DiamondShovel => 1561,
- Item::DiamondSpear => 1561,
- Item::DiamondSword => 1561,
- Item::Elytra => 432,
- Item::FishingRod => 64,
- Item::FlintAndSteel => 64,
- Item::GoldenAxe => 32,
- Item::GoldenBoots => 91,
- Item::GoldenChestplate => 112,
- Item::GoldenHelmet => 77,
- Item::GoldenHoe => 32,
- Item::GoldenLeggings => 105,
- Item::GoldenPickaxe => 32,
- Item::GoldenShovel => 32,
- Item::GoldenSpear => 32,
- Item::GoldenSword => 32,
- Item::IronAxe => 250,
- Item::IronBoots => 195,
- Item::IronChestplate => 240,
- Item::IronHelmet => 165,
- Item::IronHoe => 250,
- Item::IronLeggings => 225,
- Item::IronPickaxe => 250,
- Item::IronShovel => 250,
- Item::IronSpear => 250,
- Item::IronSword => 250,
- Item::LeatherBoots => 65,
- Item::LeatherChestplate => 80,
- Item::LeatherHelmet => 55,
- Item::LeatherLeggings => 75,
- Item::Mace => 500,
- Item::NetheriteAxe => 2031,
- Item::NetheriteBoots => 481,
- Item::NetheriteChestplate => 592,
- Item::NetheriteHelmet => 407,
- Item::NetheriteHoe => 2031,
- Item::NetheriteLeggings => 555,
- Item::NetheritePickaxe => 2031,
- Item::NetheriteShovel => 2031,
- Item::NetheriteSpear => 2031,
- Item::NetheriteSword => 2031,
- Item::Shears => 238,
- Item::Shield => 336,
- Item::StoneAxe => 131,
- Item::StoneHoe => 131,
- Item::StonePickaxe => 131,
- Item::StoneShovel => 131,
- Item::StoneSpear => 131,
- Item::StoneSword => 131,
- Item::Trident => 250,
- Item::TurtleHelmet => 275,
- Item::WarpedFungusOnAStick => 100,
- Item::WolfArmor => 64,
- Item::WoodenAxe => 59,
- Item::WoodenHoe => 59,
- Item::WoodenPickaxe => 59,
- Item::WoodenShovel => 59,
- Item::WoodenSpear => 59,
- Item::WoodenSword => 59,
+ ItemKind::Bow => 384,
+ ItemKind::Brush => 64,
+ ItemKind::CarrotOnAStick => 25,
+ ItemKind::ChainmailBoots => 195,
+ ItemKind::ChainmailChestplate => 240,
+ ItemKind::ChainmailHelmet => 165,
+ ItemKind::ChainmailLeggings => 225,
+ ItemKind::CopperAxe => 190,
+ ItemKind::CopperBoots => 143,
+ ItemKind::CopperChestplate => 176,
+ ItemKind::CopperHelmet => 121,
+ ItemKind::CopperHoe => 190,
+ ItemKind::CopperLeggings => 165,
+ ItemKind::CopperPickaxe => 190,
+ ItemKind::CopperShovel => 190,
+ ItemKind::CopperSpear => 190,
+ ItemKind::CopperSword => 190,
+ ItemKind::Crossbow => 465,
+ ItemKind::DiamondAxe => 1561,
+ ItemKind::DiamondBoots => 429,
+ ItemKind::DiamondChestplate => 528,
+ ItemKind::DiamondHelmet => 363,
+ ItemKind::DiamondHoe => 1561,
+ ItemKind::DiamondLeggings => 495,
+ ItemKind::DiamondPickaxe => 1561,
+ ItemKind::DiamondShovel => 1561,
+ ItemKind::DiamondSpear => 1561,
+ ItemKind::DiamondSword => 1561,
+ ItemKind::Elytra => 432,
+ ItemKind::FishingRod => 64,
+ ItemKind::FlintAndSteel => 64,
+ ItemKind::GoldenAxe => 32,
+ ItemKind::GoldenBoots => 91,
+ ItemKind::GoldenChestplate => 112,
+ ItemKind::GoldenHelmet => 77,
+ ItemKind::GoldenHoe => 32,
+ ItemKind::GoldenLeggings => 105,
+ ItemKind::GoldenPickaxe => 32,
+ ItemKind::GoldenShovel => 32,
+ ItemKind::GoldenSpear => 32,
+ ItemKind::GoldenSword => 32,
+ ItemKind::IronAxe => 250,
+ ItemKind::IronBoots => 195,
+ ItemKind::IronChestplate => 240,
+ ItemKind::IronHelmet => 165,
+ ItemKind::IronHoe => 250,
+ ItemKind::IronLeggings => 225,
+ ItemKind::IronPickaxe => 250,
+ ItemKind::IronShovel => 250,
+ ItemKind::IronSpear => 250,
+ ItemKind::IronSword => 250,
+ ItemKind::LeatherBoots => 65,
+ ItemKind::LeatherChestplate => 80,
+ ItemKind::LeatherHelmet => 55,
+ ItemKind::LeatherLeggings => 75,
+ ItemKind::Mace => 500,
+ ItemKind::NetheriteAxe => 2031,
+ ItemKind::NetheriteBoots => 481,
+ ItemKind::NetheriteChestplate => 592,
+ ItemKind::NetheriteHelmet => 407,
+ ItemKind::NetheriteHoe => 2031,
+ ItemKind::NetheriteLeggings => 555,
+ ItemKind::NetheritePickaxe => 2031,
+ ItemKind::NetheriteShovel => 2031,
+ ItemKind::NetheriteSpear => 2031,
+ ItemKind::NetheriteSword => 2031,
+ ItemKind::Shears => 238,
+ ItemKind::Shield => 336,
+ ItemKind::StoneAxe => 131,
+ ItemKind::StoneHoe => 131,
+ ItemKind::StonePickaxe => 131,
+ ItemKind::StoneShovel => 131,
+ ItemKind::StoneSpear => 131,
+ ItemKind::StoneSword => 131,
+ ItemKind::Trident => 250,
+ ItemKind::TurtleHelmet => 275,
+ ItemKind::WarpedFungusOnAStick => 100,
+ ItemKind::WolfArmor => 64,
+ ItemKind::WoodenAxe => 59,
+ ItemKind::WoodenHoe => 59,
+ ItemKind::WoodenPickaxe => 59,
+ ItemKind::WoodenShovel => 59,
+ ItemKind::WoodenSpear => 59,
+ ItemKind::WoodenSword => 59,
_ => return None,
};
Some(MaxDamage { amount: value })
}
}
impl DefaultableComponent for Repairable {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::ChainmailBoots => HolderSet::Direct {
+ ItemKind::ChainmailBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::ChainmailChestplate => HolderSet::Direct {
+ ItemKind::ChainmailChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::ChainmailHelmet => HolderSet::Direct {
+ ItemKind::ChainmailHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::ChainmailLeggings => HolderSet::Direct {
+ ItemKind::ChainmailLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_CHAIN_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::CopperAxe => HolderSet::Direct {
+ ItemKind::CopperAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::CopperBoots => HolderSet::Direct {
+ ItemKind::CopperBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::CopperChestplate => HolderSet::Direct {
+ ItemKind::CopperChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::CopperHelmet => HolderSet::Direct {
+ ItemKind::CopperHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::CopperHoe => HolderSet::Direct {
+ ItemKind::CopperHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::CopperLeggings => HolderSet::Direct {
+ ItemKind::CopperLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_COPPER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::CopperPickaxe => HolderSet::Direct {
+ ItemKind::CopperPickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::CopperShovel => HolderSet::Direct {
+ ItemKind::CopperShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::CopperSpear => HolderSet::Direct {
+ ItemKind::CopperSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::CopperSword => HolderSet::Direct {
+ ItemKind::CopperSword => HolderSet::Direct {
contents: azalea_registry::tags::items::COPPER_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::DiamondAxe => HolderSet::Direct {
+ ItemKind::DiamondAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::DiamondBoots => HolderSet::Direct {
+ ItemKind::DiamondBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::DiamondChestplate => HolderSet::Direct {
+ ItemKind::DiamondChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::DiamondHelmet => HolderSet::Direct {
+ ItemKind::DiamondHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::DiamondHoe => HolderSet::Direct {
+ ItemKind::DiamondHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::DiamondLeggings => HolderSet::Direct {
+ ItemKind::DiamondLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_DIAMOND_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::DiamondPickaxe => HolderSet::Direct {
+ ItemKind::DiamondPickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::DiamondShovel => HolderSet::Direct {
+ ItemKind::DiamondShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::DiamondSpear => HolderSet::Direct {
+ ItemKind::DiamondSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::DiamondSword => HolderSet::Direct {
+ ItemKind::DiamondSword => HolderSet::Direct {
contents: azalea_registry::tags::items::DIAMOND_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::Elytra => HolderSet::Direct {
- contents: vec![Item::PhantomMembrane],
+ ItemKind::Elytra => HolderSet::Direct {
+ contents: vec![ItemKind::PhantomMembrane],
},
- Item::GoldenAxe => HolderSet::Direct {
+ ItemKind::GoldenAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::GoldenBoots => HolderSet::Direct {
+ ItemKind::GoldenBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::GoldenChestplate => HolderSet::Direct {
+ ItemKind::GoldenChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::GoldenHelmet => HolderSet::Direct {
+ ItemKind::GoldenHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::GoldenHoe => HolderSet::Direct {
+ ItemKind::GoldenHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::GoldenLeggings => HolderSet::Direct {
+ ItemKind::GoldenLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_GOLD_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::GoldenPickaxe => HolderSet::Direct {
+ ItemKind::GoldenPickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::GoldenShovel => HolderSet::Direct {
+ ItemKind::GoldenShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::GoldenSpear => HolderSet::Direct {
+ ItemKind::GoldenSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::GoldenSword => HolderSet::Direct {
+ ItemKind::GoldenSword => HolderSet::Direct {
contents: azalea_registry::tags::items::GOLD_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::IronAxe => HolderSet::Direct {
+ ItemKind::IronAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::IronBoots => HolderSet::Direct {
+ ItemKind::IronBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::IronChestplate => HolderSet::Direct {
+ ItemKind::IronChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::IronHelmet => HolderSet::Direct {
+ ItemKind::IronHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::IronHoe => HolderSet::Direct {
+ ItemKind::IronHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::IronLeggings => HolderSet::Direct {
+ ItemKind::IronLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_IRON_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::IronPickaxe => HolderSet::Direct {
+ ItemKind::IronPickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::IronShovel => HolderSet::Direct {
+ ItemKind::IronShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::IronSpear => HolderSet::Direct {
+ ItemKind::IronSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::IronSword => HolderSet::Direct {
+ ItemKind::IronSword => HolderSet::Direct {
contents: azalea_registry::tags::items::IRON_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::LeatherBoots => HolderSet::Direct {
+ ItemKind::LeatherBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::LeatherChestplate => HolderSet::Direct {
+ ItemKind::LeatherChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::LeatherHelmet => HolderSet::Direct {
+ ItemKind::LeatherHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::LeatherLeggings => HolderSet::Direct {
+ ItemKind::LeatherLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_LEATHER_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::Mace => HolderSet::Direct {
- contents: vec![Item::BreezeRod],
+ ItemKind::Mace => HolderSet::Direct {
+ contents: vec![ItemKind::BreezeRod],
},
- Item::NetheriteAxe => HolderSet::Direct {
+ ItemKind::NetheriteAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteBoots => HolderSet::Direct {
+ ItemKind::NetheriteBoots => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteChestplate => HolderSet::Direct {
+ ItemKind::NetheriteChestplate => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteHelmet => HolderSet::Direct {
+ ItemKind::NetheriteHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteHoe => HolderSet::Direct {
+ ItemKind::NetheriteHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteLeggings => HolderSet::Direct {
+ ItemKind::NetheriteLeggings => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_NETHERITE_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::NetheritePickaxe => HolderSet::Direct {
+ ItemKind::NetheritePickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteShovel => HolderSet::Direct {
+ ItemKind::NetheriteShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteSpear => HolderSet::Direct {
+ ItemKind::NetheriteSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::NetheriteSword => HolderSet::Direct {
+ ItemKind::NetheriteSword => HolderSet::Direct {
contents: azalea_registry::tags::items::NETHERITE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::Shield => HolderSet::Direct {
+ ItemKind::Shield => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::StoneAxe => HolderSet::Direct {
+ ItemKind::StoneAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::StoneHoe => HolderSet::Direct {
+ ItemKind::StoneHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::StonePickaxe => HolderSet::Direct {
+ ItemKind::StonePickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::StoneShovel => HolderSet::Direct {
+ ItemKind::StoneShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::StoneSpear => HolderSet::Direct {
+ ItemKind::StoneSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::StoneSword => HolderSet::Direct {
+ ItemKind::StoneSword => HolderSet::Direct {
contents: azalea_registry::tags::items::STONE_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::TurtleHelmet => HolderSet::Direct {
+ ItemKind::TurtleHelmet => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_TURTLE_HELMET
.clone()
.into_iter()
.collect(),
},
- Item::WolfArmor => HolderSet::Direct {
+ ItemKind::WolfArmor => HolderSet::Direct {
contents: azalea_registry::tags::items::REPAIRS_WOLF_ARMOR
.clone()
.into_iter()
.collect(),
},
- Item::WoodenAxe => HolderSet::Direct {
+ ItemKind::WoodenAxe => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::WoodenHoe => HolderSet::Direct {
+ ItemKind::WoodenHoe => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::WoodenPickaxe => HolderSet::Direct {
+ ItemKind::WoodenPickaxe => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::WoodenShovel => HolderSet::Direct {
+ ItemKind::WoodenShovel => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::WoodenSpear => HolderSet::Direct {
+ ItemKind::WoodenSpear => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
.collect(),
},
- Item::WoodenSword => HolderSet::Direct {
+ ItemKind::WoodenSword => HolderSet::Direct {
contents: azalea_registry::tags::items::WOODEN_TOOL_MATERIALS
.clone()
.into_iter()
@@ -4679,17 +4689,17 @@ impl DefaultableComponent for Repairable {
}
}
impl DefaultableComponent for UseCooldown {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::ChorusFruit => UseCooldown {
+ ItemKind::ChorusFruit => UseCooldown {
seconds: 1.0,
..UseCooldown::new()
},
- Item::EnderPearl => UseCooldown {
+ ItemKind::EnderPearl => UseCooldown {
seconds: 1.0,
..UseCooldown::new()
},
- Item::WindCharge => UseCooldown {
+ ItemKind::WindCharge => UseCooldown {
seconds: 0.5,
..UseCooldown::new()
},
@@ -4699,9 +4709,9 @@ impl DefaultableComponent for UseCooldown {
}
}
impl DefaultableComponent for Tool {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperAxe => Tool {
+ ItemKind::CopperAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4726,7 +4736,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::CopperHoe => Tool {
+ ItemKind::CopperHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4751,7 +4761,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::CopperPickaxe => Tool {
+ ItemKind::CopperPickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4776,7 +4786,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::CopperShovel => Tool {
+ ItemKind::CopperShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4801,13 +4811,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::CopperSword => Tool {
+ ItemKind::CopperSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -4835,7 +4845,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::DiamondAxe => Tool {
+ ItemKind::DiamondAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4860,7 +4870,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::DiamondHoe => Tool {
+ ItemKind::DiamondHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4885,7 +4895,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::DiamondPickaxe => Tool {
+ ItemKind::DiamondPickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4910,7 +4920,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::DiamondShovel => Tool {
+ ItemKind::DiamondShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4935,13 +4945,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::DiamondSword => Tool {
+ ItemKind::DiamondSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -4969,7 +4979,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::GoldenAxe => Tool {
+ ItemKind::GoldenAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -4994,7 +5004,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::GoldenHoe => Tool {
+ ItemKind::GoldenHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5019,7 +5029,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::GoldenPickaxe => Tool {
+ ItemKind::GoldenPickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5044,7 +5054,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::GoldenShovel => Tool {
+ ItemKind::GoldenShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5069,13 +5079,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::GoldenSword => Tool {
+ ItemKind::GoldenSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -5103,7 +5113,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::IronAxe => Tool {
+ ItemKind::IronAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5128,7 +5138,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::IronHoe => Tool {
+ ItemKind::IronHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5153,7 +5163,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::IronPickaxe => Tool {
+ ItemKind::IronPickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5178,7 +5188,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::IronShovel => Tool {
+ ItemKind::IronShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5203,13 +5213,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::IronSword => Tool {
+ ItemKind::IronSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -5237,13 +5247,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::Mace => Tool {
+ ItemKind::Mace => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![],
..Tool::new()
},
- Item::NetheriteAxe => Tool {
+ ItemKind::NetheriteAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5268,7 +5278,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::NetheriteHoe => Tool {
+ ItemKind::NetheriteHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5293,7 +5303,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::NetheritePickaxe => Tool {
+ ItemKind::NetheritePickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5318,7 +5328,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::NetheriteShovel => Tool {
+ ItemKind::NetheriteShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5343,13 +5353,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::NetheriteSword => Tool {
+ ItemKind::NetheriteSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -5377,11 +5387,11 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::Shears => Tool {
+ ItemKind::Shears => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -5408,7 +5418,7 @@ impl DefaultableComponent for Tool {
},
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Vine, Block::GlowLichen],
+ contents: vec![BlockKind::Vine, BlockKind::GlowLichen],
},
speed: Some(2.0),
..ToolRule::new()
@@ -5416,7 +5426,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::StoneAxe => Tool {
+ ItemKind::StoneAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5441,7 +5451,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::StoneHoe => Tool {
+ ItemKind::StoneHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5466,7 +5476,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::StonePickaxe => Tool {
+ ItemKind::StonePickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5491,7 +5501,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::StoneShovel => Tool {
+ ItemKind::StoneShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5516,13 +5526,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::StoneSword => Tool {
+ ItemKind::StoneSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -5550,13 +5560,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::Trident => Tool {
+ ItemKind::Trident => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![],
..Tool::new()
},
- Item::WoodenAxe => Tool {
+ ItemKind::WoodenAxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5581,7 +5591,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::WoodenHoe => Tool {
+ ItemKind::WoodenHoe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5606,7 +5616,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::WoodenPickaxe => Tool {
+ ItemKind::WoodenPickaxe => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5631,7 +5641,7 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::WoodenShovel => Tool {
+ ItemKind::WoodenShovel => Tool {
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
@@ -5656,13 +5666,13 @@ impl DefaultableComponent for Tool {
],
..Tool::new()
},
- Item::WoodenSword => Tool {
+ ItemKind::WoodenSword => Tool {
can_destroy_blocks_in_creative: false,
damage_per_block: 2,
rules: vec![
ToolRule {
blocks: HolderSet::Direct {
- contents: vec![Block::Cobweb],
+ contents: vec![BlockKind::Cobweb],
},
correct_for_drops: Some(true),
speed: Some(15.0),
@@ -5696,145 +5706,145 @@ impl DefaultableComponent for Tool {
}
}
impl DefaultableComponent for Weapon {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperAxe => Weapon {
+ ItemKind::CopperAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::CopperHoe => Weapon {
+ ItemKind::CopperHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::CopperPickaxe => Weapon {
+ ItemKind::CopperPickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::CopperShovel => Weapon {
+ ItemKind::CopperShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::CopperSpear => Weapon::new(),
- Item::CopperSword => Weapon::new(),
- Item::DiamondAxe => Weapon {
+ ItemKind::CopperSpear => Weapon::new(),
+ ItemKind::CopperSword => Weapon::new(),
+ ItemKind::DiamondAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::DiamondHoe => Weapon {
+ ItemKind::DiamondHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::DiamondPickaxe => Weapon {
+ ItemKind::DiamondPickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::DiamondShovel => Weapon {
+ ItemKind::DiamondShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::DiamondSpear => Weapon::new(),
- Item::DiamondSword => Weapon::new(),
- Item::GoldenAxe => Weapon {
+ ItemKind::DiamondSpear => Weapon::new(),
+ ItemKind::DiamondSword => Weapon::new(),
+ ItemKind::GoldenAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::GoldenHoe => Weapon {
+ ItemKind::GoldenHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::GoldenPickaxe => Weapon {
+ ItemKind::GoldenPickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::GoldenShovel => Weapon {
+ ItemKind::GoldenShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::GoldenSpear => Weapon::new(),
- Item::GoldenSword => Weapon::new(),
- Item::IronAxe => Weapon {
+ ItemKind::GoldenSpear => Weapon::new(),
+ ItemKind::GoldenSword => Weapon::new(),
+ ItemKind::IronAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::IronHoe => Weapon {
+ ItemKind::IronHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::IronPickaxe => Weapon {
+ ItemKind::IronPickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::IronShovel => Weapon {
+ ItemKind::IronShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::IronSpear => Weapon::new(),
- Item::IronSword => Weapon::new(),
- Item::Mace => Weapon::new(),
- Item::NetheriteAxe => Weapon {
+ ItemKind::IronSpear => Weapon::new(),
+ ItemKind::IronSword => Weapon::new(),
+ ItemKind::Mace => Weapon::new(),
+ ItemKind::NetheriteAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::NetheriteHoe => Weapon {
+ ItemKind::NetheriteHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::NetheritePickaxe => Weapon {
+ ItemKind::NetheritePickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::NetheriteShovel => Weapon {
+ ItemKind::NetheriteShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::NetheriteSpear => Weapon::new(),
- Item::NetheriteSword => Weapon::new(),
- Item::StoneAxe => Weapon {
+ ItemKind::NetheriteSpear => Weapon::new(),
+ ItemKind::NetheriteSword => Weapon::new(),
+ ItemKind::StoneAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::StoneHoe => Weapon {
+ ItemKind::StoneHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::StonePickaxe => Weapon {
+ ItemKind::StonePickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::StoneShovel => Weapon {
+ ItemKind::StoneShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::StoneSpear => Weapon::new(),
- Item::StoneSword => Weapon::new(),
- Item::Trident => Weapon::new(),
- Item::WoodenAxe => Weapon {
+ ItemKind::StoneSpear => Weapon::new(),
+ ItemKind::StoneSword => Weapon::new(),
+ ItemKind::Trident => Weapon::new(),
+ ItemKind::WoodenAxe => Weapon {
disable_blocking_for_seconds: 5.0,
item_damage_per_attack: 2,
},
- Item::WoodenHoe => Weapon {
+ ItemKind::WoodenHoe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::WoodenPickaxe => Weapon {
+ ItemKind::WoodenPickaxe => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::WoodenShovel => Weapon {
+ ItemKind::WoodenShovel => Weapon {
item_damage_per_attack: 2,
..Weapon::new()
},
- Item::WoodenSpear => Weapon::new(),
- Item::WoodenSword => Weapon::new(),
+ ItemKind::WoodenSpear => Weapon::new(),
+ ItemKind::WoodenSword => Weapon::new(),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for AttackRange {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => AttackRange {
+ ItemKind::CopperSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5842,7 +5852,7 @@ impl DefaultableComponent for AttackRange {
min_reach: 2.0,
mob_factor: 0.5,
},
- Item::DiamondSpear => AttackRange {
+ ItemKind::DiamondSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5850,7 +5860,7 @@ impl DefaultableComponent for AttackRange {
min_reach: 2.0,
mob_factor: 0.5,
},
- Item::GoldenSpear => AttackRange {
+ ItemKind::GoldenSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5858,7 +5868,7 @@ impl DefaultableComponent for AttackRange {
min_reach: 2.0,
mob_factor: 0.5,
},
- Item::IronSpear => AttackRange {
+ ItemKind::IronSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5866,7 +5876,7 @@ impl DefaultableComponent for AttackRange {
min_reach: 2.0,
mob_factor: 0.5,
},
- Item::NetheriteSpear => AttackRange {
+ ItemKind::NetheriteSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5874,7 +5884,7 @@ impl DefaultableComponent for AttackRange {
min_reach: 2.0,
mob_factor: 0.5,
},
- Item::StoneSpear => AttackRange {
+ ItemKind::StoneSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5882,7 +5892,7 @@ impl DefaultableComponent for AttackRange {
min_reach: 2.0,
mob_factor: 0.5,
},
- Item::WoodenSpear => AttackRange {
+ ItemKind::WoodenSpear => AttackRange {
hitbox_margin: 0.125,
max_creative_reach: 6.5,
max_reach: 4.5,
@@ -5896,24 +5906,38 @@ impl DefaultableComponent for AttackRange {
}
}
impl DefaultableComponent for DamageType {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
- Item::DiamondSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
- Item::GoldenSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
- Item::IronSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
- Item::NetheriteSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
- Item::StoneSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
- Item::WoodenSpear => DamageType::Registry(azalea_registry::DamageKind::new_raw(0)),
+ ItemKind::CopperSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
+ ItemKind::DiamondSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
+ ItemKind::GoldenSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
+ ItemKind::IronSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
+ ItemKind::NetheriteSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
+ ItemKind::StoneSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
+ ItemKind::WoodenSpear => {
+ DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))
+ }
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for KineticWeapon {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => KineticWeapon {
+ ItemKind::CopperSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 250,
min_relative_speed: 4.6,
@@ -5936,7 +5960,7 @@ impl DefaultableComponent for KineticWeapon {
sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
..KineticWeapon::new()
},
- Item::DiamondSpear => KineticWeapon {
+ ItemKind::DiamondSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 200,
min_relative_speed: 4.6,
@@ -5959,7 +5983,7 @@ impl DefaultableComponent for KineticWeapon {
sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
..KineticWeapon::new()
},
- Item::GoldenSpear => KineticWeapon {
+ ItemKind::GoldenSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 275,
min_relative_speed: 4.6,
@@ -5982,7 +6006,7 @@ impl DefaultableComponent for KineticWeapon {
sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
..KineticWeapon::new()
},
- Item::IronSpear => KineticWeapon {
+ ItemKind::IronSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 225,
min_relative_speed: 4.6,
@@ -6005,7 +6029,7 @@ impl DefaultableComponent for KineticWeapon {
sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
..KineticWeapon::new()
},
- Item::NetheriteSpear => KineticWeapon {
+ ItemKind::NetheriteSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 175,
min_relative_speed: 4.6,
@@ -6028,7 +6052,7 @@ impl DefaultableComponent for KineticWeapon {
sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
..KineticWeapon::new()
},
- Item::StoneSpear => KineticWeapon {
+ ItemKind::StoneSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 275,
min_relative_speed: 4.6,
@@ -6051,7 +6075,7 @@ impl DefaultableComponent for KineticWeapon {
sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearUse)),
..KineticWeapon::new()
},
- Item::WoodenSpear => KineticWeapon {
+ ItemKind::WoodenSpear => KineticWeapon {
damage_conditions: Some(KineticWeaponCondition {
max_duration_ticks: 300,
min_relative_speed: 4.6,
@@ -6084,66 +6108,66 @@ impl DefaultableComponent for KineticWeapon {
}
}
impl DefaultableComponent for MinimumAttackCharge {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => 1.0,
- Item::DiamondSpear => 1.0,
- Item::GoldenSpear => 1.0,
- Item::IronSpear => 1.0,
- Item::NetheriteSpear => 1.0,
- Item::StoneSpear => 1.0,
- Item::WoodenSpear => 1.0,
+ ItemKind::CopperSpear => 1.0,
+ ItemKind::DiamondSpear => 1.0,
+ ItemKind::GoldenSpear => 1.0,
+ ItemKind::IronSpear => 1.0,
+ ItemKind::NetheriteSpear => 1.0,
+ ItemKind::StoneSpear => 1.0,
+ ItemKind::WoodenSpear => 1.0,
_ => return None,
};
Some(MinimumAttackCharge { value: value })
}
}
impl DefaultableComponent for PiercingWeapon {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::CopperSpear => PiercingWeapon {
+ ItemKind::CopperSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearAttack,
)),
..PiercingWeapon::new()
},
- Item::DiamondSpear => PiercingWeapon {
+ ItemKind::DiamondSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearAttack,
)),
..PiercingWeapon::new()
},
- Item::GoldenSpear => PiercingWeapon {
+ ItemKind::GoldenSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearAttack,
)),
..PiercingWeapon::new()
},
- Item::IronSpear => PiercingWeapon {
+ ItemKind::IronSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearAttack,
)),
..PiercingWeapon::new()
},
- Item::NetheriteSpear => PiercingWeapon {
+ ItemKind::NetheriteSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearAttack,
)),
..PiercingWeapon::new()
},
- Item::StoneSpear => PiercingWeapon {
+ ItemKind::StoneSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(SoundEvent::ItemSpearHit)),
sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearAttack,
)),
..PiercingWeapon::new()
},
- Item::WoodenSpear => PiercingWeapon {
+ ItemKind::WoodenSpear => PiercingWeapon {
hit_sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemSpearWoodHit,
)),
@@ -6158,60 +6182,65 @@ impl DefaultableComponent for PiercingWeapon {
}
}
impl DefaultableComponent for ChargedProjectiles {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Crossbow => vec![],
+ ItemKind::Crossbow => vec![],
_ => return None,
};
Some(ChargedProjectiles { items: value })
}
}
impl DefaultableComponent for DebugStickState {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::DebugStick => NbtCompound::from_values(vec![]),
+ ItemKind::DebugStick => NbtCompound::from_values(vec![]),
_ => return None,
};
Some(DebugStickState { properties: value })
}
}
impl DefaultableComponent for EnchantmentGlintOverride {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::DebugStick => true,
- Item::EnchantedBook => true,
- Item::EnchantedGoldenApple => true,
- Item::EndCrystal => true,
- Item::ExperienceBottle => true,
- Item::NetherStar => true,
- Item::WrittenBook => true,
+ ItemKind::DebugStick => true,
+ ItemKind::EnchantedBook => true,
+ ItemKind::EnchantedGoldenApple => true,
+ ItemKind::EndCrystal => true,
+ ItemKind::ExperienceBottle => true,
+ ItemKind::NetherStar => true,
+ ItemKind::WrittenBook => true,
_ => return None,
};
Some(EnchantmentGlintOverride { show_glint: value })
}
}
impl DefaultableComponent for PotDecorations {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::DecoratedPot => vec![Item::Brick, Item::Brick, Item::Brick, Item::Brick],
+ ItemKind::DecoratedPot => vec![
+ ItemKind::Brick,
+ ItemKind::Brick,
+ ItemKind::Brick,
+ ItemKind::Brick,
+ ],
_ => return None,
};
Some(PotDecorations { items: value })
}
}
impl DefaultableComponent for Glider {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Elytra => Glider,
+ ItemKind::Elytra => Glider,
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for StoredEnchantments {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::EnchantedBook => HashMap::from_iter([]),
+ ItemKind::EnchantedBook => HashMap::from_iter([]),
_ => return None,
};
Some(StoredEnchantments {
@@ -6220,27 +6249,27 @@ impl DefaultableComponent for StoredEnchantments {
}
}
impl DefaultableComponent for MapColor {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::FilledMap => 4603950,
+ ItemKind::FilledMap => 4603950,
_ => return None,
};
Some(MapColor { color: value })
}
}
impl DefaultableComponent for MapDecorations {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::FilledMap => NbtCompound::from_values(vec![]),
+ ItemKind::FilledMap => NbtCompound::from_values(vec![]),
_ => return None,
};
Some(MapDecorations { decorations: value })
}
}
impl DefaultableComponent for Fireworks {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::FireworkRocket => Fireworks {
+ ItemKind::FireworkRocket => Fireworks {
flight_duration: 1,
..Fireworks::new()
},
@@ -6250,91 +6279,95 @@ impl DefaultableComponent for Fireworks {
}
}
impl DefaultableComponent for Instrument {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::GoatHorn => Instrument::Registry(azalea_registry::Instrument::PonderGoatHorn),
+ ItemKind::GoatHorn => Instrument::Registry(data::Instrument::new_raw(0)),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for Recipes {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::KnowledgeBook => vec![],
+ ItemKind::KnowledgeBook => vec![],
_ => return None,
};
Some(Recipes { recipes: value })
}
}
impl DefaultableComponent for PotionContents {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::LingeringPotion => PotionContents::new(),
- Item::Potion => PotionContents::new(),
- Item::SplashPotion => PotionContents::new(),
- Item::TippedArrow => PotionContents::new(),
+ ItemKind::LingeringPotion => PotionContents::new(),
+ ItemKind::Potion => PotionContents::new(),
+ ItemKind::SplashPotion => PotionContents::new(),
+ ItemKind::TippedArrow => PotionContents::new(),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for PotionDurationScale {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::LingeringPotion => 0.25,
- Item::TippedArrow => 0.125,
+ ItemKind::LingeringPotion => 0.25,
+ ItemKind::TippedArrow => 0.125,
_ => return None,
};
Some(PotionDurationScale { value: value })
}
}
impl DefaultableComponent for JukeboxPlayable {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::MusicDisc11 => JukeboxPlayable::Referenced("minecraft:11".into()),
- Item::MusicDisc13 => JukeboxPlayable::Referenced("minecraft:13".into()),
- Item::MusicDisc5 => JukeboxPlayable::Referenced("minecraft:5".into()),
- Item::MusicDiscBlocks => JukeboxPlayable::Referenced("minecraft:blocks".into()),
- Item::MusicDiscCat => JukeboxPlayable::Referenced("minecraft:cat".into()),
- Item::MusicDiscChirp => JukeboxPlayable::Referenced("minecraft:chirp".into()),
- Item::MusicDiscCreator => JukeboxPlayable::Referenced("minecraft:creator".into()),
- Item::MusicDiscCreatorMusicBox => {
+ ItemKind::MusicDisc11 => JukeboxPlayable::Referenced("minecraft:11".into()),
+ ItemKind::MusicDisc13 => JukeboxPlayable::Referenced("minecraft:13".into()),
+ ItemKind::MusicDisc5 => JukeboxPlayable::Referenced("minecraft:5".into()),
+ ItemKind::MusicDiscBlocks => JukeboxPlayable::Referenced("minecraft:blocks".into()),
+ ItemKind::MusicDiscCat => JukeboxPlayable::Referenced("minecraft:cat".into()),
+ ItemKind::MusicDiscChirp => JukeboxPlayable::Referenced("minecraft:chirp".into()),
+ ItemKind::MusicDiscCreator => JukeboxPlayable::Referenced("minecraft:creator".into()),
+ ItemKind::MusicDiscCreatorMusicBox => {
JukeboxPlayable::Referenced("minecraft:creator_music_box".into())
}
- Item::MusicDiscFar => JukeboxPlayable::Referenced("minecraft:far".into()),
- Item::MusicDiscLavaChicken => {
+ ItemKind::MusicDiscFar => JukeboxPlayable::Referenced("minecraft:far".into()),
+ ItemKind::MusicDiscLavaChicken => {
JukeboxPlayable::Referenced("minecraft:lava_chicken".into())
}
- Item::MusicDiscMall => JukeboxPlayable::Referenced("minecraft:mall".into()),
- Item::MusicDiscMellohi => JukeboxPlayable::Referenced("minecraft:mellohi".into()),
- Item::MusicDiscOtherside => JukeboxPlayable::Referenced("minecraft:otherside".into()),
- Item::MusicDiscPigstep => JukeboxPlayable::Referenced("minecraft:pigstep".into()),
- Item::MusicDiscPrecipice => JukeboxPlayable::Referenced("minecraft:precipice".into()),
- Item::MusicDiscRelic => JukeboxPlayable::Referenced("minecraft:relic".into()),
- Item::MusicDiscStal => JukeboxPlayable::Referenced("minecraft:stal".into()),
- Item::MusicDiscStrad => JukeboxPlayable::Referenced("minecraft:strad".into()),
- Item::MusicDiscTears => JukeboxPlayable::Referenced("minecraft:tears".into()),
- Item::MusicDiscWait => JukeboxPlayable::Referenced("minecraft:wait".into()),
- Item::MusicDiscWard => JukeboxPlayable::Referenced("minecraft:ward".into()),
+ ItemKind::MusicDiscMall => JukeboxPlayable::Referenced("minecraft:mall".into()),
+ ItemKind::MusicDiscMellohi => JukeboxPlayable::Referenced("minecraft:mellohi".into()),
+ ItemKind::MusicDiscOtherside => {
+ JukeboxPlayable::Referenced("minecraft:otherside".into())
+ }
+ ItemKind::MusicDiscPigstep => JukeboxPlayable::Referenced("minecraft:pigstep".into()),
+ ItemKind::MusicDiscPrecipice => {
+ JukeboxPlayable::Referenced("minecraft:precipice".into())
+ }
+ ItemKind::MusicDiscRelic => JukeboxPlayable::Referenced("minecraft:relic".into()),
+ ItemKind::MusicDiscStal => JukeboxPlayable::Referenced("minecraft:stal".into()),
+ ItemKind::MusicDiscStrad => JukeboxPlayable::Referenced("minecraft:strad".into()),
+ ItemKind::MusicDiscTears => JukeboxPlayable::Referenced("minecraft:tears".into()),
+ ItemKind::MusicDiscWait => JukeboxPlayable::Referenced("minecraft:wait".into()),
+ ItemKind::MusicDiscWard => JukeboxPlayable::Referenced("minecraft:ward".into()),
_ => return None,
};
Some(value)
}
}
impl DefaultableComponent for OminousBottleAmplifier {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::OminousBottle => 0,
+ ItemKind::OminousBottle => 0,
_ => return None,
};
Some(OminousBottleAmplifier { amplifier: value })
}
}
impl DefaultableComponent for BlocksAttacks {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::Shield => BlocksAttacks {
+ ItemKind::Shield => BlocksAttacks {
block_delay_seconds: 0.25,
block_sound: Some(azalea_registry::Holder::Reference(
SoundEvent::ItemShieldBlock,
@@ -6356,18 +6389,18 @@ impl DefaultableComponent for BlocksAttacks {
}
}
impl DefaultableComponent for SuspiciousStewEffects {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::SuspiciousStew => vec![],
+ ItemKind::SuspiciousStew => vec![],
_ => return None,
};
Some(SuspiciousStewEffects { effects: value })
}
}
impl DefaultableComponent for DeathProtection {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::TotemOfUndying => vec![
+ ItemKind::TotemOfUndying => vec![
ConsumeEffect::ClearAllEffects {},
ConsumeEffect::ApplyEffects {
effects: vec![
@@ -6409,9 +6442,9 @@ impl DefaultableComponent for DeathProtection {
}
}
impl DefaultableComponent for WritableBookContent {
- fn default_for_item(item: Item) -> Option<Self> {
+ fn default_for_item(item: ItemKind) -> Option<Self> {
let value = match item {
- Item::WritableBook => Vec::new(),
+ ItemKind::WritableBook => Vec::new(),
_ => return None,
};
Some(WritableBookContent { pages: value })
diff --git a/azalea-inventory/src/default_components/mod.rs b/azalea-inventory/src/default_components/mod.rs
index 74b7248e..2cc96d51 100644
--- a/azalea-inventory/src/default_components/mod.rs
+++ b/azalea-inventory/src/default_components/mod.rs
@@ -1,21 +1,21 @@
pub mod generated;
-use azalea_registry::Item;
+use azalea_registry::builtin::ItemKind;
use crate::components::DataComponentTrait;
-/// A trait for data components that some [`Item`]s may have a default value
+/// A trait for data components that some [`ItemKind`]s may have a default value
/// for.
pub trait DefaultableComponent: DataComponentTrait {
- fn default_for_item(item: Item) -> Option<Self>
+ fn default_for_item(item: ItemKind) -> Option<Self>
where
Self: Sized;
}
impl<T: DataComponentTrait> DefaultableComponent for T {
- default fn default_for_item(_item: Item) -> Option<Self> {
+ default fn default_for_item(_item: ItemKind) -> Option<Self> {
None
}
}
-pub fn get_default_component<T: DefaultableComponent>(item: Item) -> Option<T> {
+pub fn get_default_component<T: DefaultableComponent>(item: ItemKind) -> Option<T> {
T::default_for_item(item)
}
diff --git a/azalea-inventory/src/item/consume_effect.rs b/azalea-inventory/src/item/consume_effect.rs
index 7054e6c8..9b8a198d 100644
--- a/azalea-inventory/src/item/consume_effect.rs
+++ b/azalea-inventory/src/item/consume_effect.rs
@@ -1,6 +1,10 @@
use azalea_buf::AzBuf;
-use azalea_core::{codec_utils::is_default, identifier::Identifier};
-use azalea_registry::{HolderSet, MobEffect, SoundEvent};
+use azalea_core::codec_utils::is_default;
+use azalea_registry::{
+ HolderSet,
+ builtin::{ConsumeEffectKind, MobEffect, SoundEvent},
+ identifier::Identifier,
+};
use serde::Serialize;
use crate::components::MobEffectInstance;
@@ -28,18 +32,14 @@ pub enum ConsumeEffect {
},
}
-impl From<ConsumeEffect> for azalea_registry::ConsumeEffectKind {
+impl From<ConsumeEffect> for ConsumeEffectKind {
fn from(effect: ConsumeEffect) -> Self {
match effect {
- ConsumeEffect::ApplyEffects { .. } => azalea_registry::ConsumeEffectKind::ApplyEffects,
- ConsumeEffect::RemoveEffects { .. } => {
- azalea_registry::ConsumeEffectKind::RemoveEffects
- }
- ConsumeEffect::ClearAllEffects => azalea_registry::ConsumeEffectKind::ClearAllEffects,
- ConsumeEffect::TeleportRandomly { .. } => {
- azalea_registry::ConsumeEffectKind::TeleportRandomly
- }
- ConsumeEffect::PlaySound { .. } => azalea_registry::ConsumeEffectKind::PlaySound,
+ ConsumeEffect::ApplyEffects { .. } => ConsumeEffectKind::ApplyEffects,
+ ConsumeEffect::RemoveEffects { .. } => ConsumeEffectKind::RemoveEffects,
+ ConsumeEffect::ClearAllEffects => ConsumeEffectKind::ClearAllEffects,
+ ConsumeEffect::TeleportRandomly { .. } => ConsumeEffectKind::TeleportRandomly,
+ ConsumeEffect::PlaySound { .. } => ConsumeEffectKind::PlaySound,
}
}
}
diff --git a/azalea-inventory/src/item/mod.rs b/azalea-inventory/src/item/mod.rs
index 0e9947e2..015ca0e2 100644
--- a/azalea-inventory/src/item/mod.rs
+++ b/azalea-inventory/src/item/mod.rs
@@ -1,3 +1,5 @@
+use azalea_registry::builtin::ItemKind;
+
use crate::{components::MaxStackSize, default_components::get_default_component};
pub mod consume_effect;
@@ -19,7 +21,7 @@ pub trait MaxStackSizeExt {
}
}
-impl MaxStackSizeExt for azalea_registry::Item {
+impl MaxStackSizeExt for ItemKind {
fn max_stack_size(&self) -> i32 {
get_default_component::<MaxStackSize>(*self).map_or(64, |s| s.count)
}
diff --git a/azalea-inventory/src/slot.rs b/azalea-inventory/src/slot.rs
index c3134214..e99d34a3 100644
--- a/azalea-inventory/src/slot.rs
+++ b/azalea-inventory/src/slot.rs
@@ -7,7 +7,7 @@ use std::{
use azalea_buf::{AzaleaRead, AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
use azalea_core::codec_utils::is_default;
-use azalea_registry::{DataComponentKind, Item};
+use azalea_registry::builtin::{DataComponentKind, ItemKind};
use indexmap::IndexMap;
use serde::{Serialize, ser::SerializeMap};
@@ -25,11 +25,11 @@ pub enum ItemStack {
}
impl ItemStack {
- /// Create a new [`ItemStack`] with the given number of [`Item`]s.
+ /// Create a new [`ItemStack`] with the given number of [`ItemKind`]s.
///
/// If item is air or the count isn't positive, then it'll be set to an
/// empty `ItemStack`.
- pub fn new(item: Item, count: i32) -> Self {
+ pub fn new(item: ItemKind, count: i32) -> Self {
let mut i = ItemStack::Present(ItemStackData::new(item, count));
// set it to Empty if the item is air or if the count isn't positive
i.update_empty();
@@ -79,10 +79,10 @@ impl ItemStack {
}
}
- /// Get the `kind` of the item in this slot, or [`Item::Air`]
- pub fn kind(&self) -> Item {
+ /// Get the `kind` of the item in this slot, or [`ItemKind::Air`]
+ pub fn kind(&self) -> ItemKind {
match self {
- ItemStack::Empty => Item::Air,
+ ItemStack::Empty => ItemKind::Air,
ItemStack::Present(i) => i.kind,
}
}
@@ -147,11 +147,12 @@ impl Serialize for ItemStack {
/// An item in an inventory, with a count and a set of data components.
///
-/// Usually you want [`ItemStack`] or [`azalea_registry::Item`] instead.
+/// Usually you want [`ItemStack`] or
+/// [`ItemKind`](azalea_registry::builtin::ItemKind) instead.
#[derive(Debug, Clone, PartialEq, Serialize)]
pub struct ItemStackData {
#[serde(rename = "id")]
- pub kind: Item,
+ pub kind: ItemKind,
/// The amount of the item in this slot.
///
/// The count can be zero or negative, but this is rare.
@@ -163,8 +164,8 @@ pub struct ItemStackData {
}
impl ItemStackData {
- /// Create a new [`ItemStackData`] with the given number of [`Item`]s.
- pub fn new(item: Item, count: i32) -> Self {
+ /// Create a new [`ItemStackData`] with the given number of [`ItemKind`]s.
+ pub fn new(item: ItemKind, count: i32) -> Self {
ItemStackData {
count,
kind: item,
@@ -183,19 +184,19 @@ impl ItemStackData {
/// Check if the count of the item is <= 0 or if the item is air.
pub fn is_empty(&self) -> bool {
- self.count <= 0 || self.kind == Item::Air
+ self.count <= 0 || self.kind == ItemKind::Air
}
/// Whether this item is the same as another item, ignoring the count.
///
/// ```
/// # use azalea_inventory::ItemStackData;
- /// # use azalea_registry::Item;
- /// let mut a = ItemStackData::from(Item::Stone);
- /// let mut b = ItemStackData::new(Item::Stone, 2);
+ /// # use azalea_registry::builtin::ItemKind;
+ /// let mut a = ItemStackData::from(ItemKind::Stone);
+ /// let mut b = ItemStackData::new(ItemKind::Stone, 2);
/// assert!(a.is_same_item_and_components(&b));
///
- /// b.kind = Item::Dirt;
+ /// b.kind = ItemKind::Dirt;
/// assert!(!a.is_same_item_and_components(&b));
/// ```
pub fn is_same_item_and_components(&self, other: &ItemStackData) -> bool {
@@ -221,7 +222,7 @@ impl AzaleaRead for ItemStack {
if count <= 0 {
Ok(ItemStack::Empty)
} else {
- let kind = Item::azalea_read(buf)?;
+ let kind = ItemKind::azalea_read(buf)?;
let component_patch = DataComponentPatch::azalea_read(buf)?;
Ok(ItemStack::Present(ItemStackData {
count,
@@ -255,23 +256,23 @@ impl From<ItemStackData> for ItemStack {
}
}
}
-impl From<Item> for ItemStack {
- fn from(item: Item) -> Self {
+impl From<ItemKind> for ItemStack {
+ fn from(item: ItemKind) -> Self {
ItemStack::new(item, 1)
}
}
-impl From<(Item, i32)> for ItemStack {
- fn from(item: (Item, i32)) -> Self {
+impl From<(ItemKind, i32)> for ItemStack {
+ fn from(item: (ItemKind, i32)) -> Self {
ItemStack::new(item.0, item.1)
}
}
-impl From<Item> for ItemStackData {
- fn from(item: Item) -> Self {
+impl From<ItemKind> for ItemStackData {
+ fn from(item: ItemKind) -> Self {
ItemStackData::new(item, 1)
}
}
-impl From<(Item, i32)> for ItemStackData {
- fn from(item: (Item, i32)) -> Self {
+impl From<(ItemKind, i32)> for ItemStackData {
+ fn from(item: (ItemKind, i32)) -> Self {
ItemStackData::new(item.0, item.1)
}
}
@@ -291,7 +292,7 @@ impl DataComponentPatch {
///
/// ```
/// # use azalea_inventory::{ItemStackData, DataComponentPatch, components};
- /// # use azalea_registry::Item;
+ /// # use azalea_registry::builtin::ItemKind;
/// # fn example(item: &ItemStackData) -> Option<()> {
/// let item_nutrition = item.component_patch.get::<components::Food>()?.nutrition;
/// # Some(())
@@ -321,8 +322,8 @@ impl DataComponentPatch {
///
/// ```
/// # use azalea_inventory::{ItemStackData, DataComponentPatch, components};
- /// # use azalea_registry::Item;
- /// # let item = ItemStackData::from(Item::Stone);
+ /// # use azalea_registry::builtin::ItemKind;
+ /// # let item = ItemStackData::from(ItemKind::Stone);
/// let is_edible = item.component_patch.has::<components::Food>();
/// # assert!(!is_edible);
/// ```
@@ -506,7 +507,7 @@ mod tests {
#[test]
fn test_get_component() {
- let item = ItemStack::from(Item::Map).with_component(MapId { id: 1 });
+ let item = ItemStack::from(ItemKind::Map).with_component(MapId { id: 1 });
let map_id = item.get_component::<MapId>().unwrap();
assert_eq!(map_id.id, 1);
}
diff --git a/azalea-inventory/tests/components.rs b/azalea-inventory/tests/components.rs
index b55eb71e..4a5af7ce 100644
--- a/azalea-inventory/tests/components.rs
+++ b/azalea-inventory/tests/components.rs
@@ -17,7 +17,7 @@ use azalea_inventory::{
PotDecorations, Rarity,
},
};
-use azalea_registry::{Attribute, Block, Item};
+use azalea_registry::builtin::{Attribute, BlockKind, ItemKind};
use simdnbt::owned::{BaseNbt, Nbt, NbtCompound, NbtList, NbtTag};
#[test]
@@ -79,7 +79,7 @@ fn test_can_place_on_checksum() {
let c = CanPlaceOn {
predicate: AdventureModePredicate {
predicates: vec![BlockPredicate {
- blocks: Some(vec![Block::GrassBlock].into()),
+ blocks: Some(vec![BlockKind::GrassBlock].into()),
properties: None,
nbt: None,
}],
@@ -150,7 +150,7 @@ fn test_firework_explosion_checksum() {
#[test]
fn test_charged_projectile_checksum() {
let c = ChargedProjectiles {
- items: vec![ItemStack::from(Item::MusicDiscCat)],
+ items: vec![ItemStack::from(ItemKind::MusicDiscCat)],
};
assert_eq!(get_checksum(&c, &Default::default()).unwrap().0, 3435761017);
@@ -160,10 +160,10 @@ fn test_charged_projectile_checksum() {
fn test_charged_projectile_with_components_checksum() {
let c = ChargedProjectiles {
items: vec![
- ItemStack::from(Item::MusicDiscCat)
+ ItemStack::from(ItemKind::MusicDiscCat)
.with_component::<JukeboxPlayable>(None)
.with_component(ChargedProjectiles {
- items: vec![ItemStack::from(Item::MusicDiscCat)],
+ items: vec![ItemStack::from(ItemKind::MusicDiscCat)],
}),
],
};
@@ -187,7 +187,12 @@ fn test_lodestone_tracker_checksum() {
#[test]
fn test_pot_decorations_checksum() {
let c = PotDecorations {
- items: vec![Item::Stick, Item::Brick, Item::Brick, Item::Brick],
+ items: vec![
+ ItemKind::Stick,
+ ItemKind::Brick,
+ ItemKind::Brick,
+ ItemKind::Brick,
+ ],
};
assert_eq!(get_checksum(&c, &Default::default()).unwrap().0, 1951715383);
diff --git a/azalea-physics/src/clip.rs b/azalea-physics/src/clip.rs
index dbab0da6..625a709e 100644
--- a/azalea-physics/src/clip.rs
+++ b/azalea-physics/src/clip.rs
@@ -11,6 +11,7 @@ use azalea_core::{
math::{self, EPSILON, lerp},
position::{BlockPos, Vec3},
};
+use azalea_registry::{builtin::BlockKind, tags};
use azalea_world::ChunkStorage;
use crate::collision::{BlockWithShape, EMPTY_SHAPE, VoxelShape};
@@ -34,9 +35,7 @@ impl ClipContext {
BlockShapeType::Outline => block_state.outline_shape(),
BlockShapeType::Visual => block_state.collision_shape(),
BlockShapeType::FallDamageResetting => {
- if azalea_registry::tags::blocks::FALL_DAMAGE_RESETTING
- .contains(&azalea_registry::Block::from(block_state))
- {
+ if tags::blocks::FALL_DAMAGE_RESETTING.contains(&BlockKind::from(block_state)) {
block_state.collision_shape()
} else {
&EMPTY_SHAPE
diff --git a/azalea-physics/src/collision/mod.rs b/azalea-physics/src/collision/mod.rs
index e6423fc4..6c622d40 100644
--- a/azalea-physics/src/collision/mod.rs
+++ b/azalea-physics/src/collision/mod.rs
@@ -7,7 +7,7 @@ pub mod world_collisions;
use std::{ops::Add, sync::LazyLock};
-use azalea_block::{BlockState, fluid_state::FluidState};
+use azalea_block::{BlockState, BlockTrait, fluid_state::FluidState};
use azalea_core::{
aabb::Aabb,
direction::Axis,
@@ -18,6 +18,7 @@ use azalea_entity::{
Attributes, Jumping, LookDirection, OnClimbable, Physics, PlayerAbilities, Pose, Position,
metadata::Sprinting,
};
+use azalea_registry::builtin::BlockKind;
use azalea_world::{ChunkStorage, Instance};
use bevy_ecs::{entity::Entity, world::Mut};
pub use blocks::BlockWithShape;
@@ -483,15 +484,15 @@ pub fn legacy_blocks_motion(block: BlockState) -> bool {
return false;
}
- let registry_block = azalea_registry::Block::from(block);
+ let registry_block = BlockKind::from(block);
legacy_calculate_solid(block)
- && registry_block != azalea_registry::Block::Cobweb
- && registry_block != azalea_registry::Block::BambooSapling
+ && registry_block != BlockKind::Cobweb
+ && registry_block != BlockKind::BambooSapling
}
pub fn legacy_calculate_solid(block: BlockState) -> bool {
// force_solid has to be checked before anything else
- let block_trait = Box::<dyn azalea_block::BlockTrait>::from(block);
+ let block_trait = Box::<dyn BlockTrait>::from(block);
if let Some(solid) = block_trait.behavior().force_solid {
return solid;
}
diff --git a/azalea-physics/src/fluids.rs b/azalea-physics/src/fluids.rs
index 3675ca3e..fa6a1586 100644
--- a/azalea-physics/src/fluids.rs
+++ b/azalea-physics/src/fluids.rs
@@ -7,6 +7,7 @@ use azalea_core::{
position::{BlockPos, Vec3},
};
use azalea_entity::{HasClientLoaded, LocalEntity, Physics, Position};
+use azalea_registry::builtin::BlockKind;
use azalea_world::{Instance, InstanceContainer, InstanceName};
use bevy_ecs::prelude::*;
@@ -255,11 +256,11 @@ fn is_solid_face(
if direction == Direction::Up {
return true;
}
- let registry_block = azalea_registry::Block::from(block_state);
+ let registry_block = BlockKind::from(block_state);
if matches!(
registry_block,
// frosted ice is from frost walker
- azalea_registry::Block::Ice | azalea_registry::Block::FrostedIce
+ BlockKind::Ice | BlockKind::FrostedIce
) {
return false;
}
diff --git a/azalea-physics/src/lib.rs b/azalea-physics/src/lib.rs
index b993a7b5..663c60db 100644
--- a/azalea-physics/src/lib.rs
+++ b/azalea-physics/src/lib.rs
@@ -20,7 +20,7 @@ use azalea_entity::{
LookDirection, OnClimbable, Physics, Pose, Position, dimensions::EntityDimensions,
metadata::Sprinting, move_relative,
};
-use azalea_registry::{Block, EntityKind, MobEffect};
+use azalea_registry::builtin::{BlockKind, EntityKind, MobEffect};
use azalea_world::{Instance, InstanceContainer, InstanceName};
use bevy_app::{App, Plugin, Update};
use bevy_ecs::prelude::*;
@@ -296,10 +296,10 @@ fn handle_entity_inside_block(
block_pos: BlockPos,
physics: &mut Physics,
) {
- let registry_block = azalea_registry::Block::from(block);
+ let registry_block = BlockKind::from(block);
#[allow(clippy::single_match)]
match registry_block {
- azalea_registry::Block::BubbleColumn => {
+ BlockKind::BubbleColumn => {
let block_above = world.get_block_state(block_pos.up(1)).unwrap_or_default();
let is_block_above_empty =
block_above.is_collision_shape_empty() && FluidState::from(block_above).is_empty();
@@ -417,14 +417,14 @@ fn handle_relative_friction_and_calculate_movement(ctx: &mut MoveCtx, block_fric
// Vec3(var3.x, 0.2D, var3.z); }
if ctx.physics.horizontal_collision || *ctx.jumping {
- let block_at_feet: Block = ctx
+ let block_at_feet: BlockKind = ctx
.world
.chunks
.get_block_state(BlockPos::from(*ctx.position))
.unwrap_or_default()
.into();
- if *ctx.on_climbable || block_at_feet == Block::PowderSnow {
+ if *ctx.on_climbable || block_at_feet == BlockKind::PowderSnow {
ctx.physics.velocity.y = 0.2;
}
}
@@ -454,12 +454,12 @@ fn handle_on_climbable(
// sneaking on ladders/vines
if y < 0.0
&& pose == Some(Pose::Crouching)
- && azalea_registry::Block::from(
+ && BlockKind::from(
world
.chunks
.get_block_state(position.into())
.unwrap_or_default(),
- ) != azalea_registry::Block::Scaffolding
+ ) != BlockKind::Scaffolding
{
y = 0.;
}
diff --git a/azalea-physics/tests/physics.rs b/azalea-physics/tests/physics.rs
index 09cb5379..57747692 100644
--- a/azalea-physics/tests/physics.rs
+++ b/azalea-physics/tests/physics.rs
@@ -5,13 +5,16 @@ use azalea_block::{
properties::WaterLevel,
};
use azalea_core::{
- identifier::Identifier,
position::{BlockPos, ChunkPos, Vec3},
registry_holder::RegistryHolder,
tick::GameTick,
};
use azalea_entity::{EntityBundle, EntityPlugin, HasClientLoaded, LocalEntity, Physics, Position};
use azalea_physics::PhysicsPlugin;
+use azalea_registry::{
+ builtin::{BlockKind, EntityKind},
+ identifier::Identifier,
+};
use azalea_world::{Chunk, Instance, InstanceContainer, MinecraftEntityId, PartialInstance};
use bevy_app::App;
use parking_lot::RwLock;
@@ -58,7 +61,7 @@ fn test_gravity() {
y: 70.,
z: 0.,
},
- azalea_registry::EntityKind::Zombie,
+ EntityKind::Zombie,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -114,7 +117,7 @@ fn test_collision() {
y: 70.,
z: 0.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -124,12 +127,12 @@ fn test_collision() {
.id();
let block_state = partial_world.chunks.set_block_state(
BlockPos { x: 0, y: 69, z: 0 },
- azalea_registry::Block::Stone.into(),
+ BlockKind::Stone.into(),
&world_lock.write().chunks,
);
assert!(
block_state.is_some(),
- "Block state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
+ "BlockKind state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
);
app.update();
app.world_mut().run_schedule(GameTick);
@@ -171,7 +174,7 @@ fn test_slab_collision() {
y: 71.,
z: 0.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -190,7 +193,7 @@ fn test_slab_collision() {
);
assert!(
block_state.is_some(),
- "Block state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
+ "BlockKind state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
);
// do a few steps so we fall on the slab
for _ in 0..20 {
@@ -222,7 +225,7 @@ fn test_top_slab_collision() {
y: 71.,
z: 0.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -240,7 +243,7 @@ fn test_top_slab_collision() {
);
assert!(
block_state.is_some(),
- "Block state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
+ "BlockKind state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
);
// do a few steps so we fall on the slab
for _ in 0..20 {
@@ -280,7 +283,7 @@ fn test_weird_wall_collision() {
y: 73.,
z: 0.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -302,7 +305,7 @@ fn test_weird_wall_collision() {
);
assert!(
block_state.is_some(),
- "Block state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
+ "BlockKind state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
);
// do a few steps so we fall on the wall
for _ in 0..20 {
@@ -343,7 +346,7 @@ fn test_negative_coordinates_weird_wall_collision() {
y: 73.,
z: -7.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -369,7 +372,7 @@ fn test_negative_coordinates_weird_wall_collision() {
);
assert!(
block_state.is_some(),
- "Block state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
+ "BlockKind state should exist, if this fails that means the chunk wasn't loaded and the block didn't get placed"
);
// do a few steps so we fall on the wall
for _ in 0..20 {
@@ -410,7 +413,7 @@ fn spawn_and_unload_world() {
y: 73.,
z: -7.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
@@ -526,7 +529,7 @@ fn test_afk_pool() {
y: 70.,
z: 1.5,
},
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
Identifier::new("minecraft:overworld"),
),
MinecraftEntityId(0),
diff --git a/azalea-protocol/src/common/debug_subscription.rs b/azalea-protocol/src/common/debug_subscription.rs
index 221cd98c..0be792e1 100644
--- a/azalea-protocol/src/common/debug_subscription.rs
+++ b/azalea-protocol/src/common/debug_subscription.rs
@@ -2,7 +2,7 @@ use std::fmt::Debug;
use azalea_buf::AzBuf;
use azalea_core::position::{BlockPos, Vec3};
-use azalea_registry::{Block, DebugSubscription, GameEvent, PointOfInterestKind};
+use azalea_registry::builtin::{BlockKind, DebugSubscription, GameEvent, PointOfInterestKind};
// see DebugSubscriptions.java
@@ -119,7 +119,7 @@ pub enum DebugEntityBlockIntersection {
#[derive(Clone, Debug, AzBuf, PartialEq)]
pub struct DebugHiveInfo {
- pub kind: Block,
+ pub kind: BlockKind,
#[var]
pub occupant_count: i32,
#[var]
diff --git a/azalea-protocol/src/common/recipe.rs b/azalea-protocol/src/common/recipe.rs
index 709679f1..43a64469 100644
--- a/azalea-protocol/src/common/recipe.rs
+++ b/azalea-protocol/src/common/recipe.rs
@@ -1,7 +1,6 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
use azalea_inventory::ItemStack;
-use azalea_registry::HolderSet;
+use azalea_registry::{HolderSet, builtin::ItemKind, identifier::Identifier};
/// [`azalea_registry::RecipeDisplay`]
#[derive(Clone, Debug, AzBuf, PartialEq)]
@@ -56,7 +55,7 @@ pub struct SmithingRecipeDisplay {
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct Ingredient {
- pub allowed: HolderSet<azalea_registry::Item, Identifier>,
+ pub allowed: HolderSet<ItemKind, Identifier>,
}
/// [`azalea_registry::SlotDisplay`]
@@ -64,7 +63,7 @@ pub struct Ingredient {
pub enum SlotDisplayData {
Empty,
AnyFuel,
- Item(ItemStackDisplay),
+ ItemKind(ItemStackDisplay),
ItemStack(ItemStackSlotDisplay),
Tag(Identifier),
SmithingTrim(Box<SmithingTrimDemoSlotDisplay>),
@@ -74,7 +73,7 @@ pub enum SlotDisplayData {
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct ItemStackDisplay {
- pub item: azalea_registry::Item,
+ pub item: ItemKind,
}
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct ItemStackSlotDisplay {
@@ -82,7 +81,7 @@ pub struct ItemStackSlotDisplay {
}
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct TagSlotDisplay {
- pub tag: azalea_registry::Item,
+ pub tag: ItemKind,
}
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct SmithingTrimDemoSlotDisplay {
diff --git a/azalea-protocol/src/common/tags.rs b/azalea-protocol/src/common/tags.rs
index f8ddfc81..f22175ee 100644
--- a/azalea-protocol/src/common/tags.rs
+++ b/azalea-protocol/src/common/tags.rs
@@ -4,7 +4,7 @@ use std::{
};
use azalea_buf::{AzaleaRead, AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use indexmap::IndexMap;
#[derive(Clone, Debug, PartialEq)]
diff --git a/azalea-protocol/src/lib.rs b/azalea-protocol/src/lib.rs
index 45abf240..b5c0fd1e 100644
--- a/azalea-protocol/src/lib.rs
+++ b/azalea-protocol/src/lib.rs
@@ -27,6 +27,7 @@ pub mod read;
pub mod resolve;
pub mod write;
+#[doc(hidden)]
#[deprecated(note = "Renamed to resolve")]
pub mod resolver {
pub use super::resolve::*;
diff --git a/azalea-protocol/src/packets/common.rs b/azalea-protocol/src/packets/common.rs
index eb377683..a6cfc03f 100644
--- a/azalea-protocol/src/packets/common.rs
+++ b/azalea-protocol/src/packets/common.rs
@@ -2,15 +2,15 @@ use azalea_buf::AzBuf;
use azalea_core::{
data_registry::ResolvableDataRegistry,
game_type::{GameMode, OptionalGameType},
- identifier::Identifier,
position::GlobalPos,
- registry_holder::{RegistryHolder, dimension_type::DimensionTypeElement},
+ registry_holder::{RegistryHolder, dimension_type::DimensionKindElement},
};
+use azalea_registry::{data::DimensionKind, identifier::Identifier};
use tracing::error;
#[derive(Clone, Debug, AzBuf, PartialEq)]
pub struct CommonPlayerSpawnInfo {
- pub dimension_type: azalea_registry::DimensionType,
+ pub dimension_type: DimensionKind,
pub dimension: Identifier,
pub seed: i64,
pub game_type: GameMode,
@@ -27,7 +27,7 @@ impl CommonPlayerSpawnInfo {
pub fn dimension_type<'a>(
&self,
registry_holder: &'a RegistryHolder,
- ) -> Option<(&'a Identifier, &'a DimensionTypeElement)> {
+ ) -> Option<(&'a Identifier, &'a DimensionKindElement)> {
let dimension_res = self.dimension_type.resolve(registry_holder);
let Some((dimension_type, dimension_data)) = dimension_res else {
error!("Couldn't resolve dimension_type {:?}", self.dimension_type);
diff --git a/azalea-protocol/src/packets/config/c_cookie_request.rs b/azalea-protocol/src/packets/config/c_cookie_request.rs
index ff368b63..0edbf21e 100644
--- a/azalea-protocol/src/packets/config/c_cookie_request.rs
+++ b/azalea-protocol/src/packets/config/c_cookie_request.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundConfigPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundConfigPacket)]
diff --git a/azalea-protocol/src/packets/config/c_custom_payload.rs b/azalea-protocol/src/packets/config/c_custom_payload.rs
index 03776bf9..c9417dcd 100644
--- a/azalea-protocol/src/packets/config/c_custom_payload.rs
+++ b/azalea-protocol/src/packets/config/c_custom_payload.rs
@@ -1,5 +1,5 @@
use azalea_buf::{AzBuf, UnsizedByteArray};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundConfigPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundConfigPacket)]
diff --git a/azalea-protocol/src/packets/config/c_registry_data.rs b/azalea-protocol/src/packets/config/c_registry_data.rs
index 16a86a9f..cb46958c 100644
--- a/azalea-protocol/src/packets/config/c_registry_data.rs
+++ b/azalea-protocol/src/packets/config/c_registry_data.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundConfigPacket;
use simdnbt::owned::NbtCompound;
diff --git a/azalea-protocol/src/packets/config/c_store_cookie.rs b/azalea-protocol/src/packets/config/c_store_cookie.rs
index 3d797d18..1b695b22 100644
--- a/azalea-protocol/src/packets/config/c_store_cookie.rs
+++ b/azalea-protocol/src/packets/config/c_store_cookie.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundConfigPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundConfigPacket)]
diff --git a/azalea-protocol/src/packets/config/c_update_enabled_features.rs b/azalea-protocol/src/packets/config/c_update_enabled_features.rs
index b4e0e9c1..0080b65a 100644
--- a/azalea-protocol/src/packets/config/c_update_enabled_features.rs
+++ b/azalea-protocol/src/packets/config/c_update_enabled_features.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundConfigPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundConfigPacket)]
diff --git a/azalea-protocol/src/packets/config/s_cookie_response.rs b/azalea-protocol/src/packets/config/s_cookie_response.rs
index ae44953e..44f74150 100644
--- a/azalea-protocol/src/packets/config/s_cookie_response.rs
+++ b/azalea-protocol/src/packets/config/s_cookie_response.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundConfigPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundConfigPacket)]
diff --git a/azalea-protocol/src/packets/config/s_custom_click_action.rs b/azalea-protocol/src/packets/config/s_custom_click_action.rs
index 21b5cfbb..c36c2080 100644
--- a/azalea-protocol/src/packets/config/s_custom_click_action.rs
+++ b/azalea-protocol/src/packets/config/s_custom_click_action.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundConfigPacket;
use simdnbt::owned::Nbt;
diff --git a/azalea-protocol/src/packets/config/s_custom_payload.rs b/azalea-protocol/src/packets/config/s_custom_payload.rs
index 1bdc85af..e602bdca 100644
--- a/azalea-protocol/src/packets/config/s_custom_payload.rs
+++ b/azalea-protocol/src/packets/config/s_custom_payload.rs
@@ -1,5 +1,5 @@
use azalea_buf::{AzBuf, UnsizedByteArray};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundConfigPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundConfigPacket)]
diff --git a/azalea-protocol/src/packets/game/c_add_entity.rs b/azalea-protocol/src/packets/game/c_add_entity.rs
index fbd2cb8a..e7b46750 100644
--- a/azalea-protocol/src/packets/game/c_add_entity.rs
+++ b/azalea-protocol/src/packets/game/c_add_entity.rs
@@ -1,7 +1,8 @@
use azalea_buf::AzBuf;
-use azalea_core::{delta::LpVec3, identifier::Identifier, position::Vec3};
+use azalea_core::{delta::LpVec3, position::Vec3};
use azalea_entity::{EntityBundle, metadata::apply_default_metadata};
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::{builtin::EntityKind, identifier::Identifier};
use azalea_world::MinecraftEntityId;
use uuid::Uuid;
@@ -11,7 +12,7 @@ pub struct ClientboundAddEntity {
#[var]
pub id: MinecraftEntityId,
pub uuid: Uuid,
- pub entity_type: azalea_registry::EntityKind,
+ pub entity_type: EntityKind,
pub position: Vec3,
pub movement: LpVec3,
pub x_rot: i8,
diff --git a/azalea-protocol/src/packets/game/c_award_stats.rs b/azalea-protocol/src/packets/game/c_award_stats.rs
index bb58a066..79a00f7b 100644
--- a/azalea-protocol/src/packets/game/c_award_stats.rs
+++ b/azalea-protocol/src/packets/game/c_award_stats.rs
@@ -2,6 +2,7 @@ use std::collections::HashMap;
use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::{BlockKind, CustomStat, EntityKind, ItemKind};
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundAwardStats {
@@ -11,13 +12,13 @@ pub struct ClientboundAwardStats {
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, AzBuf)]
pub enum Stat {
- Mined(azalea_registry::Block),
- Crafted(azalea_registry::Item),
- Used(azalea_registry::Item),
- Broken(azalea_registry::Item),
- PickedUp(azalea_registry::Item),
- Dropped(azalea_registry::Item),
- Killed(azalea_registry::EntityKind),
- KilledBy(azalea_registry::EntityKind),
- Custom(azalea_registry::CustomStat),
+ Mined(BlockKind),
+ Crafted(ItemKind),
+ Used(ItemKind),
+ Broken(ItemKind),
+ PickedUp(ItemKind),
+ Dropped(ItemKind),
+ Killed(EntityKind),
+ KilledBy(EntityKind),
+ Custom(CustomStat),
}
diff --git a/azalea-protocol/src/packets/game/c_block_entity_data.rs b/azalea-protocol/src/packets/game/c_block_entity_data.rs
index e0c7bb1b..0798e2bd 100644
--- a/azalea-protocol/src/packets/game/c_block_entity_data.rs
+++ b/azalea-protocol/src/packets/game/c_block_entity_data.rs
@@ -1,11 +1,12 @@
use azalea_buf::AzBuf;
use azalea_core::position::BlockPos;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::BlockEntityKind;
use simdnbt::owned::Nbt;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundBlockEntityData {
pub pos: BlockPos,
- pub block_entity_type: azalea_registry::BlockEntityKind,
+ pub block_entity_type: BlockEntityKind,
pub tag: Nbt,
}
diff --git a/azalea-protocol/src/packets/game/c_block_event.rs b/azalea-protocol/src/packets/game/c_block_event.rs
index 38b5099b..30bb8e6c 100644
--- a/azalea-protocol/src/packets/game/c_block_event.rs
+++ b/azalea-protocol/src/packets/game/c_block_event.rs
@@ -1,12 +1,12 @@
use azalea_buf::AzBuf;
use azalea_core::position::BlockPos;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::Block;
+use azalea_registry::builtin::BlockKind;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundBlockEvent {
pub pos: BlockPos,
pub action_id: u8,
pub action_parameter: u8,
- pub block: Block,
+ pub block: BlockKind,
}
diff --git a/azalea-protocol/src/packets/game/c_commands.rs b/azalea-protocol/src/packets/game/c_commands.rs
index 46be5613..f96e7ef0 100644
--- a/azalea-protocol/src/packets/game/c_commands.rs
+++ b/azalea-protocol/src/packets/game/c_commands.rs
@@ -1,8 +1,9 @@
use std::io::{self, Cursor, Write};
use azalea_buf::{AzBuf, AzaleaRead, AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
-use azalea_core::{bitset::FixedBitSet, identifier::Identifier};
+use azalea_core::bitset::FixedBitSet;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::identifier::Identifier;
use tracing::warn;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_cookie_request.rs b/azalea-protocol/src/packets/game/c_cookie_request.rs
index 7b1e8e30..283b686d 100644
--- a/azalea-protocol/src/packets/game/c_cookie_request.rs
+++ b/azalea-protocol/src/packets/game/c_cookie_request.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_cooldown.rs b/azalea-protocol/src/packets/game/c_cooldown.rs
index c25bdad6..398690f4 100644
--- a/azalea-protocol/src/packets/game/c_cooldown.rs
+++ b/azalea-protocol/src/packets/game/c_cooldown.rs
@@ -1,9 +1,10 @@
use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::ItemKind;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundCooldown {
- pub item: azalea_registry::Item,
+ pub item: ItemKind,
#[var]
pub duration: u32,
}
diff --git a/azalea-protocol/src/packets/game/c_custom_payload.rs b/azalea-protocol/src/packets/game/c_custom_payload.rs
index e76967a6..a198c547 100644
--- a/azalea-protocol/src/packets/game/c_custom_payload.rs
+++ b/azalea-protocol/src/packets/game/c_custom_payload.rs
@@ -1,5 +1,5 @@
use azalea_buf::{AzBuf, UnsizedByteArray};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_disguised_chat.rs b/azalea-protocol/src/packets/game/c_disguised_chat.rs
index e0225096..1b7505c6 100644
--- a/azalea-protocol/src/packets/game/c_disguised_chat.rs
+++ b/azalea-protocol/src/packets/game/c_disguised_chat.rs
@@ -3,14 +3,16 @@ use azalea_chat::{
FormattedText,
translatable_component::{PrimitiveOrComponent, TranslatableComponent},
};
+use azalea_core::registry_holder::RegistryHolder;
use azalea_protocol_macros::ClientboundGamePacket;
use super::c_player_chat::ChatTypeBound;
+use crate::packets::game::c_player_chat::GUESSED_DEFAULT_REGISTRIES_FOR_CHAT;
-// A disguised chat packet is basically the same as a normal
-// [`ClientboundPlayerChat`], except that it doesn't have any of the chat
-// signing things. Vanilla servers use this when messages are sent from the
-// console.
+/// Similar to a [`ClientboundPlayerChat`](super::ClientboundPlayerChat), but
+/// without chat signing.
+///
+/// Vanilla servers use this packet when messages are sent from the console.
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundDisguisedChat {
pub message: FormattedText,
@@ -19,8 +21,22 @@ pub struct ClientboundDisguisedChat {
impl ClientboundDisguisedChat {
/// Get the full message, including the sender part.
+ ///
+ /// Note that the returned message may be incorrect on servers that
+ /// customize the chat type registry. Consider using
+ /// [`Self::message_using_registries`] if you'd like to avoid that
+ /// problem.
#[must_use]
pub fn message(&self) -> FormattedText {
+ self.message_using_registries(&GUESSED_DEFAULT_REGISTRIES_FOR_CHAT)
+ }
+
+ /// Get the full message, including the sender part, while ensuring that the
+ /// message chat type is correct based on the server's registries.
+ ///
+ /// Also see [`Self::message`].
+ #[must_use]
+ pub fn message_using_registries(&self, registries: &RegistryHolder) -> FormattedText {
let sender = self.chat_type.name.clone();
let content = self.message.clone();
let target = self.chat_type.target_name.clone();
@@ -33,7 +49,7 @@ impl ClientboundDisguisedChat {
args.push(PrimitiveOrComponent::FormattedText(target));
}
- let translation_key = self.chat_type.translation_key();
+ let translation_key = self.chat_type.translation_key(registries);
let component = TranslatableComponent::new(translation_key.to_string(), args);
FormattedText::Translatable(component)
diff --git a/azalea-protocol/src/packets/game/c_explode.rs b/azalea-protocol/src/packets/game/c_explode.rs
index 15e036ea..e8744b79 100644
--- a/azalea-protocol/src/packets/game/c_explode.rs
+++ b/azalea-protocol/src/packets/game/c_explode.rs
@@ -2,7 +2,7 @@ use azalea_buf::AzBuf;
use azalea_core::position::Vec3;
use azalea_entity::particle::Particle;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::SoundEvent;
+use azalea_registry::builtin::SoundEvent;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundExplode {
diff --git a/azalea-protocol/src/packets/game/c_level_chunk_with_light.rs b/azalea-protocol/src/packets/game/c_level_chunk_with_light.rs
index af2228eb..d9d1097f 100644
--- a/azalea-protocol/src/packets/game/c_level_chunk_with_light.rs
+++ b/azalea-protocol/src/packets/game/c_level_chunk_with_light.rs
@@ -2,6 +2,7 @@ use std::sync::Arc;
use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::BlockEntityKind;
use azalea_world::heightmap::HeightmapKind;
use simdnbt::owned::Nbt;
@@ -34,6 +35,6 @@ pub struct ClientboundLevelChunkPacketData {
pub struct BlockEntity {
pub packed_xz: u8,
pub y: u16,
- pub kind: azalea_registry::BlockEntityKind,
+ pub kind: BlockEntityKind,
pub data: Nbt,
}
diff --git a/azalea-protocol/src/packets/game/c_login.rs b/azalea-protocol/src/packets/game/c_login.rs
index 1c89dbac..9439eec9 100644
--- a/azalea-protocol/src/packets/game/c_login.rs
+++ b/azalea-protocol/src/packets/game/c_login.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundGamePacket;
use azalea_world::MinecraftEntityId;
diff --git a/azalea-protocol/src/packets/game/c_merchant_offers.rs b/azalea-protocol/src/packets/game/c_merchant_offers.rs
index c8baff78..079041f6 100644
--- a/azalea-protocol/src/packets/game/c_merchant_offers.rs
+++ b/azalea-protocol/src/packets/game/c_merchant_offers.rs
@@ -10,7 +10,7 @@ use azalea_inventory::{
components::{self, DataComponentUnion},
};
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::{DataComponentKind, Item};
+use azalea_registry::builtin::{DataComponentKind, ItemKind};
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundMerchantOffers {
@@ -45,7 +45,7 @@ pub struct MerchantOffer {
/// [`Self::into_item_stack`].
#[derive(Clone, Debug, AzBuf, PartialEq)]
pub struct ItemCost {
- pub item: Item,
+ pub item: ItemKind,
#[var]
pub count: i32,
pub components: DataComponentExactPredicate,
diff --git a/azalea-protocol/src/packets/game/c_open_screen.rs b/azalea-protocol/src/packets/game/c_open_screen.rs
index b4a38387..cac3495f 100644
--- a/azalea-protocol/src/packets/game/c_open_screen.rs
+++ b/azalea-protocol/src/packets/game/c_open_screen.rs
@@ -1,11 +1,12 @@
use azalea_buf::AzBuf;
use azalea_chat::FormattedText;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::MenuKind;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundOpenScreen {
#[var]
pub container_id: i32,
- pub menu_type: azalea_registry::MenuKind,
+ pub menu_type: MenuKind,
pub title: FormattedText,
}
diff --git a/azalea-protocol/src/packets/game/c_player_chat.rs b/azalea-protocol/src/packets/game/c_player_chat.rs
index f3201e3f..3904d0d9 100644
--- a/azalea-protocol/src/packets/game/c_player_chat.rs
+++ b/azalea-protocol/src/packets/game/c_player_chat.rs
@@ -1,14 +1,25 @@
-use std::io::{self, Cursor, Write};
+use std::{
+ io::{self, Cursor, Write},
+ sync::LazyLock,
+};
use azalea_buf::{AzBuf, AzaleaRead, AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
use azalea_chat::{
FormattedText,
translatable_component::{PrimitiveOrComponent, TranslatableComponent},
};
-use azalea_core::bitset::BitSet;
+use azalea_core::{
+ bitset::BitSet,
+ data_registry::DataRegistryWithKey,
+ registry_holder::{RegistryHolder, RegistryType},
+};
use azalea_crypto::signing::MessageSignature;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::Holder;
+use azalea_registry::{
+ DataRegistryKey, Holder,
+ data::{ChatKind, ChatKindKey},
+ identifier::Identifier,
+};
use simdnbt::owned::NbtCompound;
use uuid::Uuid;
@@ -57,7 +68,7 @@ pub enum FilterMask {
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct ChatTypeBound {
- pub chat_type: Holder<azalea_registry::ChatType, DirectChatType>,
+ pub chat_type: Holder<ChatKind, DirectChatType>,
pub name: FormattedText,
pub target_name: Option<FormattedText>,
}
@@ -87,6 +98,27 @@ pub struct MessageSignatureCache {
pub entries: Vec<Option<MessageSignature>>,
}
+/// A `RegistryHolder` that only has the `chat_type` registry (without values),
+/// with the keys being in the default order for vanilla servers.
+///
+/// This is used when we call [`ClientboundPlayerChat::message`] without also
+/// passing registries.
+pub static GUESSED_DEFAULT_REGISTRIES_FOR_CHAT: LazyLock<RegistryHolder> =
+ LazyLock::new(|| RegistryHolder {
+ extra: [(
+ Identifier::new("chat_type"),
+ RegistryType {
+ map: ChatKindKey::ALL
+ .iter()
+ .map(|k| (k.clone().into_ident(), NbtCompound::new()))
+ .collect(),
+ },
+ )]
+ .into_iter()
+ .collect(),
+ ..Default::default()
+ });
+
impl ClientboundPlayerChat {
/// Returns the content of the message.
///
@@ -100,8 +132,22 @@ impl ClientboundPlayerChat {
}
/// Get the full message, including the sender part.
+ ///
+ /// Note that the returned message may be incorrect on servers that
+ /// customize the chat type registry. Consider using
+ /// [`Self::message_using_registries`] if you'd like to avoid that
+ /// problem.
#[must_use]
pub fn message(&self) -> FormattedText {
+ self.message_using_registries(&GUESSED_DEFAULT_REGISTRIES_FOR_CHAT)
+ }
+
+ /// Get the full message, including the sender part, while ensuring that the
+ /// message chat type is correct based on the server's registries.
+ ///
+ /// Also see [`Self::message`].
+ #[must_use]
+ pub fn message_using_registries(&self, registries: &RegistryHolder) -> FormattedText {
let sender = self.chat_type.name.clone();
let content = self.content();
let target = self.chat_type.target_name.clone();
@@ -114,7 +160,8 @@ impl ClientboundPlayerChat {
args.push(PrimitiveOrComponent::FormattedText(target));
}
- let translation_key = self.chat_type.translation_key();
+ // TODO: implement chat type registry and apply the styles from it here
+ let translation_key = self.chat_type.translation_key(registries);
let component = TranslatableComponent::new(translation_key.to_string(), args);
FormattedText::Translatable(component)
@@ -122,9 +169,12 @@ impl ClientboundPlayerChat {
}
impl ChatTypeBound {
- pub fn translation_key(&self) -> &str {
+ pub fn translation_key(&self, registries: &RegistryHolder) -> &str {
match &self.chat_type {
- Holder::Reference(r) => r.chat_translation_key(),
+ Holder::Reference(r) => r
+ .key(registries)
+ .map(|r| r.chat_translation_key())
+ .unwrap_or("chat.type.text"),
Holder::Direct(d) => d.chat.translation_key.as_str(),
}
}
diff --git a/azalea-protocol/src/packets/game/c_recipe_book_add.rs b/azalea-protocol/src/packets/game/c_recipe_book_add.rs
index 699843fa..0fcd8b04 100644
--- a/azalea-protocol/src/packets/game/c_recipe_book_add.rs
+++ b/azalea-protocol/src/packets/game/c_recipe_book_add.rs
@@ -1,5 +1,6 @@
use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::RecipeBookCategory;
use crate::common::recipe::{Ingredient, RecipeDisplayData};
@@ -23,6 +24,6 @@ pub struct RecipeDisplayEntry {
// optional varint
#[var]
pub group: u32,
- pub category: azalea_registry::RecipeBookCategory,
+ pub category: RecipeBookCategory,
pub crafting_requirements: Option<Vec<Ingredient>>,
}
diff --git a/azalea-protocol/src/packets/game/c_remove_mob_effect.rs b/azalea-protocol/src/packets/game/c_remove_mob_effect.rs
index 950c07ec..f17cfd37 100644
--- a/azalea-protocol/src/packets/game/c_remove_mob_effect.rs
+++ b/azalea-protocol/src/packets/game/c_remove_mob_effect.rs
@@ -1,10 +1,11 @@
use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::MobEffect;
use azalea_world::MinecraftEntityId;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundRemoveMobEffect {
#[var]
pub entity_id: MinecraftEntityId,
- pub effect: azalea_registry::MobEffect,
+ pub effect: MobEffect,
}
diff --git a/azalea-protocol/src/packets/game/c_select_advancements_tab.rs b/azalea-protocol/src/packets/game/c_select_advancements_tab.rs
index 0eee09de..0ff46365 100644
--- a/azalea-protocol/src/packets/game/c_select_advancements_tab.rs
+++ b/azalea-protocol/src/packets/game/c_select_advancements_tab.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_show_dialog.rs b/azalea-protocol/src/packets/game/c_show_dialog.rs
index 1bcce17f..52d9be78 100644
--- a/azalea-protocol/src/packets/game/c_show_dialog.rs
+++ b/azalea-protocol/src/packets/game/c_show_dialog.rs
@@ -1,9 +1,9 @@
use azalea_buf::AzBuf;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::Holder;
+use azalea_registry::{Holder, data::Dialog};
use simdnbt::owned::Nbt;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundShowDialog {
- pub dialog: Holder<azalea_registry::Dialog, Nbt>,
+ pub dialog: Holder<Dialog, Nbt>,
}
diff --git a/azalea-protocol/src/packets/game/c_sound.rs b/azalea-protocol/src/packets/game/c_sound.rs
index a125546a..31d30942 100644
--- a/azalea-protocol/src/packets/game/c_sound.rs
+++ b/azalea-protocol/src/packets/game/c_sound.rs
@@ -1,7 +1,7 @@
use azalea_buf::AzBuf;
use azalea_core::sound::CustomSound;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::SoundEvent;
+use azalea_registry::builtin::SoundEvent;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
pub struct ClientboundSound {
diff --git a/azalea-protocol/src/packets/game/c_sound_entity.rs b/azalea-protocol/src/packets/game/c_sound_entity.rs
index e728e6eb..72325c04 100644
--- a/azalea-protocol/src/packets/game/c_sound_entity.rs
+++ b/azalea-protocol/src/packets/game/c_sound_entity.rs
@@ -1,7 +1,7 @@
use azalea_buf::AzBuf;
use azalea_core::sound::CustomSound;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::SoundEvent;
+use azalea_registry::builtin::SoundEvent;
use azalea_world::MinecraftEntityId;
use super::c_sound::SoundSource;
diff --git a/azalea-protocol/src/packets/game/c_stop_sound.rs b/azalea-protocol/src/packets/game/c_stop_sound.rs
index f6b42325..419216eb 100644
--- a/azalea-protocol/src/packets/game/c_stop_sound.rs
+++ b/azalea-protocol/src/packets/game/c_stop_sound.rs
@@ -1,8 +1,9 @@
use std::io::{self, Cursor, Write};
use azalea_buf::{AzaleaRead, AzaleaWrite, BufReadError};
-use azalea_core::{bitset::FixedBitSet, identifier::Identifier};
+use azalea_core::bitset::FixedBitSet;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::identifier::Identifier;
use super::c_sound::SoundSource;
diff --git a/azalea-protocol/src/packets/game/c_store_cookie.rs b/azalea-protocol/src/packets/game/c_store_cookie.rs
index 9646c3b9..fff6fb71 100644
--- a/azalea-protocol/src/packets/game/c_store_cookie.rs
+++ b/azalea-protocol/src/packets/game/c_store_cookie.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_update_advancements.rs b/azalea-protocol/src/packets/game/c_update_advancements.rs
index 7296d916..bba53998 100644
--- a/azalea-protocol/src/packets/game/c_update_advancements.rs
+++ b/azalea-protocol/src/packets/game/c_update_advancements.rs
@@ -5,7 +5,7 @@ use std::{
use azalea_buf::AzBuf;
use azalea_chat::FormattedText;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_inventory::ItemStack;
use azalea_protocol_macros::ClientboundGamePacket;
use indexmap::IndexMap;
diff --git a/azalea-protocol/src/packets/game/c_update_attributes.rs b/azalea-protocol/src/packets/game/c_update_attributes.rs
index d11b08cb..80e4729f 100644
--- a/azalea-protocol/src/packets/game/c_update_attributes.rs
+++ b/azalea-protocol/src/packets/game/c_update_attributes.rs
@@ -1,7 +1,7 @@
use azalea_buf::AzBuf;
use azalea_inventory::components::AttributeModifier;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::Attribute;
+use azalea_registry::builtin::Attribute;
use azalea_world::MinecraftEntityId;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_update_mob_effect.rs b/azalea-protocol/src/packets/game/c_update_mob_effect.rs
index e9892950..adc33f62 100644
--- a/azalea-protocol/src/packets/game/c_update_mob_effect.rs
+++ b/azalea-protocol/src/packets/game/c_update_mob_effect.rs
@@ -1,7 +1,7 @@
use azalea_buf::AzBuf;
use azalea_entity::MobEffectData;
use azalea_protocol_macros::ClientboundGamePacket;
-use azalea_registry::MobEffect;
+use azalea_registry::builtin::MobEffect;
use azalea_world::MinecraftEntityId;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/c_update_recipes.rs b/azalea-protocol/src/packets/game/c_update_recipes.rs
index e05708a3..de9f6e3b 100644
--- a/azalea-protocol/src/packets/game/c_update_recipes.rs
+++ b/azalea-protocol/src/packets/game/c_update_recipes.rs
@@ -1,8 +1,9 @@
use std::collections::HashMap;
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::builtin::ItemKind;
use crate::common::recipe::{Ingredient, SlotDisplayData};
@@ -24,5 +25,5 @@ pub struct SelectableRecipe {
#[derive(Clone, Debug, PartialEq, AzBuf)]
pub struct RecipePropertySet {
- pub items: Vec<azalea_registry::Item>,
+ pub items: Vec<ItemKind>,
}
diff --git a/azalea-protocol/src/packets/game/c_waypoint.rs b/azalea-protocol/src/packets/game/c_waypoint.rs
index 0debb0d0..a701622f 100644
--- a/azalea-protocol/src/packets/game/c_waypoint.rs
+++ b/azalea-protocol/src/packets/game/c_waypoint.rs
@@ -1,8 +1,9 @@
use std::io::{self, Cursor, Write};
use azalea_buf::{AzBuf, AzaleaRead, AzaleaWrite, BufReadError};
-use azalea_core::{color::RgbColor, identifier::Identifier, position::Vec3i};
+use azalea_core::{color::RgbColor, position::Vec3i};
use azalea_protocol_macros::ClientboundGamePacket;
+use azalea_registry::identifier::Identifier;
use uuid::Uuid;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/s_container_click.rs b/azalea-protocol/src/packets/game/s_container_click.rs
index ef2e832d..bfce320e 100644
--- a/azalea-protocol/src/packets/game/s_container_click.rs
+++ b/azalea-protocol/src/packets/game/s_container_click.rs
@@ -2,6 +2,7 @@ use azalea_buf::AzBuf;
use azalea_core::{checksum::Checksum, registry_holder::RegistryHolder};
use azalea_inventory::{ItemStack, operations::ClickType};
use azalea_protocol_macros::ServerboundGamePacket;
+use azalea_registry::builtin::{DataComponentKind, ItemKind};
use indexmap::IndexMap;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)]
@@ -24,7 +25,7 @@ pub struct HashedStack(pub Option<HashedActualItem>);
#[derive(Clone, Debug, AzBuf, PartialEq)]
pub struct HashedActualItem {
- pub kind: azalea_registry::Item,
+ pub kind: ItemKind,
#[var]
pub count: i32,
pub components: HashedPatchMap,
@@ -33,9 +34,9 @@ pub struct HashedActualItem {
#[derive(Clone, Debug, AzBuf, PartialEq)]
pub struct HashedPatchMap {
#[limit(256)]
- pub added_components: Vec<(azalea_registry::DataComponentKind, Checksum)>,
+ pub added_components: Vec<(DataComponentKind, Checksum)>,
#[limit(256)]
- pub removed_components: Vec<azalea_registry::DataComponentKind>,
+ pub removed_components: Vec<DataComponentKind>,
}
impl HashedStack {
diff --git a/azalea-protocol/src/packets/game/s_cookie_response.rs b/azalea-protocol/src/packets/game/s_cookie_response.rs
index a6a99cf7..72b95f4d 100644
--- a/azalea-protocol/src/packets/game/s_cookie_response.rs
+++ b/azalea-protocol/src/packets/game/s_cookie_response.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/s_custom_click_action.rs b/azalea-protocol/src/packets/game/s_custom_click_action.rs
index 193405df..e10e8749 100644
--- a/azalea-protocol/src/packets/game/s_custom_click_action.rs
+++ b/azalea-protocol/src/packets/game/s_custom_click_action.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundGamePacket;
use simdnbt::owned::Nbt;
diff --git a/azalea-protocol/src/packets/game/s_custom_payload.rs b/azalea-protocol/src/packets/game/s_custom_payload.rs
index 8753c7f7..7e5468d9 100644
--- a/azalea-protocol/src/packets/game/s_custom_payload.rs
+++ b/azalea-protocol/src/packets/game/s_custom_payload.rs
@@ -1,5 +1,5 @@
use azalea_buf::{AzBuf, UnsizedByteArray};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/s_debug_subscription_request.rs b/azalea-protocol/src/packets/game/s_debug_subscription_request.rs
index ea31b113..23bd49a5 100644
--- a/azalea-protocol/src/packets/game/s_debug_subscription_request.rs
+++ b/azalea-protocol/src/packets/game/s_debug_subscription_request.rs
@@ -1,6 +1,6 @@
use azalea_buf::AzBuf;
use azalea_protocol_macros::ServerboundGamePacket;
-use azalea_registry::DebugSubscription;
+use azalea_registry::builtin::DebugSubscription;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)]
pub struct ServerboundDebugSubscriptionRequest {
diff --git a/azalea-protocol/src/packets/game/s_place_recipe.rs b/azalea-protocol/src/packets/game/s_place_recipe.rs
index a1f007a0..90821d08 100644
--- a/azalea-protocol/src/packets/game/s_place_recipe.rs
+++ b/azalea-protocol/src/packets/game/s_place_recipe.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/s_recipe_book_seen_recipe.rs b/azalea-protocol/src/packets/game/s_recipe_book_seen_recipe.rs
index 350c7290..e9766a64 100644
--- a/azalea-protocol/src/packets/game/s_recipe_book_seen_recipe.rs
+++ b/azalea-protocol/src/packets/game/s_recipe_book_seen_recipe.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundGamePacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundGamePacket)]
diff --git a/azalea-protocol/src/packets/game/s_seen_advancements.rs b/azalea-protocol/src/packets/game/s_seen_advancements.rs
index 7d9e552b..7e001b7f 100644
--- a/azalea-protocol/src/packets/game/s_seen_advancements.rs
+++ b/azalea-protocol/src/packets/game/s_seen_advancements.rs
@@ -1,7 +1,7 @@
use std::io::{self, Cursor, Write};
use azalea_buf::{AzBuf, AzaleaRead, AzaleaWrite};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundGamePacket;
use crate::packets::BufReadError;
diff --git a/azalea-protocol/src/packets/game/s_set_jigsaw_block.rs b/azalea-protocol/src/packets/game/s_set_jigsaw_block.rs
index ac942d88..2203d3e9 100644
--- a/azalea-protocol/src/packets/game/s_set_jigsaw_block.rs
+++ b/azalea-protocol/src/packets/game/s_set_jigsaw_block.rs
@@ -4,8 +4,9 @@ use std::{
};
use azalea_buf::{AzBuf, AzaleaRead};
-use azalea_core::{identifier::Identifier, position::BlockPos};
+use azalea_core::position::BlockPos;
use azalea_protocol_macros::ServerboundGamePacket;
+use azalea_registry::identifier::Identifier;
use crate::packets::{AzaleaWrite, BufReadError};
diff --git a/azalea-protocol/src/packets/game/s_test_instance_block_action.rs b/azalea-protocol/src/packets/game/s_test_instance_block_action.rs
index eacf18a6..c4baf78d 100644
--- a/azalea-protocol/src/packets/game/s_test_instance_block_action.rs
+++ b/azalea-protocol/src/packets/game/s_test_instance_block_action.rs
@@ -2,7 +2,7 @@ use azalea_buf::AzBuf;
use azalea_chat::FormattedText;
use azalea_core::position::{BlockPos, Vec3i};
use azalea_protocol_macros::ServerboundGamePacket;
-use azalea_registry::TestInstanceKind;
+use azalea_registry::builtin::TestInstanceKind;
use super::s_set_structure_block::Rotation;
diff --git a/azalea-protocol/src/packets/login/c_cookie_request.rs b/azalea-protocol/src/packets/login/c_cookie_request.rs
index fbe72c6a..2df3aaa0 100644
--- a/azalea-protocol/src/packets/login/c_cookie_request.rs
+++ b/azalea-protocol/src/packets/login/c_cookie_request.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundLoginPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ClientboundLoginPacket)]
diff --git a/azalea-protocol/src/packets/login/c_custom_query.rs b/azalea-protocol/src/packets/login/c_custom_query.rs
index 9c7ee50a..6f975cf4 100644
--- a/azalea-protocol/src/packets/login/c_custom_query.rs
+++ b/azalea-protocol/src/packets/login/c_custom_query.rs
@@ -1,7 +1,7 @@
use std::hash::Hash;
use azalea_buf::{AzBuf, UnsizedByteArray};
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ClientboundLoginPacket;
#[derive(Hash, Clone, Debug, AzBuf, PartialEq, ClientboundLoginPacket)]
diff --git a/azalea-protocol/src/packets/login/s_cookie_response.rs b/azalea-protocol/src/packets/login/s_cookie_response.rs
index c9e7ced9..73efc2a8 100644
--- a/azalea-protocol/src/packets/login/s_cookie_response.rs
+++ b/azalea-protocol/src/packets/login/s_cookie_response.rs
@@ -1,5 +1,5 @@
use azalea_buf::AzBuf;
-use azalea_core::identifier::Identifier;
+use azalea_registry::identifier::Identifier;
use azalea_protocol_macros::ServerboundLoginPacket;
#[derive(Clone, Debug, AzBuf, PartialEq, ServerboundLoginPacket)]
diff --git a/azalea-protocol/src/resolve.rs b/azalea-protocol/src/resolve.rs
index f18a04a8..468371aa 100644
--- a/azalea-protocol/src/resolve.rs
+++ b/azalea-protocol/src/resolve.rs
@@ -10,6 +10,7 @@ use hickory_resolver::{Name, TokioResolver, name_server::TokioConnectionProvider
use crate::ServerAddress;
+#[doc(hidden)]
#[deprecated(note = "Renamed to ResolveError")]
pub type ResolverError = ResolveError;
diff --git a/azalea-registry/README.md b/azalea-registry/README.md
index a0121972..34a7baa0 100644
--- a/azalea-registry/README.md
+++ b/azalea-registry/README.md
@@ -1,5 +1,8 @@
-# Azalea Registry
+# `azalea-registry`
-Minecraft has a concept called "registries", which are primarily used to determine IDs in the protocol.
+Minecraft's registries are a system that give identifiers to certain enums the game.
+
+Some registries, defined in [`crate::builtin`], are static for the client and server. This includes blocks and items.
+
+Other registries, defined in [`crate::data`], are sent to us by the server. This includes things such as enchantments and biomes.
-The contents of this crate are automatically generated using Minecraft's built-in data generator.
diff --git a/azalea-registry/azalea-registry-macros/src/lib.rs b/azalea-registry/azalea-registry-macros/src/lib.rs
index e8c95d74..e2e371b5 100644
--- a/azalea-registry/azalea-registry-macros/src/lib.rs
+++ b/azalea-registry/azalea-registry-macros/src/lib.rs
@@ -34,7 +34,7 @@ impl Parse for RegistryItem {
impl Parse for Registry {
fn parse(input: ParseStream) -> Result<Self> {
- // enum Block {
+ // enum BlockKind {
// Air => "minecraft:air",
// Stone => "minecraft:stone"
// }
@@ -63,7 +63,7 @@ pub fn registry(input: TokenStream) -> TokenStream {
let name = input.name;
let mut generated = quote! {};
- // enum Block {
+ // enum BlockKind {
// Air = 0,
// Stone,
// }
@@ -80,7 +80,7 @@ pub fn registry(input: TokenStream) -> TokenStream {
let attributes = input.attrs;
generated.extend(quote! {
#(#attributes)*
- #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, azalea_buf::AzBuf)]
+ #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, azalea_buf::AzBuf)]
#[repr(u32)]
pub enum #name {
#enum_items
@@ -108,7 +108,7 @@ pub fn registry(input: TokenStream) -> TokenStream {
id <= #max_id
}
}
- impl Registry for #name {
+ impl crate::Registry for #name {
fn from_u32(value: u32) -> Option<Self> {
if Self::is_valid_id(value) {
Some(unsafe { Self::from_u32_unchecked(value) })
@@ -130,7 +130,7 @@ pub fn registry(input: TokenStream) -> TokenStream {
#[doc = #doc_0]
fn try_from(id: u32) -> Result<Self, Self::Error> {
- if let Some(value) = Self::from_u32(id) {
+ if let Some(value) = crate::Registry::from_u32(id) {
Ok(value)
} else {
Err(())
diff --git a/azalea-registry/src/builtin.rs b/azalea-registry/src/builtin.rs
new file mode 100644
index 00000000..cd0f71ab
--- /dev/null
+++ b/azalea-registry/src/builtin.rs
@@ -0,0 +1,7233 @@
+//! All built-in registries.
+//!
+//! This is different from data-driven registries, which are defined in
+//! [`azalea_registry::data`](crate::data).
+
+use azalea_registry_macros::registry;
+
+registry! {
+/// The AI code that's currently being executed for the entity.
+enum Activity {
+ Core => "minecraft:core",
+ Idle => "minecraft:idle",
+ Work => "minecraft:work",
+ Play => "minecraft:play",
+ Rest => "minecraft:rest",
+ Meet => "minecraft:meet",
+ Panic => "minecraft:panic",
+ Raid => "minecraft:raid",
+ PreRaid => "minecraft:pre_raid",
+ Hide => "minecraft:hide",
+ Fight => "minecraft:fight",
+ Celebrate => "minecraft:celebrate",
+ AdmireItem => "minecraft:admire_item",
+ Avoid => "minecraft:avoid",
+ Ride => "minecraft:ride",
+ PlayDead => "minecraft:play_dead",
+ LongJump => "minecraft:long_jump",
+ Ram => "minecraft:ram",
+ Tongue => "minecraft:tongue",
+ Swim => "minecraft:swim",
+ LaySpawn => "minecraft:lay_spawn",
+ Sniff => "minecraft:sniff",
+ Investigate => "minecraft:investigate",
+ Roar => "minecraft:roar",
+ Emerge => "minecraft:emerge",
+ Dig => "minecraft:dig",
+}
+}
+
+registry! {
+enum Attribute {
+ Armor => "minecraft:armor",
+ ArmorToughness => "minecraft:armor_toughness",
+ AttackDamage => "minecraft:attack_damage",
+ AttackKnockback => "minecraft:attack_knockback",
+ AttackSpeed => "minecraft:attack_speed",
+ BlockBreakSpeed => "minecraft:block_break_speed",
+ BlockInteractionRange => "minecraft:block_interaction_range",
+ BurningTime => "minecraft:burning_time",
+ CameraDistance => "minecraft:camera_distance",
+ ExplosionKnockbackResistance => "minecraft:explosion_knockback_resistance",
+ EntityInteractionRange => "minecraft:entity_interaction_range",
+ FallDamageMultiplier => "minecraft:fall_damage_multiplier",
+ FlyingSpeed => "minecraft:flying_speed",
+ FollowRange => "minecraft:follow_range",
+ Gravity => "minecraft:gravity",
+ JumpStrength => "minecraft:jump_strength",
+ KnockbackResistance => "minecraft:knockback_resistance",
+ Luck => "minecraft:luck",
+ MaxAbsorption => "minecraft:max_absorption",
+ MaxHealth => "minecraft:max_health",
+ MiningEfficiency => "minecraft:mining_efficiency",
+ MovementEfficiency => "minecraft:movement_efficiency",
+ MovementSpeed => "minecraft:movement_speed",
+ OxygenBonus => "minecraft:oxygen_bonus",
+ SafeFallDistance => "minecraft:safe_fall_distance",
+ Scale => "minecraft:scale",
+ SneakingSpeed => "minecraft:sneaking_speed",
+ SpawnReinforcements => "minecraft:spawn_reinforcements",
+ StepHeight => "minecraft:step_height",
+ SubmergedMiningSpeed => "minecraft:submerged_mining_speed",
+ SweepingDamageRatio => "minecraft:sweeping_damage_ratio",
+ TemptRange => "minecraft:tempt_range",
+ WaterMovementEfficiency => "minecraft:water_movement_efficiency",
+ WaypointTransmitRange => "minecraft:waypoint_transmit_range",
+ WaypointReceiveRange => "minecraft:waypoint_receive_range",
+}
+}
+
+registry! {
+/// An enum that contains every type of block entity.
+///
+/// A block entity is a block that contains data that can't be represented as
+/// just a block state, like how chests store items.
+enum BlockEntityKind {
+ Furnace => "minecraft:furnace",
+ Chest => "minecraft:chest",
+ TrappedChest => "minecraft:trapped_chest",
+ EnderChest => "minecraft:ender_chest",
+ Jukebox => "minecraft:jukebox",
+ Dispenser => "minecraft:dispenser",
+ Dropper => "minecraft:dropper",
+ Sign => "minecraft:sign",
+ HangingSign => "minecraft:hanging_sign",
+ MobSpawner => "minecraft:mob_spawner",
+ CreakingHeart => "minecraft:creaking_heart",
+ Piston => "minecraft:piston",
+ BrewingStand => "minecraft:brewing_stand",
+ EnchantingTable => "minecraft:enchanting_table",
+ EndPortal => "minecraft:end_portal",
+ Beacon => "minecraft:beacon",
+ Skull => "minecraft:skull",
+ DaylightDetector => "minecraft:daylight_detector",
+ Hopper => "minecraft:hopper",
+ Comparator => "minecraft:comparator",
+ Banner => "minecraft:banner",
+ StructureBlock => "minecraft:structure_block",
+ EndGateway => "minecraft:end_gateway",
+ CommandBlock => "minecraft:command_block",
+ ShulkerBox => "minecraft:shulker_box",
+ Bed => "minecraft:bed",
+ Conduit => "minecraft:conduit",
+ Barrel => "minecraft:barrel",
+ Smoker => "minecraft:smoker",
+ BlastFurnace => "minecraft:blast_furnace",
+ Lectern => "minecraft:lectern",
+ Bell => "minecraft:bell",
+ Jigsaw => "minecraft:jigsaw",
+ Campfire => "minecraft:campfire",
+ Beehive => "minecraft:beehive",
+ SculkSensor => "minecraft:sculk_sensor",
+ CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
+ SculkCatalyst => "minecraft:sculk_catalyst",
+ SculkShrieker => "minecraft:sculk_shrieker",
+ ChiseledBookshelf => "minecraft:chiseled_bookshelf",
+ Shelf => "minecraft:shelf",
+ BrushableBlock => "minecraft:brushable_block",
+ DecoratedPot => "minecraft:decorated_pot",
+ Crafter => "minecraft:crafter",
+ TrialSpawner => "minecraft:trial_spawner",
+ Vault => "minecraft:vault",
+ TestBlock => "minecraft:test_block",
+ TestInstanceBlock => "minecraft:test_instance_block",
+ CopperGolemStatue => "minecraft:copper_golem_statue",
+}
+}
+
+registry! {
+enum BlockPredicateKind {
+ MatchingBlocks => "minecraft:matching_blocks",
+ MatchingBlockTag => "minecraft:matching_block_tag",
+ MatchingFluids => "minecraft:matching_fluids",
+ HasSturdyFace => "minecraft:has_sturdy_face",
+ Solid => "minecraft:solid",
+ Replaceable => "minecraft:replaceable",
+ WouldSurvive => "minecraft:would_survive",
+ InsideWorldBounds => "minecraft:inside_world_bounds",
+ AnyOf => "minecraft:any_of",
+ AllOf => "minecraft:all_of",
+ Not => "minecraft:not",
+ True => "minecraft:true",
+ Unobstructed => "minecraft:unobstructed",
+}
+}
+
+registry! {
+enum ChunkStatus {
+ Empty => "minecraft:empty",
+ StructureStarts => "minecraft:structure_starts",
+ StructureReferences => "minecraft:structure_references",
+ Biomes => "minecraft:biomes",
+ Noise => "minecraft:noise",
+ Surface => "minecraft:surface",
+ Carvers => "minecraft:carvers",
+ Features => "minecraft:features",
+ InitializeLight => "minecraft:initialize_light",
+ Light => "minecraft:light",
+ Spawn => "minecraft:spawn",
+ Full => "minecraft:full",
+}
+}
+
+registry! {
+enum CommandArgumentKind {
+ Bool => "brigadier:bool",
+ Float => "brigadier:float",
+ Double => "brigadier:double",
+ Integer => "brigadier:integer",
+ Long => "brigadier:long",
+ String => "brigadier:string",
+ Entity => "minecraft:entity",
+ GameProfile => "minecraft:game_profile",
+ BlockPos => "minecraft:block_pos",
+ ColumnPos => "minecraft:column_pos",
+ Vec3 => "minecraft:vec3",
+ Vec2 => "minecraft:vec2",
+ BlockState => "minecraft:block_state",
+ BlockPredicate => "minecraft:block_predicate",
+ ItemStack => "minecraft:item_stack",
+ ItemPredicate => "minecraft:item_predicate",
+ Color => "minecraft:color",
+ HexColor => "minecraft:hex_color",
+ Component => "minecraft:component",
+ Style => "minecraft:style",
+ Message => "minecraft:message",
+ NbtCompoundTag => "minecraft:nbt_compound_tag",
+ NbtTag => "minecraft:nbt_tag",
+ NbtPath => "minecraft:nbt_path",
+ Objective => "minecraft:objective",
+ ObjectiveCriteria => "minecraft:objective_criteria",
+ Operation => "minecraft:operation",
+ Particle => "minecraft:particle",
+ Angle => "minecraft:angle",
+ Rotation => "minecraft:rotation",
+ ScoreboardSlot => "minecraft:scoreboard_slot",
+ ScoreHolder => "minecraft:score_holder",
+ Swizzle => "minecraft:swizzle",
+ Team => "minecraft:team",
+ ItemSlot => "minecraft:item_slot",
+ ItemSlots => "minecraft:item_slots",
+ ResourceLocation => "minecraft:resource_location",
+ Function => "minecraft:function",
+ EntityAnchor => "minecraft:entity_anchor",
+ IntRange => "minecraft:int_range",
+ FloatRange => "minecraft:float_range",
+ Dimension => "minecraft:dimension",
+ Gamemode => "minecraft:gamemode",
+ Time => "minecraft:time",
+ ResourceOrTag => "minecraft:resource_or_tag",
+ ResourceOrTagKey => "minecraft:resource_or_tag_key",
+ Resource => "minecraft:resource",
+ ResourceKey => "minecraft:resource_key",
+ ResourceSelector => "minecraft:resource_selector",
+ TemplateMirror => "minecraft:template_mirror",
+ TemplateRotation => "minecraft:template_rotation",
+ Heightmap => "minecraft:heightmap",
+ LootTable => "minecraft:loot_table",
+ LootPredicate => "minecraft:loot_predicate",
+ LootModifier => "minecraft:loot_modifier",
+ Dialog => "minecraft:dialog",
+ Uuid => "minecraft:uuid",
+}
+}
+
+registry! {
+enum CustomStat {
+ LeaveGame => "minecraft:leave_game",
+ PlayTime => "minecraft:play_time",
+ TotalWorldTime => "minecraft:total_world_time",
+ TimeSinceDeath => "minecraft:time_since_death",
+ TimeSinceRest => "minecraft:time_since_rest",
+ SneakTime => "minecraft:sneak_time",
+ WalkOneCm => "minecraft:walk_one_cm",
+ CrouchOneCm => "minecraft:crouch_one_cm",
+ SprintOneCm => "minecraft:sprint_one_cm",
+ WalkOnWaterOneCm => "minecraft:walk_on_water_one_cm",
+ FallOneCm => "minecraft:fall_one_cm",
+ ClimbOneCm => "minecraft:climb_one_cm",
+ FlyOneCm => "minecraft:fly_one_cm",
+ WalkUnderWaterOneCm => "minecraft:walk_under_water_one_cm",
+ MinecartOneCm => "minecraft:minecart_one_cm",
+ BoatOneCm => "minecraft:boat_one_cm",
+ PigOneCm => "minecraft:pig_one_cm",
+ HappyGhastOneCm => "minecraft:happy_ghast_one_cm",
+ HorseOneCm => "minecraft:horse_one_cm",
+ AviateOneCm => "minecraft:aviate_one_cm",
+ SwimOneCm => "minecraft:swim_one_cm",
+ StriderOneCm => "minecraft:strider_one_cm",
+ NautilusOneCm => "minecraft:nautilus_one_cm",
+ Jump => "minecraft:jump",
+ Drop => "minecraft:drop",
+ DamageDealt => "minecraft:damage_dealt",
+ DamageDealtAbsorbed => "minecraft:damage_dealt_absorbed",
+ DamageDealtResisted => "minecraft:damage_dealt_resisted",
+ DamageTaken => "minecraft:damage_taken",
+ DamageBlockedByShield => "minecraft:damage_blocked_by_shield",
+ DamageAbsorbed => "minecraft:damage_absorbed",
+ DamageResisted => "minecraft:damage_resisted",
+ Deaths => "minecraft:deaths",
+ MobKills => "minecraft:mob_kills",
+ AnimalsBred => "minecraft:animals_bred",
+ PlayerKills => "minecraft:player_kills",
+ FishCaught => "minecraft:fish_caught",
+ TalkedToVillager => "minecraft:talked_to_villager",
+ TradedWithVillager => "minecraft:traded_with_villager",
+ EatCakeSlice => "minecraft:eat_cake_slice",
+ FillCauldron => "minecraft:fill_cauldron",
+ UseCauldron => "minecraft:use_cauldron",
+ CleanArmor => "minecraft:clean_armor",
+ CleanBanner => "minecraft:clean_banner",
+ CleanShulkerBox => "minecraft:clean_shulker_box",
+ InteractWithBrewingstand => "minecraft:interact_with_brewingstand",
+ InteractWithBeacon => "minecraft:interact_with_beacon",
+ InspectDropper => "minecraft:inspect_dropper",
+ InspectHopper => "minecraft:inspect_hopper",
+ InspectDispenser => "minecraft:inspect_dispenser",
+ PlayNoteblock => "minecraft:play_noteblock",
+ TuneNoteblock => "minecraft:tune_noteblock",
+ PotFlower => "minecraft:pot_flower",
+ TriggerTrappedChest => "minecraft:trigger_trapped_chest",
+ OpenEnderchest => "minecraft:open_enderchest",
+ EnchantItem => "minecraft:enchant_item",
+ PlayRecord => "minecraft:play_record",
+ InteractWithFurnace => "minecraft:interact_with_furnace",
+ InteractWithCraftingTable => "minecraft:interact_with_crafting_table",
+ OpenChest => "minecraft:open_chest",
+ SleepInBed => "minecraft:sleep_in_bed",
+ OpenShulkerBox => "minecraft:open_shulker_box",
+ OpenBarrel => "minecraft:open_barrel",
+ InteractWithBlastFurnace => "minecraft:interact_with_blast_furnace",
+ InteractWithSmoker => "minecraft:interact_with_smoker",
+ InteractWithLectern => "minecraft:interact_with_lectern",
+ InteractWithCampfire => "minecraft:interact_with_campfire",
+ InteractWithCartographyTable => "minecraft:interact_with_cartography_table",
+ InteractWithLoom => "minecraft:interact_with_loom",
+ InteractWithStonecutter => "minecraft:interact_with_stonecutter",
+ BellRing => "minecraft:bell_ring",
+ RaidTrigger => "minecraft:raid_trigger",
+ RaidWin => "minecraft:raid_win",
+ InteractWithAnvil => "minecraft:interact_with_anvil",
+ InteractWithGrindstone => "minecraft:interact_with_grindstone",
+ TargetHit => "minecraft:target_hit",
+ InteractWithSmithingTable => "minecraft:interact_with_smithing_table",
+}
+}
+
+registry! {
+/// An enum that contains every type of entity.
+enum EntityKind {
+ AcaciaBoat => "minecraft:acacia_boat",
+ AcaciaChestBoat => "minecraft:acacia_chest_boat",
+ Allay => "minecraft:allay",
+ AreaEffectCloud => "minecraft:area_effect_cloud",
+ Armadillo => "minecraft:armadillo",
+ ArmorStand => "minecraft:armor_stand",
+ Arrow => "minecraft:arrow",
+ Axolotl => "minecraft:axolotl",
+ BambooChestRaft => "minecraft:bamboo_chest_raft",
+ BambooRaft => "minecraft:bamboo_raft",
+ Bat => "minecraft:bat",
+ Bee => "minecraft:bee",
+ BirchBoat => "minecraft:birch_boat",
+ BirchChestBoat => "minecraft:birch_chest_boat",
+ Blaze => "minecraft:blaze",
+ BlockDisplay => "minecraft:block_display",
+ Bogged => "minecraft:bogged",
+ Breeze => "minecraft:breeze",
+ BreezeWindCharge => "minecraft:breeze_wind_charge",
+ Camel => "minecraft:camel",
+ CamelHusk => "minecraft:camel_husk",
+ Cat => "minecraft:cat",
+ CaveSpider => "minecraft:cave_spider",
+ CherryBoat => "minecraft:cherry_boat",
+ CherryChestBoat => "minecraft:cherry_chest_boat",
+ ChestMinecart => "minecraft:chest_minecart",
+ Chicken => "minecraft:chicken",
+ Cod => "minecraft:cod",
+ CopperGolem => "minecraft:copper_golem",
+ CommandBlockMinecart => "minecraft:command_block_minecart",
+ Cow => "minecraft:cow",
+ Creaking => "minecraft:creaking",
+ Creeper => "minecraft:creeper",
+ DarkOakBoat => "minecraft:dark_oak_boat",
+ DarkOakChestBoat => "minecraft:dark_oak_chest_boat",
+ Dolphin => "minecraft:dolphin",
+ Donkey => "minecraft:donkey",
+ DragonFireball => "minecraft:dragon_fireball",
+ Drowned => "minecraft:drowned",
+ Egg => "minecraft:egg",
+ ElderGuardian => "minecraft:elder_guardian",
+ Enderman => "minecraft:enderman",
+ Endermite => "minecraft:endermite",
+ EnderDragon => "minecraft:ender_dragon",
+ EnderPearl => "minecraft:ender_pearl",
+ EndCrystal => "minecraft:end_crystal",
+ Evoker => "minecraft:evoker",
+ EvokerFangs => "minecraft:evoker_fangs",
+ ExperienceBottle => "minecraft:experience_bottle",
+ ExperienceOrb => "minecraft:experience_orb",
+ EyeOfEnder => "minecraft:eye_of_ender",
+ FallingBlock => "minecraft:falling_block",
+ Fireball => "minecraft:fireball",
+ FireworkRocket => "minecraft:firework_rocket",
+ Fox => "minecraft:fox",
+ Frog => "minecraft:frog",
+ FurnaceMinecart => "minecraft:furnace_minecart",
+ Ghast => "minecraft:ghast",
+ HappyGhast => "minecraft:happy_ghast",
+ Giant => "minecraft:giant",
+ GlowItemFrame => "minecraft:glow_item_frame",
+ GlowSquid => "minecraft:glow_squid",
+ Goat => "minecraft:goat",
+ Guardian => "minecraft:guardian",
+ Hoglin => "minecraft:hoglin",
+ HopperMinecart => "minecraft:hopper_minecart",
+ Horse => "minecraft:horse",
+ Husk => "minecraft:husk",
+ Illusioner => "minecraft:illusioner",
+ Interaction => "minecraft:interaction",
+ IronGolem => "minecraft:iron_golem",
+ Item => "minecraft:item",
+ ItemDisplay => "minecraft:item_display",
+ ItemFrame => "minecraft:item_frame",
+ JungleBoat => "minecraft:jungle_boat",
+ JungleChestBoat => "minecraft:jungle_chest_boat",
+ LeashKnot => "minecraft:leash_knot",
+ LightningBolt => "minecraft:lightning_bolt",
+ Llama => "minecraft:llama",
+ LlamaSpit => "minecraft:llama_spit",
+ MagmaCube => "minecraft:magma_cube",
+ MangroveBoat => "minecraft:mangrove_boat",
+ MangroveChestBoat => "minecraft:mangrove_chest_boat",
+ Mannequin => "minecraft:mannequin",
+ Marker => "minecraft:marker",
+ Minecart => "minecraft:minecart",
+ Mooshroom => "minecraft:mooshroom",
+ Mule => "minecraft:mule",
+ Nautilus => "minecraft:nautilus",
+ OakBoat => "minecraft:oak_boat",
+ OakChestBoat => "minecraft:oak_chest_boat",
+ Ocelot => "minecraft:ocelot",
+ OminousItemSpawner => "minecraft:ominous_item_spawner",
+ Painting => "minecraft:painting",
+ PaleOakBoat => "minecraft:pale_oak_boat",
+ PaleOakChestBoat => "minecraft:pale_oak_chest_boat",
+ Panda => "minecraft:panda",
+ Parched => "minecraft:parched",
+ Parrot => "minecraft:parrot",
+ Phantom => "minecraft:phantom",
+ Pig => "minecraft:pig",
+ Piglin => "minecraft:piglin",
+ PiglinBrute => "minecraft:piglin_brute",
+ Pillager => "minecraft:pillager",
+ PolarBear => "minecraft:polar_bear",
+ SplashPotion => "minecraft:splash_potion",
+ LingeringPotion => "minecraft:lingering_potion",
+ Pufferfish => "minecraft:pufferfish",
+ Rabbit => "minecraft:rabbit",
+ Ravager => "minecraft:ravager",
+ Salmon => "minecraft:salmon",
+ Sheep => "minecraft:sheep",
+ Shulker => "minecraft:shulker",
+ ShulkerBullet => "minecraft:shulker_bullet",
+ Silverfish => "minecraft:silverfish",
+ Skeleton => "minecraft:skeleton",
+ SkeletonHorse => "minecraft:skeleton_horse",
+ Slime => "minecraft:slime",
+ SmallFireball => "minecraft:small_fireball",
+ Sniffer => "minecraft:sniffer",
+ Snowball => "minecraft:snowball",
+ SnowGolem => "minecraft:snow_golem",
+ SpawnerMinecart => "minecraft:spawner_minecart",
+ SpectralArrow => "minecraft:spectral_arrow",
+ Spider => "minecraft:spider",
+ SpruceBoat => "minecraft:spruce_boat",
+ SpruceChestBoat => "minecraft:spruce_chest_boat",
+ Squid => "minecraft:squid",
+ Stray => "minecraft:stray",
+ Strider => "minecraft:strider",
+ Tadpole => "minecraft:tadpole",
+ TextDisplay => "minecraft:text_display",
+ Tnt => "minecraft:tnt",
+ TntMinecart => "minecraft:tnt_minecart",
+ TraderLlama => "minecraft:trader_llama",
+ Trident => "minecraft:trident",
+ TropicalFish => "minecraft:tropical_fish",
+ Turtle => "minecraft:turtle",
+ Vex => "minecraft:vex",
+ Villager => "minecraft:villager",
+ Vindicator => "minecraft:vindicator",
+ WanderingTrader => "minecraft:wandering_trader",
+ Warden => "minecraft:warden",
+ WindCharge => "minecraft:wind_charge",
+ Witch => "minecraft:witch",
+ Wither => "minecraft:wither",
+ WitherSkeleton => "minecraft:wither_skeleton",
+ WitherSkull => "minecraft:wither_skull",
+ Wolf => "minecraft:wolf",
+ Zoglin => "minecraft:zoglin",
+ Zombie => "minecraft:zombie",
+ ZombieHorse => "minecraft:zombie_horse",
+ ZombieNautilus => "minecraft:zombie_nautilus",
+ ZombieVillager => "minecraft:zombie_villager",
+ ZombifiedPiglin => "minecraft:zombified_piglin",
+ Player => "minecraft:player",
+ FishingBobber => "minecraft:fishing_bobber",
+}
+}
+
+registry! {
+enum FloatProviderKind {
+ Constant => "minecraft:constant",
+ Uniform => "minecraft:uniform",
+ ClampedNormal => "minecraft:clamped_normal",
+ Trapezoid => "minecraft:trapezoid",
+}
+}
+
+registry! {
+enum Fluid {
+ Empty => "minecraft:empty",
+ FlowingWater => "minecraft:flowing_water",
+ Water => "minecraft:water",
+ FlowingLava => "minecraft:flowing_lava",
+ Lava => "minecraft:lava",
+}
+}
+
+registry! {
+enum GameEvent {
+ BlockActivate => "minecraft:block_activate",
+ BlockAttach => "minecraft:block_attach",
+ BlockChange => "minecraft:block_change",
+ BlockClose => "minecraft:block_close",
+ BlockDeactivate => "minecraft:block_deactivate",
+ BlockDestroy => "minecraft:block_destroy",
+ BlockDetach => "minecraft:block_detach",
+ BlockOpen => "minecraft:block_open",
+ BlockPlace => "minecraft:block_place",
+ ContainerClose => "minecraft:container_close",
+ ContainerOpen => "minecraft:container_open",
+ Drink => "minecraft:drink",
+ Eat => "minecraft:eat",
+ ElytraGlide => "minecraft:elytra_glide",
+ EntityDamage => "minecraft:entity_damage",
+ EntityDie => "minecraft:entity_die",
+ EntityDismount => "minecraft:entity_dismount",
+ EntityInteract => "minecraft:entity_interact",
+ EntityMount => "minecraft:entity_mount",
+ EntityPlace => "minecraft:entity_place",
+ EntityAction => "minecraft:entity_action",
+ Equip => "minecraft:equip",
+ Explode => "minecraft:explode",
+ Flap => "minecraft:flap",
+ FluidPickup => "minecraft:fluid_pickup",
+ FluidPlace => "minecraft:fluid_place",
+ HitGround => "minecraft:hit_ground",
+ InstrumentPlay => "minecraft:instrument_play",
+ ItemInteractFinish => "minecraft:item_interact_finish",
+ ItemInteractStart => "minecraft:item_interact_start",
+ JukeboxPlay => "minecraft:jukebox_play",
+ JukeboxStopPlay => "minecraft:jukebox_stop_play",
+ LightningStrike => "minecraft:lightning_strike",
+ NoteBlockPlay => "minecraft:note_block_play",
+ PrimeFuse => "minecraft:prime_fuse",
+ ProjectileLand => "minecraft:projectile_land",
+ ProjectileShoot => "minecraft:projectile_shoot",
+ SculkSensorTendrilsClicking => "minecraft:sculk_sensor_tendrils_clicking",
+ Shear => "minecraft:shear",
+ Shriek => "minecraft:shriek",
+ Splash => "minecraft:splash",
+ Step => "minecraft:step",
+ Swim => "minecraft:swim",
+ Teleport => "minecraft:teleport",
+ Unequip => "minecraft:unequip",
+ Resonate1 => "minecraft:resonate_1",
+ Resonate2 => "minecraft:resonate_2",
+ Resonate3 => "minecraft:resonate_3",
+ Resonate4 => "minecraft:resonate_4",
+ Resonate5 => "minecraft:resonate_5",
+ Resonate6 => "minecraft:resonate_6",
+ Resonate7 => "minecraft:resonate_7",
+ Resonate8 => "minecraft:resonate_8",
+ Resonate9 => "minecraft:resonate_9",
+ Resonate10 => "minecraft:resonate_10",
+ Resonate11 => "minecraft:resonate_11",
+ Resonate12 => "minecraft:resonate_12",
+ Resonate13 => "minecraft:resonate_13",
+ Resonate14 => "minecraft:resonate_14",
+ Resonate15 => "minecraft:resonate_15",
+}
+}
+
+registry! {
+enum HeightProviderKind {
+ Constant => "minecraft:constant",
+ Uniform => "minecraft:uniform",
+ BiasedToBottom => "minecraft:biased_to_bottom",
+ VeryBiasedToBottom => "minecraft:very_biased_to_bottom",
+ Trapezoid => "minecraft:trapezoid",
+ WeightedList => "minecraft:weighted_list",
+}
+}
+
+registry! {
+enum IntProviderKind {
+ Constant => "minecraft:constant",
+ Uniform => "minecraft:uniform",
+ BiasedToBottom => "minecraft:biased_to_bottom",
+ Clamped => "minecraft:clamped",
+ WeightedList => "minecraft:weighted_list",
+ ClampedNormal => "minecraft:clamped_normal",
+}
+}
+
+registry! {
+enum LootConditionKind {
+ Inverted => "minecraft:inverted",
+ AnyOf => "minecraft:any_of",
+ AllOf => "minecraft:all_of",
+ RandomChance => "minecraft:random_chance",
+ RandomChanceWithEnchantedBonus => "minecraft:random_chance_with_enchanted_bonus",
+ EntityProperties => "minecraft:entity_properties",
+ KilledByPlayer => "minecraft:killed_by_player",
+ EntityScores => "minecraft:entity_scores",
+ BlockStateProperty => "minecraft:block_state_property",
+ MatchTool => "minecraft:match_tool",
+ TableBonus => "minecraft:table_bonus",
+ SurvivesExplosion => "minecraft:survives_explosion",
+ DamageSourceProperties => "minecraft:damage_source_properties",
+ LocationCheck => "minecraft:location_check",
+ WeatherCheck => "minecraft:weather_check",
+ Reference => "minecraft:reference",
+ TimeCheck => "minecraft:time_check",
+ ValueCheck => "minecraft:value_check",
+ EnchantmentActiveCheck => "minecraft:enchantment_active_check",
+}
+}
+
+registry! {
+enum LootFunctionKind {
+ SetCount => "minecraft:set_count",
+ SetItem => "minecraft:set_item",
+ EnchantWithLevels => "minecraft:enchant_with_levels",
+ EnchantRandomly => "minecraft:enchant_randomly",
+ SetEnchantments => "minecraft:set_enchantments",
+ SetCustomData => "minecraft:set_custom_data",
+ SetComponents => "minecraft:set_components",
+ FurnaceSmelt => "minecraft:furnace_smelt",
+ EnchantedCountIncrease => "minecraft:enchanted_count_increase",
+ SetDamage => "minecraft:set_damage",
+ SetAttributes => "minecraft:set_attributes",
+ SetName => "minecraft:set_name",
+ ExplorationMap => "minecraft:exploration_map",
+ SetStewEffect => "minecraft:set_stew_effect",
+ CopyName => "minecraft:copy_name",
+ SetContents => "minecraft:set_contents",
+ ModifyContents => "minecraft:modify_contents",
+ Filtered => "minecraft:filtered",
+ LimitCount => "minecraft:limit_count",
+ ApplyBonus => "minecraft:apply_bonus",
+ SetLootTable => "minecraft:set_loot_table",
+ ExplosionDecay => "minecraft:explosion_decay",
+ SetLore => "minecraft:set_lore",
+ FillPlayerHead => "minecraft:fill_player_head",
+ CopyCustomData => "minecraft:copy_custom_data",
+ CopyState => "minecraft:copy_state",
+ SetBannerPattern => "minecraft:set_banner_pattern",
+ SetPotion => "minecraft:set_potion",
+ SetInstrument => "minecraft:set_instrument",
+ Reference => "minecraft:reference",
+ Sequence => "minecraft:sequence",
+ CopyComponents => "minecraft:copy_components",
+ SetFireworks => "minecraft:set_fireworks",
+ SetFireworkExplosion => "minecraft:set_firework_explosion",
+ SetBookCover => "minecraft:set_book_cover",
+ SetWrittenBookPages => "minecraft:set_written_book_pages",
+ SetWritableBookPages => "minecraft:set_writable_book_pages",
+ ToggleTooltips => "minecraft:toggle_tooltips",
+ SetOminousBottleAmplifier => "minecraft:set_ominous_bottle_amplifier",
+ SetCustomModelData => "minecraft:set_custom_model_data",
+ Discard => "minecraft:discard",
+}
+}
+
+registry! {
+enum LootNbtProviderKind {
+ Storage => "minecraft:storage",
+ Context => "minecraft:context",
+}
+}
+
+registry! {
+enum LootNumberProviderKind {
+ Constant => "minecraft:constant",
+ Uniform => "minecraft:uniform",
+ Binomial => "minecraft:binomial",
+ Score => "minecraft:score",
+ Storage => "minecraft:storage",
+ EnchantmentLevel => "minecraft:enchantment_level",
+}
+}
+
+registry! {
+enum LootPoolEntryKind {
+ Empty => "minecraft:empty",
+ Item => "minecraft:item",
+ LootTable => "minecraft:loot_table",
+ Dynamic => "minecraft:dynamic",
+ Tag => "minecraft:tag",
+ Slots => "minecraft:slots",
+ Alternatives => "minecraft:alternatives",
+ Sequence => "minecraft:sequence",
+ Group => "minecraft:group",
+}
+}
+
+registry! {
+enum LootScoreProviderKind {
+ Fixed => "minecraft:fixed",
+ Context => "minecraft:context",
+}
+}
+
+registry! {
+enum MemoryModuleKind {
+ Dummy => "minecraft:dummy",
+ Home => "minecraft:home",
+ JobSite => "minecraft:job_site",
+ PotentialJobSite => "minecraft:potential_job_site",
+ MeetingPoint => "minecraft:meeting_point",
+ SecondaryJobSite => "minecraft:secondary_job_site",
+ Mobs => "minecraft:mobs",
+ VisibleMobs => "minecraft:visible_mobs",
+ VisibleVillagerBabies => "minecraft:visible_villager_babies",
+ NearestPlayers => "minecraft:nearest_players",
+ NearestVisiblePlayer => "minecraft:nearest_visible_player",
+ NearestVisibleTargetablePlayer => "minecraft:nearest_visible_targetable_player",
+ NearestVisibleTargetablePlayers => "minecraft:nearest_visible_targetable_players",
+ WalkTarget => "minecraft:walk_target",
+ LookTarget => "minecraft:look_target",
+ AttackTarget => "minecraft:attack_target",
+ AttackCoolingDown => "minecraft:attack_cooling_down",
+ InteractionTarget => "minecraft:interaction_target",
+ BreedTarget => "minecraft:breed_target",
+ RideTarget => "minecraft:ride_target",
+ Path => "minecraft:path",
+ InteractableDoors => "minecraft:interactable_doors",
+ DoorsToClose => "minecraft:doors_to_close",
+ NearestBed => "minecraft:nearest_bed",
+ HurtBy => "minecraft:hurt_by",
+ HurtByEntity => "minecraft:hurt_by_entity",
+ AvoidTarget => "minecraft:avoid_target",
+ NearestHostile => "minecraft:nearest_hostile",
+ NearestAttackable => "minecraft:nearest_attackable",
+ HidingPlace => "minecraft:hiding_place",
+ HeardBellTime => "minecraft:heard_bell_time",
+ CantReachWalkTargetSince => "minecraft:cant_reach_walk_target_since",
+ GolemDetectedRecently => "minecraft:golem_detected_recently",
+ DangerDetectedRecently => "minecraft:danger_detected_recently",
+ LastSlept => "minecraft:last_slept",
+ LastWoken => "minecraft:last_woken",
+ LastWorkedAtPoi => "minecraft:last_worked_at_poi",
+ NearestVisibleAdult => "minecraft:nearest_visible_adult",
+ NearestVisibleWantedItem => "minecraft:nearest_visible_wanted_item",
+ NearestVisibleNemesis => "minecraft:nearest_visible_nemesis",
+ PlayDeadTicks => "minecraft:play_dead_ticks",
+ TemptingPlayer => "minecraft:tempting_player",
+ TemptationCooldownTicks => "minecraft:temptation_cooldown_ticks",
+ GazeCooldownTicks => "minecraft:gaze_cooldown_ticks",
+ IsTempted => "minecraft:is_tempted",
+ LongJumpCoolingDown => "minecraft:long_jump_cooling_down",
+ LongJumpMidJump => "minecraft:long_jump_mid_jump",
+ HasHuntingCooldown => "minecraft:has_hunting_cooldown",
+ RamCooldownTicks => "minecraft:ram_cooldown_ticks",
+ RamTarget => "minecraft:ram_target",
+ IsInWater => "minecraft:is_in_water",
+ IsPregnant => "minecraft:is_pregnant",
+ IsPanicking => "minecraft:is_panicking",
+ UnreachableTongueTargets => "minecraft:unreachable_tongue_targets",
+ VisitedBlockPositions => "minecraft:visited_block_positions",
+ UnreachableTransportBlockPositions => "minecraft:unreachable_transport_block_positions",
+ TransportItemsCooldownTicks => "minecraft:transport_items_cooldown_ticks",
+ ChargeCooldownTicks => "minecraft:charge_cooldown_ticks",
+ AttackTargetCooldown => "minecraft:attack_target_cooldown",
+ SpearFleeingTime => "minecraft:spear_fleeing_time",
+ SpearFleeingPosition => "minecraft:spear_fleeing_position",
+ SpearChargePosition => "minecraft:spear_charge_position",
+ SpearEngageTime => "minecraft:spear_engage_time",
+ SpearStatus => "minecraft:spear_status",
+ AngryAt => "minecraft:angry_at",
+ UniversalAnger => "minecraft:universal_anger",
+ AdmiringItem => "minecraft:admiring_item",
+ TimeTryingToReachAdmireItem => "minecraft:time_trying_to_reach_admire_item",
+ DisableWalkToAdmireItem => "minecraft:disable_walk_to_admire_item",
+ AdmiringDisabled => "minecraft:admiring_disabled",
+ HuntedRecently => "minecraft:hunted_recently",
+ CelebrateLocation => "minecraft:celebrate_location",
+ Dancing => "minecraft:dancing",
+ NearestVisibleHuntableHoglin => "minecraft:nearest_visible_huntable_hoglin",
+ NearestVisibleBabyHoglin => "minecraft:nearest_visible_baby_hoglin",
+ NearestTargetablePlayerNotWearingGold => "minecraft:nearest_targetable_player_not_wearing_gold",
+ NearbyAdultPiglins => "minecraft:nearby_adult_piglins",
+ NearestVisibleAdultPiglins => "minecraft:nearest_visible_adult_piglins",
+ NearestVisibleAdultHoglins => "minecraft:nearest_visible_adult_hoglins",
+ NearestVisibleAdultPiglin => "minecraft:nearest_visible_adult_piglin",
+ NearestVisibleZombified => "minecraft:nearest_visible_zombified",
+ VisibleAdultPiglinCount => "minecraft:visible_adult_piglin_count",
+ VisibleAdultHoglinCount => "minecraft:visible_adult_hoglin_count",
+ NearestPlayerHoldingWantedItem => "minecraft:nearest_player_holding_wanted_item",
+ AteRecently => "minecraft:ate_recently",
+ NearestRepellent => "minecraft:nearest_repellent",
+ Pacified => "minecraft:pacified",
+ RoarTarget => "minecraft:roar_target",
+ DisturbanceLocation => "minecraft:disturbance_location",
+ RecentProjectile => "minecraft:recent_projectile",
+ IsSniffing => "minecraft:is_sniffing",
+ IsEmerging => "minecraft:is_emerging",
+ RoarSoundDelay => "minecraft:roar_sound_delay",
+ DigCooldown => "minecraft:dig_cooldown",
+ RoarSoundCooldown => "minecraft:roar_sound_cooldown",
+ SniffCooldown => "minecraft:sniff_cooldown",
+ TouchCooldown => "minecraft:touch_cooldown",
+ VibrationCooldown => "minecraft:vibration_cooldown",
+ SonicBoomCooldown => "minecraft:sonic_boom_cooldown",
+ SonicBoomSoundCooldown => "minecraft:sonic_boom_sound_cooldown",
+ SonicBoomSoundDelay => "minecraft:sonic_boom_sound_delay",
+ LikedPlayer => "minecraft:liked_player",
+ LikedNoteblock => "minecraft:liked_noteblock",
+ LikedNoteblockCooldownTicks => "minecraft:liked_noteblock_cooldown_ticks",
+ ItemPickupCooldownTicks => "minecraft:item_pickup_cooldown_ticks",
+ SnifferExploredPositions => "minecraft:sniffer_explored_positions",
+ SnifferSniffingTarget => "minecraft:sniffer_sniffing_target",
+ SnifferDigging => "minecraft:sniffer_digging",
+ SnifferHappy => "minecraft:sniffer_happy",
+ BreezeJumpCooldown => "minecraft:breeze_jump_cooldown",
+ BreezeShoot => "minecraft:breeze_shoot",
+ BreezeShootCharging => "minecraft:breeze_shoot_charging",
+ BreezeShootRecover => "minecraft:breeze_shoot_recover",
+ BreezeShootCooldown => "minecraft:breeze_shoot_cooldown",
+ BreezeJumpInhaling => "minecraft:breeze_jump_inhaling",
+ BreezeJumpTarget => "minecraft:breeze_jump_target",
+ BreezeLeavingWater => "minecraft:breeze_leaving_water",
+}
+}
+
+registry! {
+enum MobEffect {
+ Speed => "minecraft:speed",
+ Slowness => "minecraft:slowness",
+ Haste => "minecraft:haste",
+ MiningFatigue => "minecraft:mining_fatigue",
+ Strength => "minecraft:strength",
+ InstantHealth => "minecraft:instant_health",
+ InstantDamage => "minecraft:instant_damage",
+ JumpBoost => "minecraft:jump_boost",
+ Nausea => "minecraft:nausea",
+ Regeneration => "minecraft:regeneration",
+ Resistance => "minecraft:resistance",
+ FireResistance => "minecraft:fire_resistance",
+ WaterBreathing => "minecraft:water_breathing",
+ Invisibility => "minecraft:invisibility",
+ Blindness => "minecraft:blindness",
+ NightVision => "minecraft:night_vision",
+ Hunger => "minecraft:hunger",
+ Weakness => "minecraft:weakness",
+ Poison => "minecraft:poison",
+ Wither => "minecraft:wither",
+ HealthBoost => "minecraft:health_boost",
+ Absorption => "minecraft:absorption",
+ Saturation => "minecraft:saturation",
+ Glowing => "minecraft:glowing",
+ Levitation => "minecraft:levitation",
+ Luck => "minecraft:luck",
+ Unluck => "minecraft:unluck",
+ SlowFalling => "minecraft:slow_falling",
+ ConduitPower => "minecraft:conduit_power",
+ DolphinsGrace => "minecraft:dolphins_grace",
+ BadOmen => "minecraft:bad_omen",
+ HeroOfTheVillage => "minecraft:hero_of_the_village",
+ Darkness => "minecraft:darkness",
+ TrialOmen => "minecraft:trial_omen",
+ RaidOmen => "minecraft:raid_omen",
+ WindCharged => "minecraft:wind_charged",
+ Weaving => "minecraft:weaving",
+ Oozing => "minecraft:oozing",
+ Infested => "minecraft:infested",
+ BreathOfTheNautilus => "minecraft:breath_of_the_nautilus",
+}
+}
+
+registry! {
+enum ParticleKind {
+ AngryVillager => "minecraft:angry_villager",
+ Block => "minecraft:block",
+ BlockMarker => "minecraft:block_marker",
+ Bubble => "minecraft:bubble",
+ Cloud => "minecraft:cloud",
+ CopperFireFlame => "minecraft:copper_fire_flame",
+ Crit => "minecraft:crit",
+ DamageIndicator => "minecraft:damage_indicator",
+ DragonBreath => "minecraft:dragon_breath",
+ DrippingLava => "minecraft:dripping_lava",
+ FallingLava => "minecraft:falling_lava",
+ LandingLava => "minecraft:landing_lava",
+ DrippingWater => "minecraft:dripping_water",
+ FallingWater => "minecraft:falling_water",
+ Dust => "minecraft:dust",
+ DustColorTransition => "minecraft:dust_color_transition",
+ Effect => "minecraft:effect",
+ ElderGuardian => "minecraft:elder_guardian",
+ EnchantedHit => "minecraft:enchanted_hit",
+ Enchant => "minecraft:enchant",
+ EndRod => "minecraft:end_rod",
+ EntityEffect => "minecraft:entity_effect",
+ ExplosionEmitter => "minecraft:explosion_emitter",
+ Explosion => "minecraft:explosion",
+ Gust => "minecraft:gust",
+ SmallGust => "minecraft:small_gust",
+ GustEmitterLarge => "minecraft:gust_emitter_large",
+ GustEmitterSmall => "minecraft:gust_emitter_small",
+ SonicBoom => "minecraft:sonic_boom",
+ FallingDust => "minecraft:falling_dust",
+ Firework => "minecraft:firework",
+ Fishing => "minecraft:fishing",
+ Flame => "minecraft:flame",
+ Infested => "minecraft:infested",
+ CherryLeaves => "minecraft:cherry_leaves",
+ PaleOakLeaves => "minecraft:pale_oak_leaves",
+ TintedLeaves => "minecraft:tinted_leaves",
+ SculkSoul => "minecraft:sculk_soul",
+ SculkCharge => "minecraft:sculk_charge",
+ SculkChargePop => "minecraft:sculk_charge_pop",
+ SoulFireFlame => "minecraft:soul_fire_flame",
+ Soul => "minecraft:soul",
+ Flash => "minecraft:flash",
+ HappyVillager => "minecraft:happy_villager",
+ Composter => "minecraft:composter",
+ Heart => "minecraft:heart",
+ InstantEffect => "minecraft:instant_effect",
+ Item => "minecraft:item",
+ Vibration => "minecraft:vibration",
+ Trail => "minecraft:trail",
+ ItemSlime => "minecraft:item_slime",
+ ItemCobweb => "minecraft:item_cobweb",
+ ItemSnowball => "minecraft:item_snowball",
+ LargeSmoke => "minecraft:large_smoke",
+ Lava => "minecraft:lava",
+ Mycelium => "minecraft:mycelium",
+ Note => "minecraft:note",
+ Poof => "minecraft:poof",
+ Portal => "minecraft:portal",
+ Rain => "minecraft:rain",
+ Smoke => "minecraft:smoke",
+ WhiteSmoke => "minecraft:white_smoke",
+ Sneeze => "minecraft:sneeze",
+ Spit => "minecraft:spit",
+ SquidInk => "minecraft:squid_ink",
+ SweepAttack => "minecraft:sweep_attack",
+ TotemOfUndying => "minecraft:totem_of_undying",
+ Underwater => "minecraft:underwater",
+ Splash => "minecraft:splash",
+ Witch => "minecraft:witch",
+ BubblePop => "minecraft:bubble_pop",
+ CurrentDown => "minecraft:current_down",
+ BubbleColumnUp => "minecraft:bubble_column_up",
+ Nautilus => "minecraft:nautilus",
+ Dolphin => "minecraft:dolphin",
+ CampfireCosySmoke => "minecraft:campfire_cosy_smoke",
+ CampfireSignalSmoke => "minecraft:campfire_signal_smoke",
+ DrippingHoney => "minecraft:dripping_honey",
+ FallingHoney => "minecraft:falling_honey",
+ LandingHoney => "minecraft:landing_honey",
+ FallingNectar => "minecraft:falling_nectar",
+ FallingSporeBlossom => "minecraft:falling_spore_blossom",
+ Ash => "minecraft:ash",
+ CrimsonSpore => "minecraft:crimson_spore",
+ WarpedSpore => "minecraft:warped_spore",
+ SporeBlossomAir => "minecraft:spore_blossom_air",
+ DrippingObsidianTear => "minecraft:dripping_obsidian_tear",
+ FallingObsidianTear => "minecraft:falling_obsidian_tear",
+ LandingObsidianTear => "minecraft:landing_obsidian_tear",
+ ReversePortal => "minecraft:reverse_portal",
+ WhiteAsh => "minecraft:white_ash",
+ SmallFlame => "minecraft:small_flame",
+ Snowflake => "minecraft:snowflake",
+ DrippingDripstoneLava => "minecraft:dripping_dripstone_lava",
+ FallingDripstoneLava => "minecraft:falling_dripstone_lava",
+ DrippingDripstoneWater => "minecraft:dripping_dripstone_water",
+ FallingDripstoneWater => "minecraft:falling_dripstone_water",
+ GlowSquidInk => "minecraft:glow_squid_ink",
+ Glow => "minecraft:glow",
+ WaxOn => "minecraft:wax_on",
+ WaxOff => "minecraft:wax_off",
+ ElectricSpark => "minecraft:electric_spark",
+ Scrape => "minecraft:scrape",
+ Shriek => "minecraft:shriek",
+ EggCrack => "minecraft:egg_crack",
+ DustPlume => "minecraft:dust_plume",
+ TrialSpawnerDetection => "minecraft:trial_spawner_detection",
+ TrialSpawnerDetectionOminous => "minecraft:trial_spawner_detection_ominous",
+ VaultConnection => "minecraft:vault_connection",
+ DustPillar => "minecraft:dust_pillar",
+ OminousSpawning => "minecraft:ominous_spawning",
+ RaidOmen => "minecraft:raid_omen",
+ TrialOmen => "minecraft:trial_omen",
+ BlockCrumble => "minecraft:block_crumble",
+ Firefly => "minecraft:firefly",
+}
+}
+
+registry! {
+enum PointOfInterestKind {
+ Armorer => "minecraft:armorer",
+ Butcher => "minecraft:butcher",
+ Cartographer => "minecraft:cartographer",
+ Cleric => "minecraft:cleric",
+ Farmer => "minecraft:farmer",
+ Fisherman => "minecraft:fisherman",
+ Fletcher => "minecraft:fletcher",
+ Leatherworker => "minecraft:leatherworker",
+ Librarian => "minecraft:librarian",
+ Mason => "minecraft:mason",
+ Shepherd => "minecraft:shepherd",
+ Toolsmith => "minecraft:toolsmith",
+ Weaponsmith => "minecraft:weaponsmith",
+ Home => "minecraft:home",
+ Meeting => "minecraft:meeting",
+ Beehive => "minecraft:beehive",
+ BeeNest => "minecraft:bee_nest",
+ NetherPortal => "minecraft:nether_portal",
+ Lodestone => "minecraft:lodestone",
+ TestInstance => "minecraft:test_instance",
+ LightningRod => "minecraft:lightning_rod",
+}
+}
+
+registry! {
+enum PosRuleTest {
+ AlwaysTrue => "minecraft:always_true",
+ LinearPos => "minecraft:linear_pos",
+ AxisAlignedLinearPos => "minecraft:axis_aligned_linear_pos",
+}
+}
+
+registry! {
+enum PositionSourceKind {
+ Block => "minecraft:block",
+ Entity => "minecraft:entity",
+}
+}
+
+registry! {
+enum Potion {
+ Water => "minecraft:water",
+ Mundane => "minecraft:mundane",
+ Thick => "minecraft:thick",
+ Awkward => "minecraft:awkward",
+ NightVision => "minecraft:night_vision",
+ LongNightVision => "minecraft:long_night_vision",
+ Invisibility => "minecraft:invisibility",
+ LongInvisibility => "minecraft:long_invisibility",
+ Leaping => "minecraft:leaping",
+ LongLeaping => "minecraft:long_leaping",
+ StrongLeaping => "minecraft:strong_leaping",
+ FireResistance => "minecraft:fire_resistance",
+ LongFireResistance => "minecraft:long_fire_resistance",
+ Swiftness => "minecraft:swiftness",
+ LongSwiftness => "minecraft:long_swiftness",
+ StrongSwiftness => "minecraft:strong_swiftness",
+ Slowness => "minecraft:slowness",
+ LongSlowness => "minecraft:long_slowness",
+ StrongSlowness => "minecraft:strong_slowness",
+ TurtleMaster => "minecraft:turtle_master",
+ LongTurtleMaster => "minecraft:long_turtle_master",
+ StrongTurtleMaster => "minecraft:strong_turtle_master",
+ WaterBreathing => "minecraft:water_breathing",
+ LongWaterBreathing => "minecraft:long_water_breathing",
+ Healing => "minecraft:healing",
+ StrongHealing => "minecraft:strong_healing",
+ Harming => "minecraft:harming",
+ StrongHarming => "minecraft:strong_harming",
+ Poison => "minecraft:poison",
+ LongPoison => "minecraft:long_poison",
+ StrongPoison => "minecraft:strong_poison",
+ Regeneration => "minecraft:regeneration",
+ LongRegeneration => "minecraft:long_regeneration",
+ StrongRegeneration => "minecraft:strong_regeneration",
+ Strength => "minecraft:strength",
+ LongStrength => "minecraft:long_strength",
+ StrongStrength => "minecraft:strong_strength",
+ Weakness => "minecraft:weakness",
+ LongWeakness => "minecraft:long_weakness",
+ Luck => "minecraft:luck",
+ SlowFalling => "minecraft:slow_falling",
+ LongSlowFalling => "minecraft:long_slow_falling",
+ WindCharged => "minecraft:wind_charged",
+ Weaving => "minecraft:weaving",
+ Oozing => "minecraft:oozing",
+ Infested => "minecraft:infested",
+}
+}
+
+registry! {
+enum RecipeSerializer {
+ CraftingShaped => "minecraft:crafting_shaped",
+ CraftingShapeless => "minecraft:crafting_shapeless",
+ CraftingSpecialArmordye => "minecraft:crafting_special_armordye",
+ CraftingSpecialBookcloning => "minecraft:crafting_special_bookcloning",
+ CraftingSpecialMapcloning => "minecraft:crafting_special_mapcloning",
+ CraftingSpecialMapextending => "minecraft:crafting_special_mapextending",
+ CraftingSpecialFireworkRocket => "minecraft:crafting_special_firework_rocket",
+ CraftingSpecialFireworkStar => "minecraft:crafting_special_firework_star",
+ CraftingSpecialFireworkStarFade => "minecraft:crafting_special_firework_star_fade",
+ CraftingSpecialTippedarrow => "minecraft:crafting_special_tippedarrow",
+ CraftingSpecialBannerduplicate => "minecraft:crafting_special_bannerduplicate",
+ CraftingSpecialShielddecoration => "minecraft:crafting_special_shielddecoration",
+ CraftingTransmute => "minecraft:crafting_transmute",
+ CraftingSpecialRepairitem => "minecraft:crafting_special_repairitem",
+ Smelting => "minecraft:smelting",
+ Blasting => "minecraft:blasting",
+ Smoking => "minecraft:smoking",
+ CampfireCooking => "minecraft:campfire_cooking",
+ Stonecutting => "minecraft:stonecutting",
+ SmithingTransform => "minecraft:smithing_transform",
+ SmithingTrim => "minecraft:smithing_trim",
+ CraftingDecoratedPot => "minecraft:crafting_decorated_pot",
+}
+}
+
+registry! {
+enum RecipeKind {
+ Crafting => "minecraft:crafting",
+ Smelting => "minecraft:smelting",
+ Blasting => "minecraft:blasting",
+ Smoking => "minecraft:smoking",
+ CampfireCooking => "minecraft:campfire_cooking",
+ Stonecutting => "minecraft:stonecutting",
+ Smithing => "minecraft:smithing",
+}
+}
+
+registry! {
+enum RuleTest {
+ AlwaysTrue => "minecraft:always_true",
+ BlockMatch => "minecraft:block_match",
+ BlockstateMatch => "minecraft:blockstate_match",
+ TagMatch => "minecraft:tag_match",
+ RandomBlockMatch => "minecraft:random_block_match",
+ RandomBlockstateMatch => "minecraft:random_blockstate_match",
+}
+}
+
+registry! {
+enum SensorKind {
+ Dummy => "minecraft:dummy",
+ NearestItems => "minecraft:nearest_items",
+ NearestLivingEntities => "minecraft:nearest_living_entities",
+ NearestPlayers => "minecraft:nearest_players",
+ NearestBed => "minecraft:nearest_bed",
+ HurtBy => "minecraft:hurt_by",
+ VillagerHostiles => "minecraft:villager_hostiles",
+ VillagerBabies => "minecraft:villager_babies",
+ SecondaryPois => "minecraft:secondary_pois",
+ GolemDetected => "minecraft:golem_detected",
+ ArmadilloScareDetected => "minecraft:armadillo_scare_detected",
+ PiglinSpecificSensor => "minecraft:piglin_specific_sensor",
+ PiglinBruteSpecificSensor => "minecraft:piglin_brute_specific_sensor",
+ HoglinSpecificSensor => "minecraft:hoglin_specific_sensor",
+ NearestAdult => "minecraft:nearest_adult",
+ NearestAdultAnyType => "minecraft:nearest_adult_any_type",
+ AxolotlAttackables => "minecraft:axolotl_attackables",
+ FoodTemptations => "minecraft:food_temptations",
+ FrogTemptations => "minecraft:frog_temptations",
+ NautilusTemptations => "minecraft:nautilus_temptations",
+ FrogAttackables => "minecraft:frog_attackables",
+ IsInWater => "minecraft:is_in_water",
+ WardenEntitySensor => "minecraft:warden_entity_sensor",
+ BreezeAttackEntitySensor => "minecraft:breeze_attack_entity_sensor",
+}
+}
+
+registry! {
+/// A known type of sound in Minecraft.
+///
+/// If you need to support custom sounds from resource packs, you should use
+/// `azalea_registry::Holder<SoundEvent, azalea_core::sound::CustomSound>` instead.
+enum SoundEvent {
+ EntityAllayAmbientWithItem => "minecraft:entity.allay.ambient_with_item",
+ EntityAllayAmbientWithoutItem => "minecraft:entity.allay.ambient_without_item",
+ EntityAllayDeath => "minecraft:entity.allay.death",
+ EntityAllayHurt => "minecraft:entity.allay.hurt",
+ EntityAllayItemGiven => "minecraft:entity.allay.item_given",
+ EntityAllayItemTaken => "minecraft:entity.allay.item_taken",
+ EntityAllayItemThrown => "minecraft:entity.allay.item_thrown",
+ AmbientCave => "minecraft:ambient.cave",
+ AmbientBasaltDeltasAdditions => "minecraft:ambient.basalt_deltas.additions",
+ AmbientBasaltDeltasLoop => "minecraft:ambient.basalt_deltas.loop",
+ AmbientBasaltDeltasMood => "minecraft:ambient.basalt_deltas.mood",
+ AmbientCrimsonForestAdditions => "minecraft:ambient.crimson_forest.additions",
+ AmbientCrimsonForestLoop => "minecraft:ambient.crimson_forest.loop",
+ AmbientCrimsonForestMood => "minecraft:ambient.crimson_forest.mood",
+ AmbientNetherWastesAdditions => "minecraft:ambient.nether_wastes.additions",
+ AmbientNetherWastesLoop => "minecraft:ambient.nether_wastes.loop",
+ AmbientNetherWastesMood => "minecraft:ambient.nether_wastes.mood",
+ AmbientSoulSandValleyAdditions => "minecraft:ambient.soul_sand_valley.additions",
+ AmbientSoulSandValleyLoop => "minecraft:ambient.soul_sand_valley.loop",
+ AmbientSoulSandValleyMood => "minecraft:ambient.soul_sand_valley.mood",
+ AmbientWarpedForestAdditions => "minecraft:ambient.warped_forest.additions",
+ AmbientWarpedForestLoop => "minecraft:ambient.warped_forest.loop",
+ AmbientWarpedForestMood => "minecraft:ambient.warped_forest.mood",
+ AmbientUnderwaterEnter => "minecraft:ambient.underwater.enter",
+ AmbientUnderwaterExit => "minecraft:ambient.underwater.exit",
+ AmbientUnderwaterLoop => "minecraft:ambient.underwater.loop",
+ AmbientUnderwaterLoopAdditions => "minecraft:ambient.underwater.loop.additions",
+ AmbientUnderwaterLoopAdditionsRare => "minecraft:ambient.underwater.loop.additions.rare",
+ AmbientUnderwaterLoopAdditionsUltraRare => "minecraft:ambient.underwater.loop.additions.ultra_rare",
+ BlockAmethystBlockBreak => "minecraft:block.amethyst_block.break",
+ BlockAmethystBlockChime => "minecraft:block.amethyst_block.chime",
+ BlockAmethystBlockFall => "minecraft:block.amethyst_block.fall",
+ BlockAmethystBlockHit => "minecraft:block.amethyst_block.hit",
+ BlockAmethystBlockPlace => "minecraft:block.amethyst_block.place",
+ BlockAmethystBlockResonate => "minecraft:block.amethyst_block.resonate",
+ BlockAmethystBlockStep => "minecraft:block.amethyst_block.step",
+ BlockAmethystClusterBreak => "minecraft:block.amethyst_cluster.break",
+ BlockAmethystClusterFall => "minecraft:block.amethyst_cluster.fall",
+ BlockAmethystClusterHit => "minecraft:block.amethyst_cluster.hit",
+ BlockAmethystClusterPlace => "minecraft:block.amethyst_cluster.place",
+ BlockAmethystClusterStep => "minecraft:block.amethyst_cluster.step",
+ BlockAncientDebrisBreak => "minecraft:block.ancient_debris.break",
+ BlockAncientDebrisStep => "minecraft:block.ancient_debris.step",
+ BlockAncientDebrisPlace => "minecraft:block.ancient_debris.place",
+ BlockAncientDebrisHit => "minecraft:block.ancient_debris.hit",
+ BlockAncientDebrisFall => "minecraft:block.ancient_debris.fall",
+ BlockAnvilBreak => "minecraft:block.anvil.break",
+ BlockAnvilDestroy => "minecraft:block.anvil.destroy",
+ BlockAnvilFall => "minecraft:block.anvil.fall",
+ BlockAnvilHit => "minecraft:block.anvil.hit",
+ BlockAnvilLand => "minecraft:block.anvil.land",
+ BlockAnvilPlace => "minecraft:block.anvil.place",
+ BlockAnvilStep => "minecraft:block.anvil.step",
+ BlockAnvilUse => "minecraft:block.anvil.use",
+ EntityArmadilloEat => "minecraft:entity.armadillo.eat",
+ EntityArmadilloHurt => "minecraft:entity.armadillo.hurt",
+ EntityArmadilloHurtReduced => "minecraft:entity.armadillo.hurt_reduced",
+ EntityArmadilloAmbient => "minecraft:entity.armadillo.ambient",
+ EntityArmadilloStep => "minecraft:entity.armadillo.step",
+ EntityArmadilloDeath => "minecraft:entity.armadillo.death",
+ EntityArmadilloRoll => "minecraft:entity.armadillo.roll",
+ EntityArmadilloLand => "minecraft:entity.armadillo.land",
+ EntityArmadilloScuteDrop => "minecraft:entity.armadillo.scute_drop",
+ EntityArmadilloUnrollFinish => "minecraft:entity.armadillo.unroll_finish",
+ EntityArmadilloPeek => "minecraft:entity.armadillo.peek",
+ EntityArmadilloUnrollStart => "minecraft:entity.armadillo.unroll_start",
+ EntityArmadilloBrush => "minecraft:entity.armadillo.brush",
+ ItemArmorEquipChain => "minecraft:item.armor.equip_chain",
+ ItemArmorEquipDiamond => "minecraft:item.armor.equip_diamond",
+ ItemArmorEquipElytra => "minecraft:item.armor.equip_elytra",
+ ItemArmorEquipGeneric => "minecraft:item.armor.equip_generic",
+ ItemArmorEquipGold => "minecraft:item.armor.equip_gold",
+ ItemArmorEquipIron => "minecraft:item.armor.equip_iron",
+ ItemArmorEquipLeather => "minecraft:item.armor.equip_leather",
+ ItemArmorEquipCopper => "minecraft:item.armor.equip_copper",
+ ItemArmorEquipNetherite => "minecraft:item.armor.equip_netherite",
+ ItemArmorEquipTurtle => "minecraft:item.armor.equip_turtle",
+ ItemArmorEquipWolf => "minecraft:item.armor.equip_wolf",
+ ItemArmorUnequipWolf => "minecraft:item.armor.unequip_wolf",
+ ItemArmorEquipNautilus => "minecraft:item.armor.equip_nautilus",
+ ItemArmorUnequipNautilus => "minecraft:item.armor.unequip_nautilus",
+ EntityArmorStandBreak => "minecraft:entity.armor_stand.break",
+ EntityArmorStandFall => "minecraft:entity.armor_stand.fall",
+ EntityArmorStandHit => "minecraft:entity.armor_stand.hit",
+ EntityArmorStandPlace => "minecraft:entity.armor_stand.place",
+ EntityArrowHit => "minecraft:entity.arrow.hit",
+ EntityArrowHitPlayer => "minecraft:entity.arrow.hit_player",
+ EntityArrowShoot => "minecraft:entity.arrow.shoot",
+ ItemAxeStrip => "minecraft:item.axe.strip",
+ ItemAxeScrape => "minecraft:item.axe.scrape",
+ ItemAxeWaxOff => "minecraft:item.axe.wax_off",
+ EntityAxolotlAttack => "minecraft:entity.axolotl.attack",
+ EntityAxolotlDeath => "minecraft:entity.axolotl.death",
+ EntityAxolotlHurt => "minecraft:entity.axolotl.hurt",
+ EntityAxolotlIdleAir => "minecraft:entity.axolotl.idle_air",
+ EntityAxolotlIdleWater => "minecraft:entity.axolotl.idle_water",
+ EntityAxolotlSplash => "minecraft:entity.axolotl.splash",
+ EntityAxolotlSwim => "minecraft:entity.axolotl.swim",
+ BlockAzaleaBreak => "minecraft:block.azalea.break",
+ BlockAzaleaFall => "minecraft:block.azalea.fall",
+ BlockAzaleaHit => "minecraft:block.azalea.hit",
+ BlockAzaleaPlace => "minecraft:block.azalea.place",
+ BlockAzaleaStep => "minecraft:block.azalea.step",
+ BlockAzaleaLeavesBreak => "minecraft:block.azalea_leaves.break",
+ BlockAzaleaLeavesFall => "minecraft:block.azalea_leaves.fall",
+ BlockAzaleaLeavesHit => "minecraft:block.azalea_leaves.hit",
+ BlockAzaleaLeavesPlace => "minecraft:block.azalea_leaves.place",
+ BlockAzaleaLeavesStep => "minecraft:block.azalea_leaves.step",
+ EntityBabyNautilusAmbient => "minecraft:entity.baby_nautilus.ambient",
+ EntityBabyNautilusAmbientLand => "minecraft:entity.baby_nautilus.ambient_land",
+ EntityBabyNautilusDeath => "minecraft:entity.baby_nautilus.death",
+ EntityBabyNautilusDeathLand => "minecraft:entity.baby_nautilus.death_land",
+ EntityBabyNautilusEat => "minecraft:entity.baby_nautilus.eat",
+ EntityBabyNautilusHurt => "minecraft:entity.baby_nautilus.hurt",
+ EntityBabyNautilusHurtLand => "minecraft:entity.baby_nautilus.hurt_land",
+ EntityNautilusRiding => "minecraft:entity.nautilus.riding",
+ EntityBabyNautilusSwim => "minecraft:entity.baby_nautilus.swim",
+ BlockBambooBreak => "minecraft:block.bamboo.break",
+ BlockBambooFall => "minecraft:block.bamboo.fall",
+ BlockBambooHit => "minecraft:block.bamboo.hit",
+ BlockBambooPlace => "minecraft:block.bamboo.place",
+ BlockBambooStep => "minecraft:block.bamboo.step",
+ BlockBambooSaplingBreak => "minecraft:block.bamboo_sapling.break",
+ BlockBambooSaplingHit => "minecraft:block.bamboo_sapling.hit",
+ BlockBambooSaplingPlace => "minecraft:block.bamboo_sapling.place",
+ BlockBambooWoodBreak => "minecraft:block.bamboo_wood.break",
+ BlockBambooWoodFall => "minecraft:block.bamboo_wood.fall",
+ BlockBambooWoodHit => "minecraft:block.bamboo_wood.hit",
+ BlockBambooWoodPlace => "minecraft:block.bamboo_wood.place",
+ BlockBambooWoodStep => "minecraft:block.bamboo_wood.step",
+ BlockBambooWoodDoorClose => "minecraft:block.bamboo_wood_door.close",
+ BlockBambooWoodDoorOpen => "minecraft:block.bamboo_wood_door.open",
+ BlockBambooWoodTrapdoorClose => "minecraft:block.bamboo_wood_trapdoor.close",
+ BlockBambooWoodTrapdoorOpen => "minecraft:block.bamboo_wood_trapdoor.open",
+ BlockBambooWoodButtonClickOff => "minecraft:block.bamboo_wood_button.click_off",
+ BlockBambooWoodButtonClickOn => "minecraft:block.bamboo_wood_button.click_on",
+ BlockBambooWoodPressurePlateClickOff => "minecraft:block.bamboo_wood_pressure_plate.click_off",
+ BlockBambooWoodPressurePlateClickOn => "minecraft:block.bamboo_wood_pressure_plate.click_on",
+ BlockBambooWoodFenceGateClose => "minecraft:block.bamboo_wood_fence_gate.close",
+ BlockBambooWoodFenceGateOpen => "minecraft:block.bamboo_wood_fence_gate.open",
+ BlockBarrelClose => "minecraft:block.barrel.close",
+ BlockBarrelOpen => "minecraft:block.barrel.open",
+ BlockBasaltBreak => "minecraft:block.basalt.break",
+ BlockBasaltStep => "minecraft:block.basalt.step",
+ BlockBasaltPlace => "minecraft:block.basalt.place",
+ BlockBasaltHit => "minecraft:block.basalt.hit",
+ BlockBasaltFall => "minecraft:block.basalt.fall",
+ EntityBatAmbient => "minecraft:entity.bat.ambient",
+ EntityBatDeath => "minecraft:entity.bat.death",
+ EntityBatHurt => "minecraft:entity.bat.hurt",
+ EntityBatLoop => "minecraft:entity.bat.loop",
+ EntityBatTakeoff => "minecraft:entity.bat.takeoff",
+ BlockBeaconActivate => "minecraft:block.beacon.activate",
+ BlockBeaconAmbient => "minecraft:block.beacon.ambient",
+ BlockBeaconDeactivate => "minecraft:block.beacon.deactivate",
+ BlockBeaconPowerSelect => "minecraft:block.beacon.power_select",
+ EntityBeeDeath => "minecraft:entity.bee.death",
+ EntityBeeHurt => "minecraft:entity.bee.hurt",
+ EntityBeeLoopAggressive => "minecraft:entity.bee.loop_aggressive",
+ EntityBeeLoop => "minecraft:entity.bee.loop",
+ EntityBeeSting => "minecraft:entity.bee.sting",
+ EntityBeePollinate => "minecraft:entity.bee.pollinate",
+ BlockBeehiveDrip => "minecraft:block.beehive.drip",
+ BlockBeehiveEnter => "minecraft:block.beehive.enter",
+ BlockBeehiveExit => "minecraft:block.beehive.exit",
+ BlockBeehiveShear => "minecraft:block.beehive.shear",
+ BlockBeehiveWork => "minecraft:block.beehive.work",
+ BlockBellUse => "minecraft:block.bell.use",
+ BlockBellResonate => "minecraft:block.bell.resonate",
+ BlockBigDripleafBreak => "minecraft:block.big_dripleaf.break",
+ BlockBigDripleafFall => "minecraft:block.big_dripleaf.fall",
+ BlockBigDripleafHit => "minecraft:block.big_dripleaf.hit",
+ BlockBigDripleafPlace => "minecraft:block.big_dripleaf.place",
+ BlockBigDripleafStep => "minecraft:block.big_dripleaf.step",
+ EntityBlazeAmbient => "minecraft:entity.blaze.ambient",
+ EntityBlazeBurn => "minecraft:entity.blaze.burn",
+ EntityBlazeDeath => "minecraft:entity.blaze.death",
+ EntityBlazeHurt => "minecraft:entity.blaze.hurt",
+ EntityBlazeShoot => "minecraft:entity.blaze.shoot",
+ EntityBoatPaddleLand => "minecraft:entity.boat.paddle_land",
+ EntityBoatPaddleWater => "minecraft:entity.boat.paddle_water",
+ EntityBoggedAmbient => "minecraft:entity.bogged.ambient",
+ EntityBoggedDeath => "minecraft:entity.bogged.death",
+ EntityBoggedHurt => "minecraft:entity.bogged.hurt",
+ EntityBoggedShear => "minecraft:entity.bogged.shear",
+ EntityBoggedStep => "minecraft:entity.bogged.step",
+ BlockBoneBlockBreak => "minecraft:block.bone_block.break",
+ BlockBoneBlockFall => "minecraft:block.bone_block.fall",
+ BlockBoneBlockHit => "minecraft:block.bone_block.hit",
+ BlockBoneBlockPlace => "minecraft:block.bone_block.place",
+ BlockBoneBlockStep => "minecraft:block.bone_block.step",
+ ItemBoneMealUse => "minecraft:item.bone_meal.use",
+ ItemBookPageTurn => "minecraft:item.book.page_turn",
+ ItemBookPut => "minecraft:item.book.put",
+ BlockBlastfurnaceFireCrackle => "minecraft:block.blastfurnace.fire_crackle",
+ ItemBottleEmpty => "minecraft:item.bottle.empty",
+ ItemBottleFill => "minecraft:item.bottle.fill",
+ ItemBottleFillDragonbreath => "minecraft:item.bottle.fill_dragonbreath",
+ EntityBreezeCharge => "minecraft:entity.breeze.charge",
+ EntityBreezeDeflect => "minecraft:entity.breeze.deflect",
+ EntityBreezeInhale => "minecraft:entity.breeze.inhale",
+ EntityBreezeIdleGround => "minecraft:entity.breeze.idle_ground",
+ EntityBreezeIdleAir => "minecraft:entity.breeze.idle_air",
+ EntityBreezeShoot => "minecraft:entity.breeze.shoot",
+ EntityBreezeJump => "minecraft:entity.breeze.jump",
+ EntityBreezeLand => "minecraft:entity.breeze.land",
+ EntityBreezeSlide => "minecraft:entity.breeze.slide",
+ EntityBreezeDeath => "minecraft:entity.breeze.death",
+ EntityBreezeHurt => "minecraft:entity.breeze.hurt",
+ EntityBreezeWhirl => "minecraft:entity.breeze.whirl",
+ EntityBreezeWindBurst => "minecraft:entity.breeze.wind_burst",
+ BlockBrewingStandBrew => "minecraft:block.brewing_stand.brew",
+ ItemBrushBrushingGeneric => "minecraft:item.brush.brushing.generic",
+ ItemBrushBrushingSand => "minecraft:item.brush.brushing.sand",
+ ItemBrushBrushingGravel => "minecraft:item.brush.brushing.gravel",
+ ItemBrushBrushingSandComplete => "minecraft:item.brush.brushing.sand.complete",
+ ItemBrushBrushingGravelComplete => "minecraft:item.brush.brushing.gravel.complete",
+ BlockBubbleColumnBubblePop => "minecraft:block.bubble_column.bubble_pop",
+ BlockBubbleColumnUpwardsAmbient => "minecraft:block.bubble_column.upwards_ambient",
+ BlockBubbleColumnUpwardsInside => "minecraft:block.bubble_column.upwards_inside",
+ BlockBubbleColumnWhirlpoolAmbient => "minecraft:block.bubble_column.whirlpool_ambient",
+ BlockBubbleColumnWhirlpoolInside => "minecraft:block.bubble_column.whirlpool_inside",
+ UiHudBubblePop => "minecraft:ui.hud.bubble_pop",
+ ItemBucketEmpty => "minecraft:item.bucket.empty",
+ ItemBucketEmptyAxolotl => "minecraft:item.bucket.empty_axolotl",
+ ItemBucketEmptyFish => "minecraft:item.bucket.empty_fish",
+ ItemBucketEmptyLava => "minecraft:item.bucket.empty_lava",
+ ItemBucketEmptyPowderSnow => "minecraft:item.bucket.empty_powder_snow",
+ ItemBucketEmptyTadpole => "minecraft:item.bucket.empty_tadpole",
+ ItemBucketFill => "minecraft:item.bucket.fill",
+ ItemBucketFillAxolotl => "minecraft:item.bucket.fill_axolotl",
+ ItemBucketFillFish => "minecraft:item.bucket.fill_fish",
+ ItemBucketFillLava => "minecraft:item.bucket.fill_lava",
+ ItemBucketFillPowderSnow => "minecraft:item.bucket.fill_powder_snow",
+ ItemBucketFillTadpole => "minecraft:item.bucket.fill_tadpole",
+ ItemBundleDropContents => "minecraft:item.bundle.drop_contents",
+ ItemBundleInsert => "minecraft:item.bundle.insert",
+ ItemBundleInsertFail => "minecraft:item.bundle.insert_fail",
+ ItemBundleRemoveOne => "minecraft:item.bundle.remove_one",
+ BlockCactusFlowerBreak => "minecraft:block.cactus_flower.break",
+ BlockCactusFlowerPlace => "minecraft:block.cactus_flower.place",
+ BlockCakeAddCandle => "minecraft:block.cake.add_candle",
+ BlockCalciteBreak => "minecraft:block.calcite.break",
+ BlockCalciteStep => "minecraft:block.calcite.step",
+ BlockCalcitePlace => "minecraft:block.calcite.place",
+ BlockCalciteHit => "minecraft:block.calcite.hit",
+ BlockCalciteFall => "minecraft:block.calcite.fall",
+ EntityCamelHuskAmbient => "minecraft:entity.camel_husk.ambient",
+ EntityCamelHuskDash => "minecraft:entity.camel_husk.dash",
+ EntityCamelHuskDashReady => "minecraft:entity.camel_husk.dash_ready",
+ EntityCamelHuskDeath => "minecraft:entity.camel_husk.death",
+ EntityCamelHuskEat => "minecraft:entity.camel_husk.eat",
+ EntityCamelHuskHurt => "minecraft:entity.camel_husk.hurt",
+ EntityCamelHuskSaddle => "minecraft:entity.camel_husk.saddle",
+ EntityCamelHuskSit => "minecraft:entity.camel_husk.sit",
+ EntityCamelHuskStand => "minecraft:entity.camel_husk.stand",
+ EntityCamelHuskStep => "minecraft:entity.camel_husk.step",
+ EntityCamelHuskStepSand => "minecraft:entity.camel_husk.step_sand",
+ EntityCamelAmbient => "minecraft:entity.camel.ambient",
+ EntityCamelDash => "minecraft:entity.camel.dash",
+ EntityCamelDashReady => "minecraft:entity.camel.dash_ready",
+ EntityCamelDeath => "minecraft:entity.camel.death",
+ EntityCamelEat => "minecraft:entity.camel.eat",
+ EntityCamelHurt => "minecraft:entity.camel.hurt",
+ EntityCamelSaddle => "minecraft:entity.camel.saddle",
+ EntityCamelSit => "minecraft:entity.camel.sit",
+ EntityCamelStand => "minecraft:entity.camel.stand",
+ EntityCamelStep => "minecraft:entity.camel.step",
+ EntityCamelStepSand => "minecraft:entity.camel.step_sand",
+ BlockCampfireCrackle => "minecraft:block.campfire.crackle",
+ BlockCandleAmbient => "minecraft:block.candle.ambient",
+ BlockCandleBreak => "minecraft:block.candle.break",
+ BlockCandleExtinguish => "minecraft:block.candle.extinguish",
+ BlockCandleFall => "minecraft:block.candle.fall",
+ BlockCandleHit => "minecraft:block.candle.hit",
+ BlockCandlePlace => "minecraft:block.candle.place",
+ BlockCandleStep => "minecraft:block.candle.step",
+ EntityCatAmbient => "minecraft:entity.cat.ambient",
+ EntityCatStrayAmbient => "minecraft:entity.cat.stray_ambient",
+ EntityCatDeath => "minecraft:entity.cat.death",
+ EntityCatEat => "minecraft:entity.cat.eat",
+ EntityCatHiss => "minecraft:entity.cat.hiss",
+ EntityCatBegForFood => "minecraft:entity.cat.beg_for_food",
+ EntityCatHurt => "minecraft:entity.cat.hurt",
+ EntityCatPurr => "minecraft:entity.cat.purr",
+ EntityCatPurreow => "minecraft:entity.cat.purreow",
+ BlockCaveVinesBreak => "minecraft:block.cave_vines.break",
+ BlockCaveVinesFall => "minecraft:block.cave_vines.fall",
+ BlockCaveVinesHit => "minecraft:block.cave_vines.hit",
+ BlockCaveVinesPlace => "minecraft:block.cave_vines.place",
+ BlockCaveVinesStep => "minecraft:block.cave_vines.step",
+ BlockCaveVinesPickBerries => "minecraft:block.cave_vines.pick_berries",
+ BlockChainBreak => "minecraft:block.chain.break",
+ BlockChainFall => "minecraft:block.chain.fall",
+ BlockChainHit => "minecraft:block.chain.hit",
+ BlockChainPlace => "minecraft:block.chain.place",
+ BlockChainStep => "minecraft:block.chain.step",
+ BlockCherryWoodBreak => "minecraft:block.cherry_wood.break",
+ BlockCherryWoodFall => "minecraft:block.cherry_wood.fall",
+ BlockCherryWoodHit => "minecraft:block.cherry_wood.hit",
+ BlockCherryWoodPlace => "minecraft:block.cherry_wood.place",
+ BlockCherryWoodStep => "minecraft:block.cherry_wood.step",
+ BlockCherrySaplingBreak => "minecraft:block.cherry_sapling.break",
+ BlockCherrySaplingFall => "minecraft:block.cherry_sapling.fall",
+ BlockCherrySaplingHit => "minecraft:block.cherry_sapling.hit",
+ BlockCherrySaplingPlace => "minecraft:block.cherry_sapling.place",
+ BlockCherrySaplingStep => "minecraft:block.cherry_sapling.step",
+ BlockCherryLeavesBreak => "minecraft:block.cherry_leaves.break",
+ BlockCherryLeavesFall => "minecraft:block.cherry_leaves.fall",
+ BlockCherryLeavesHit => "minecraft:block.cherry_leaves.hit",
+ BlockCherryLeavesPlace => "minecraft:block.cherry_leaves.place",
+ BlockCherryLeavesStep => "minecraft:block.cherry_leaves.step",
+ BlockCherryWoodHangingSignStep => "minecraft:block.cherry_wood_hanging_sign.step",
+ BlockCherryWoodHangingSignBreak => "minecraft:block.cherry_wood_hanging_sign.break",
+ BlockCherryWoodHangingSignFall => "minecraft:block.cherry_wood_hanging_sign.fall",
+ BlockCherryWoodHangingSignHit => "minecraft:block.cherry_wood_hanging_sign.hit",
+ BlockCherryWoodHangingSignPlace => "minecraft:block.cherry_wood_hanging_sign.place",
+ BlockCherryWoodDoorClose => "minecraft:block.cherry_wood_door.close",
+ BlockCherryWoodDoorOpen => "minecraft:block.cherry_wood_door.open",
+ BlockCherryWoodTrapdoorClose => "minecraft:block.cherry_wood_trapdoor.close",
+ BlockCherryWoodTrapdoorOpen => "minecraft:block.cherry_wood_trapdoor.open",
+ BlockCherryWoodButtonClickOff => "minecraft:block.cherry_wood_button.click_off",
+ BlockCherryWoodButtonClickOn => "minecraft:block.cherry_wood_button.click_on",
+ BlockCherryWoodPressurePlateClickOff => "minecraft:block.cherry_wood_pressure_plate.click_off",
+ BlockCherryWoodPressurePlateClickOn => "minecraft:block.cherry_wood_pressure_plate.click_on",
+ BlockCherryWoodFenceGateClose => "minecraft:block.cherry_wood_fence_gate.close",
+ BlockCherryWoodFenceGateOpen => "minecraft:block.cherry_wood_fence_gate.open",
+ BlockChestClose => "minecraft:block.chest.close",
+ BlockChestLocked => "minecraft:block.chest.locked",
+ BlockChestOpen => "minecraft:block.chest.open",
+ EntityChickenAmbient => "minecraft:entity.chicken.ambient",
+ EntityChickenDeath => "minecraft:entity.chicken.death",
+ EntityChickenEgg => "minecraft:entity.chicken.egg",
+ EntityChickenHurt => "minecraft:entity.chicken.hurt",
+ EntityChickenStep => "minecraft:entity.chicken.step",
+ BlockChiseledBookshelfBreak => "minecraft:block.chiseled_bookshelf.break",
+ BlockChiseledBookshelfFall => "minecraft:block.chiseled_bookshelf.fall",
+ BlockChiseledBookshelfHit => "minecraft:block.chiseled_bookshelf.hit",
+ BlockChiseledBookshelfInsert => "minecraft:block.chiseled_bookshelf.insert",
+ BlockChiseledBookshelfInsertEnchanted => "minecraft:block.chiseled_bookshelf.insert.enchanted",
+ BlockChiseledBookshelfStep => "minecraft:block.chiseled_bookshelf.step",
+ BlockChiseledBookshelfPickup => "minecraft:block.chiseled_bookshelf.pickup",
+ BlockChiseledBookshelfPickupEnchanted => "minecraft:block.chiseled_bookshelf.pickup.enchanted",
+ BlockChiseledBookshelfPlace => "minecraft:block.chiseled_bookshelf.place",
+ BlockChorusFlowerDeath => "minecraft:block.chorus_flower.death",
+ BlockChorusFlowerGrow => "minecraft:block.chorus_flower.grow",
+ ItemChorusFruitTeleport => "minecraft:item.chorus_fruit.teleport",
+ BlockCobwebBreak => "minecraft:block.cobweb.break",
+ BlockCobwebStep => "minecraft:block.cobweb.step",
+ BlockCobwebPlace => "minecraft:block.cobweb.place",
+ BlockCobwebHit => "minecraft:block.cobweb.hit",
+ BlockCobwebFall => "minecraft:block.cobweb.fall",
+ EntityCodAmbient => "minecraft:entity.cod.ambient",
+ EntityCodDeath => "minecraft:entity.cod.death",
+ EntityCodFlop => "minecraft:entity.cod.flop",
+ EntityCodHurt => "minecraft:entity.cod.hurt",
+ BlockComparatorClick => "minecraft:block.comparator.click",
+ BlockComposterEmpty => "minecraft:block.composter.empty",
+ BlockComposterFill => "minecraft:block.composter.fill",
+ BlockComposterFillSuccess => "minecraft:block.composter.fill_success",
+ BlockComposterReady => "minecraft:block.composter.ready",
+ BlockConduitActivate => "minecraft:block.conduit.activate",
+ BlockConduitAmbient => "minecraft:block.conduit.ambient",
+ BlockConduitAmbientShort => "minecraft:block.conduit.ambient.short",
+ BlockConduitAttackTarget => "minecraft:block.conduit.attack.target",
+ BlockConduitDeactivate => "minecraft:block.conduit.deactivate",
+ BlockCopperBulbBreak => "minecraft:block.copper_bulb.break",
+ BlockCopperBulbStep => "minecraft:block.copper_bulb.step",
+ BlockCopperBulbPlace => "minecraft:block.copper_bulb.place",
+ BlockCopperBulbHit => "minecraft:block.copper_bulb.hit",
+ BlockCopperBulbFall => "minecraft:block.copper_bulb.fall",
+ BlockCopperBulbTurnOn => "minecraft:block.copper_bulb.turn_on",
+ BlockCopperBulbTurnOff => "minecraft:block.copper_bulb.turn_off",
+ BlockCopperBreak => "minecraft:block.copper.break",
+ BlockCopperStep => "minecraft:block.copper.step",
+ BlockCopperPlace => "minecraft:block.copper.place",
+ BlockCopperHit => "minecraft:block.copper.hit",
+ BlockCopperFall => "minecraft:block.copper.fall",
+ BlockCopperChestClose => "minecraft:block.copper_chest.close",
+ BlockCopperChestOpen => "minecraft:block.copper_chest.open",
+ BlockCopperChestWeatheredClose => "minecraft:block.copper_chest_weathered.close",
+ BlockCopperChestWeatheredOpen => "minecraft:block.copper_chest_weathered.open",
+ BlockCopperChestOxidizedClose => "minecraft:block.copper_chest_oxidized.close",
+ BlockCopperChestOxidizedOpen => "minecraft:block.copper_chest_oxidized.open",
+ BlockCopperDoorClose => "minecraft:block.copper_door.close",
+ BlockCopperDoorOpen => "minecraft:block.copper_door.open",
+ EntityCopperGolemStep => "minecraft:entity.copper_golem.step",
+ EntityCopperGolemHurt => "minecraft:entity.copper_golem.hurt",
+ EntityCopperGolemDeath => "minecraft:entity.copper_golem.death",
+ EntityCopperGolemWeatheredStep => "minecraft:entity.copper_golem_weathered.step",
+ EntityCopperGolemWeatheredHurt => "minecraft:entity.copper_golem_weathered.hurt",
+ EntityCopperGolemWeatheredDeath => "minecraft:entity.copper_golem_weathered.death",
+ EntityCopperGolemOxidizedStep => "minecraft:entity.copper_golem_oxidized.step",
+ EntityCopperGolemOxidizedHurt => "minecraft:entity.copper_golem_oxidized.hurt",
+ EntityCopperGolemOxidizedDeath => "minecraft:entity.copper_golem_oxidized.death",
+ EntityCopperGolemSpin => "minecraft:entity.copper_golem.spin",
+ EntityCopperGolemWeatheredSpin => "minecraft:entity.copper_golem_weathered.spin",
+ EntityCopperGolemOxidizedSpin => "minecraft:entity.copper_golem_oxidized.spin",
+ EntityCopperGolemNoItemGet => "minecraft:entity.copper_golem.no_item_get",
+ EntityCopperGolemNoItemNoGet => "minecraft:entity.copper_golem.no_item_no_get",
+ EntityCopperGolemItemDrop => "minecraft:entity.copper_golem.item_drop",
+ EntityCopperGolemItemNoDrop => "minecraft:entity.copper_golem.item_no_drop",
+ EntityCopperGolemBecomeStatue => "minecraft:entity.copper_golem_become_statue",
+ BlockCopperGolemStatueBreak => "minecraft:block.copper_golem_statue.break",
+ BlockCopperGolemStatuePlace => "minecraft:block.copper_golem_statue.place",
+ BlockCopperGolemStatueHit => "minecraft:block.copper_golem_statue.hit",
+ BlockCopperGolemStatueStep => "minecraft:block.copper_golem_statue.step",
+ BlockCopperGolemStatueFall => "minecraft:block.copper_golem_statue.fall",
+ EntityCopperGolemSpawn => "minecraft:entity.copper_golem.spawn",
+ EntityCopperGolemShear => "minecraft:entity.copper_golem.shear",
+ BlockCopperGrateBreak => "minecraft:block.copper_grate.break",
+ BlockCopperGrateStep => "minecraft:block.copper_grate.step",
+ BlockCopperGratePlace => "minecraft:block.copper_grate.place",
+ BlockCopperGrateHit => "minecraft:block.copper_grate.hit",
+ BlockCopperGrateFall => "minecraft:block.copper_grate.fall",
+ BlockCopperTrapdoorClose => "minecraft:block.copper_trapdoor.close",
+ BlockCopperTrapdoorOpen => "minecraft:block.copper_trapdoor.open",
+ BlockCoralBlockBreak => "minecraft:block.coral_block.break",
+ BlockCoralBlockFall => "minecraft:block.coral_block.fall",
+ BlockCoralBlockHit => "minecraft:block.coral_block.hit",
+ BlockCoralBlockPlace => "minecraft:block.coral_block.place",
+ BlockCoralBlockStep => "minecraft:block.coral_block.step",
+ EntityCowAmbient => "minecraft:entity.cow.ambient",
+ EntityCowDeath => "minecraft:entity.cow.death",
+ EntityCowHurt => "minecraft:entity.cow.hurt",
+ EntityCowMilk => "minecraft:entity.cow.milk",
+ EntityCowStep => "minecraft:entity.cow.step",
+ BlockCrafterCraft => "minecraft:block.crafter.craft",
+ BlockCrafterFail => "minecraft:block.crafter.fail",
+ EntityCreakingAmbient => "minecraft:entity.creaking.ambient",
+ EntityCreakingActivate => "minecraft:entity.creaking.activate",
+ EntityCreakingDeactivate => "minecraft:entity.creaking.deactivate",
+ EntityCreakingAttack => "minecraft:entity.creaking.attack",
+ EntityCreakingDeath => "minecraft:entity.creaking.death",
+ EntityCreakingStep => "minecraft:entity.creaking.step",
+ EntityCreakingFreeze => "minecraft:entity.creaking.freeze",
+ EntityCreakingUnfreeze => "minecraft:entity.creaking.unfreeze",
+ EntityCreakingSpawn => "minecraft:entity.creaking.spawn",
+ EntityCreakingSway => "minecraft:entity.creaking.sway",
+ EntityCreakingTwitch => "minecraft:entity.creaking.twitch",
+ BlockCreakingHeartBreak => "minecraft:block.creaking_heart.break",
+ BlockCreakingHeartFall => "minecraft:block.creaking_heart.fall",
+ BlockCreakingHeartHit => "minecraft:block.creaking_heart.hit",
+ BlockCreakingHeartHurt => "minecraft:block.creaking_heart.hurt",
+ BlockCreakingHeartPlace => "minecraft:block.creaking_heart.place",
+ BlockCreakingHeartStep => "minecraft:block.creaking_heart.step",
+ BlockCreakingHeartIdle => "minecraft:block.creaking_heart.idle",
+ BlockCreakingHeartSpawn => "minecraft:block.creaking_heart.spawn",
+ EntityCreeperDeath => "minecraft:entity.creeper.death",
+ EntityCreeperHurt => "minecraft:entity.creeper.hurt",
+ EntityCreeperPrimed => "minecraft:entity.creeper.primed",
+ BlockCropBreak => "minecraft:block.crop.break",
+ ItemCropPlant => "minecraft:item.crop.plant",
+ ItemCrossbowHit => "minecraft:item.crossbow.hit",
+ ItemCrossbowLoadingEnd => "minecraft:item.crossbow.loading_end",
+ ItemCrossbowLoadingMiddle => "minecraft:item.crossbow.loading_middle",
+ ItemCrossbowLoadingStart => "minecraft:item.crossbow.loading_start",
+ ItemCrossbowQuickCharge1 => "minecraft:item.crossbow.quick_charge_1",
+ ItemCrossbowQuickCharge2 => "minecraft:item.crossbow.quick_charge_2",
+ ItemCrossbowQuickCharge3 => "minecraft:item.crossbow.quick_charge_3",
+ ItemCrossbowShoot => "minecraft:item.crossbow.shoot",
+ BlockDeadbushIdle => "minecraft:block.deadbush.idle",
+ BlockDecoratedPotBreak => "minecraft:block.decorated_pot.break",
+ BlockDecoratedPotFall => "minecraft:block.decorated_pot.fall",
+ BlockDecoratedPotHit => "minecraft:block.decorated_pot.hit",
+ BlockDecoratedPotInsert => "minecraft:block.decorated_pot.insert",
+ BlockDecoratedPotInsertFail => "minecraft:block.decorated_pot.insert_fail",
+ BlockDecoratedPotStep => "minecraft:block.decorated_pot.step",
+ BlockDecoratedPotPlace => "minecraft:block.decorated_pot.place",
+ BlockDecoratedPotShatter => "minecraft:block.decorated_pot.shatter",
+ BlockDeepslateBricksBreak => "minecraft:block.deepslate_bricks.break",
+ BlockDeepslateBricksFall => "minecraft:block.deepslate_bricks.fall",
+ BlockDeepslateBricksHit => "minecraft:block.deepslate_bricks.hit",
+ BlockDeepslateBricksPlace => "minecraft:block.deepslate_bricks.place",
+ BlockDeepslateBricksStep => "minecraft:block.deepslate_bricks.step",
+ BlockDeepslateBreak => "minecraft:block.deepslate.break",
+ BlockDeepslateFall => "minecraft:block.deepslate.fall",
+ BlockDeepslateHit => "minecraft:block.deepslate.hit",
+ BlockDeepslatePlace => "minecraft:block.deepslate.place",
+ BlockDeepslateStep => "minecraft:block.deepslate.step",
+ BlockDeepslateTilesBreak => "minecraft:block.deepslate_tiles.break",
+ BlockDeepslateTilesFall => "minecraft:block.deepslate_tiles.fall",
+ BlockDeepslateTilesHit => "minecraft:block.deepslate_tiles.hit",
+ BlockDeepslateTilesPlace => "minecraft:block.deepslate_tiles.place",
+ BlockDeepslateTilesStep => "minecraft:block.deepslate_tiles.step",
+ BlockDispenserDispense => "minecraft:block.dispenser.dispense",
+ BlockDispenserFail => "minecraft:block.dispenser.fail",
+ BlockDispenserLaunch => "minecraft:block.dispenser.launch",
+ EntityDolphinAmbient => "minecraft:entity.dolphin.ambient",
+ EntityDolphinAmbientWater => "minecraft:entity.dolphin.ambient_water",
+ EntityDolphinAttack => "minecraft:entity.dolphin.attack",
+ EntityDolphinDeath => "minecraft:entity.dolphin.death",
+ EntityDolphinEat => "minecraft:entity.dolphin.eat",
+ EntityDolphinHurt => "minecraft:entity.dolphin.hurt",
+ EntityDolphinJump => "minecraft:entity.dolphin.jump",
+ EntityDolphinPlay => "minecraft:entity.dolphin.play",
+ EntityDolphinSplash => "minecraft:entity.dolphin.splash",
+ EntityDolphinSwim => "minecraft:entity.dolphin.swim",
+ EntityDonkeyAmbient => "minecraft:entity.donkey.ambient",
+ EntityDonkeyAngry => "minecraft:entity.donkey.angry",
+ EntityDonkeyChest => "minecraft:entity.donkey.chest",
+ EntityDonkeyDeath => "minecraft:entity.donkey.death",
+ EntityDonkeyEat => "minecraft:entity.donkey.eat",
+ EntityDonkeyHurt => "minecraft:entity.donkey.hurt",
+ EntityDonkeyJump => "minecraft:entity.donkey.jump",
+ BlockDriedGhastBreak => "minecraft:block.dried_ghast.break",
+ BlockDriedGhastStep => "minecraft:block.dried_ghast.step",
+ BlockDriedGhastFall => "minecraft:block.dried_ghast.fall",
+ BlockDriedGhastAmbient => "minecraft:block.dried_ghast.ambient",
+ BlockDriedGhastAmbientWater => "minecraft:block.dried_ghast.ambient_water",
+ BlockDriedGhastPlace => "minecraft:block.dried_ghast.place",
+ BlockDriedGhastPlaceInWater => "minecraft:block.dried_ghast.place_in_water",
+ BlockDriedGhastTransition => "minecraft:block.dried_ghast.transition",
+ BlockDripstoneBlockBreak => "minecraft:block.dripstone_block.break",
+ BlockDripstoneBlockStep => "minecraft:block.dripstone_block.step",
+ BlockDripstoneBlockPlace => "minecraft:block.dripstone_block.place",
+ BlockDripstoneBlockHit => "minecraft:block.dripstone_block.hit",
+ BlockDripstoneBlockFall => "minecraft:block.dripstone_block.fall",
+ BlockDryGrassAmbient => "minecraft:block.dry_grass.ambient",
+ BlockPointedDripstoneBreak => "minecraft:block.pointed_dripstone.break",
+ BlockPointedDripstoneStep => "minecraft:block.pointed_dripstone.step",
+ BlockPointedDripstonePlace => "minecraft:block.pointed_dripstone.place",
+ BlockPointedDripstoneHit => "minecraft:block.pointed_dripstone.hit",
+ BlockPointedDripstoneFall => "minecraft:block.pointed_dripstone.fall",
+ BlockPointedDripstoneLand => "minecraft:block.pointed_dripstone.land",
+ BlockPointedDripstoneDripLava => "minecraft:block.pointed_dripstone.drip_lava",
+ BlockPointedDripstoneDripWater => "minecraft:block.pointed_dripstone.drip_water",
+ BlockPointedDripstoneDripLavaIntoCauldron => "minecraft:block.pointed_dripstone.drip_lava_into_cauldron",
+ BlockPointedDripstoneDripWaterIntoCauldron => "minecraft:block.pointed_dripstone.drip_water_into_cauldron",
+ BlockBigDripleafTiltDown => "minecraft:block.big_dripleaf.tilt_down",
+ BlockBigDripleafTiltUp => "minecraft:block.big_dripleaf.tilt_up",
+ EntityDrownedAmbient => "minecraft:entity.drowned.ambient",
+ EntityDrownedAmbientWater => "minecraft:entity.drowned.ambient_water",
+ EntityDrownedDeath => "minecraft:entity.drowned.death",
+ EntityDrownedDeathWater => "minecraft:entity.drowned.death_water",
+ EntityDrownedHurt => "minecraft:entity.drowned.hurt",
+ EntityDrownedHurtWater => "minecraft:entity.drowned.hurt_water",
+ EntityDrownedShoot => "minecraft:entity.drowned.shoot",
+ EntityDrownedStep => "minecraft:entity.drowned.step",
+ EntityDrownedSwim => "minecraft:entity.drowned.swim",
+ ItemDyeUse => "minecraft:item.dye.use",
+ EntityEggThrow => "minecraft:entity.egg.throw",
+ EntityElderGuardianAmbient => "minecraft:entity.elder_guardian.ambient",
+ EntityElderGuardianAmbientLand => "minecraft:entity.elder_guardian.ambient_land",
+ EntityElderGuardianCurse => "minecraft:entity.elder_guardian.curse",
+ EntityElderGuardianDeath => "minecraft:entity.elder_guardian.death",
+ EntityElderGuardianDeathLand => "minecraft:entity.elder_guardian.death_land",
+ EntityElderGuardianFlop => "minecraft:entity.elder_guardian.flop",
+ EntityElderGuardianHurt => "minecraft:entity.elder_guardian.hurt",
+ EntityElderGuardianHurtLand => "minecraft:entity.elder_guardian.hurt_land",
+ ItemElytraFlying => "minecraft:item.elytra.flying",
+ BlockEnchantmentTableUse => "minecraft:block.enchantment_table.use",
+ BlockEnderChestClose => "minecraft:block.ender_chest.close",
+ BlockEnderChestOpen => "minecraft:block.ender_chest.open",
+ EntityEnderDragonAmbient => "minecraft:entity.ender_dragon.ambient",
+ EntityEnderDragonDeath => "minecraft:entity.ender_dragon.death",
+ EntityDragonFireballExplode => "minecraft:entity.dragon_fireball.explode",
+ EntityEnderDragonFlap => "minecraft:entity.ender_dragon.flap",
+ EntityEnderDragonGrowl => "minecraft:entity.ender_dragon.growl",
+ EntityEnderDragonHurt => "minecraft:entity.ender_dragon.hurt",
+ EntityEnderDragonShoot => "minecraft:entity.ender_dragon.shoot",
+ EntityEnderEyeDeath => "minecraft:entity.ender_eye.death",
+ EntityEnderEyeLaunch => "minecraft:entity.ender_eye.launch",
+ EntityEndermanAmbient => "minecraft:entity.enderman.ambient",
+ EntityEndermanDeath => "minecraft:entity.enderman.death",
+ EntityEndermanHurt => "minecraft:entity.enderman.hurt",
+ EntityEndermanScream => "minecraft:entity.enderman.scream",
+ EntityEndermanStare => "minecraft:entity.enderman.stare",
+ EntityEndermanTeleport => "minecraft:entity.enderman.teleport",
+ EntityEndermiteAmbient => "minecraft:entity.endermite.ambient",
+ EntityEndermiteDeath => "minecraft:entity.endermite.death",
+ EntityEndermiteHurt => "minecraft:entity.endermite.hurt",
+ EntityEndermiteStep => "minecraft:entity.endermite.step",
+ EntityEnderPearlThrow => "minecraft:entity.ender_pearl.throw",
+ BlockEndGatewaySpawn => "minecraft:block.end_gateway.spawn",
+ BlockEndPortalFrameFill => "minecraft:block.end_portal_frame.fill",
+ BlockEndPortalSpawn => "minecraft:block.end_portal.spawn",
+ EntityEvokerAmbient => "minecraft:entity.evoker.ambient",
+ EntityEvokerCastSpell => "minecraft:entity.evoker.cast_spell",
+ EntityEvokerCelebrate => "minecraft:entity.evoker.celebrate",
+ EntityEvokerDeath => "minecraft:entity.evoker.death",
+ EntityEvokerFangsAttack => "minecraft:entity.evoker_fangs.attack",
+ EntityEvokerHurt => "minecraft:entity.evoker.hurt",
+ EntityEvokerPrepareAttack => "minecraft:entity.evoker.prepare_attack",
+ EntityEvokerPrepareSummon => "minecraft:entity.evoker.prepare_summon",
+ EntityEvokerPrepareWololo => "minecraft:entity.evoker.prepare_wololo",
+ EntityExperienceBottleThrow => "minecraft:entity.experience_bottle.throw",
+ EntityExperienceOrbPickup => "minecraft:entity.experience_orb.pickup",
+ BlockEyeblossomOpenLong => "minecraft:block.eyeblossom.open_long",
+ BlockEyeblossomOpen => "minecraft:block.eyeblossom.open",
+ BlockEyeblossomCloseLong => "minecraft:block.eyeblossom.close_long",
+ BlockEyeblossomClose => "minecraft:block.eyeblossom.close",
+ BlockEyeblossomIdle => "minecraft:block.eyeblossom.idle",
+ BlockFenceGateClose => "minecraft:block.fence_gate.close",
+ BlockFenceGateOpen => "minecraft:block.fence_gate.open",
+ ItemFirechargeUse => "minecraft:item.firecharge.use",
+ BlockFireflyBushIdle => "minecraft:block.firefly_bush.idle",
+ EntityFireworkRocketBlast => "minecraft:entity.firework_rocket.blast",
+ EntityFireworkRocketBlastFar => "minecraft:entity.firework_rocket.blast_far",
+ EntityFireworkRocketLargeBlast => "minecraft:entity.firework_rocket.large_blast",
+ EntityFireworkRocketLargeBlastFar => "minecraft:entity.firework_rocket.large_blast_far",
+ EntityFireworkRocketLaunch => "minecraft:entity.firework_rocket.launch",
+ EntityFireworkRocketShoot => "minecraft:entity.firework_rocket.shoot",
+ EntityFireworkRocketTwinkle => "minecraft:entity.firework_rocket.twinkle",
+ EntityFireworkRocketTwinkleFar => "minecraft:entity.firework_rocket.twinkle_far",
+ BlockFireAmbient => "minecraft:block.fire.ambient",
+ BlockFireExtinguish => "minecraft:block.fire.extinguish",
+ EntityFishSwim => "minecraft:entity.fish.swim",
+ EntityFishingBobberRetrieve => "minecraft:entity.fishing_bobber.retrieve",
+ EntityFishingBobberSplash => "minecraft:entity.fishing_bobber.splash",
+ EntityFishingBobberThrow => "minecraft:entity.fishing_bobber.throw",
+ ItemFlintandsteelUse => "minecraft:item.flintandsteel.use",
+ BlockFloweringAzaleaBreak => "minecraft:block.flowering_azalea.break",
+ BlockFloweringAzaleaFall => "minecraft:block.flowering_azalea.fall",
+ BlockFloweringAzaleaHit => "minecraft:block.flowering_azalea.hit",
+ BlockFloweringAzaleaPlace => "minecraft:block.flowering_azalea.place",
+ BlockFloweringAzaleaStep => "minecraft:block.flowering_azalea.step",
+ EntityFoxAggro => "minecraft:entity.fox.aggro",
+ EntityFoxAmbient => "minecraft:entity.fox.ambient",
+ EntityFoxBite => "minecraft:entity.fox.bite",
+ EntityFoxDeath => "minecraft:entity.fox.death",
+ EntityFoxEat => "minecraft:entity.fox.eat",
+ EntityFoxHurt => "minecraft:entity.fox.hurt",
+ EntityFoxScreech => "minecraft:entity.fox.screech",
+ EntityFoxSleep => "minecraft:entity.fox.sleep",
+ EntityFoxSniff => "minecraft:entity.fox.sniff",
+ EntityFoxSpit => "minecraft:entity.fox.spit",
+ EntityFoxTeleport => "minecraft:entity.fox.teleport",
+ BlockSuspiciousSandBreak => "minecraft:block.suspicious_sand.break",
+ BlockSuspiciousSandStep => "minecraft:block.suspicious_sand.step",
+ BlockSuspiciousSandPlace => "minecraft:block.suspicious_sand.place",
+ BlockSuspiciousSandHit => "minecraft:block.suspicious_sand.hit",
+ BlockSuspiciousSandFall => "minecraft:block.suspicious_sand.fall",
+ BlockSuspiciousGravelBreak => "minecraft:block.suspicious_gravel.break",
+ BlockSuspiciousGravelStep => "minecraft:block.suspicious_gravel.step",
+ BlockSuspiciousGravelPlace => "minecraft:block.suspicious_gravel.place",
+ BlockSuspiciousGravelHit => "minecraft:block.suspicious_gravel.hit",
+ BlockSuspiciousGravelFall => "minecraft:block.suspicious_gravel.fall",
+ BlockFroglightBreak => "minecraft:block.froglight.break",
+ BlockFroglightFall => "minecraft:block.froglight.fall",
+ BlockFroglightHit => "minecraft:block.froglight.hit",
+ BlockFroglightPlace => "minecraft:block.froglight.place",
+ BlockFroglightStep => "minecraft:block.froglight.step",
+ BlockFrogspawnStep => "minecraft:block.frogspawn.step",
+ BlockFrogspawnBreak => "minecraft:block.frogspawn.break",
+ BlockFrogspawnFall => "minecraft:block.frogspawn.fall",
+ BlockFrogspawnHatch => "minecraft:block.frogspawn.hatch",
+ BlockFrogspawnHit => "minecraft:block.frogspawn.hit",
+ BlockFrogspawnPlace => "minecraft:block.frogspawn.place",
+ EntityFrogAmbient => "minecraft:entity.frog.ambient",
+ EntityFrogDeath => "minecraft:entity.frog.death",
+ EntityFrogEat => "minecraft:entity.frog.eat",
+ EntityFrogHurt => "minecraft:entity.frog.hurt",
+ EntityFrogLaySpawn => "minecraft:entity.frog.lay_spawn",
+ EntityFrogLongJump => "minecraft:entity.frog.long_jump",
+ EntityFrogStep => "minecraft:entity.frog.step",
+ EntityFrogTongue => "minecraft:entity.frog.tongue",
+ BlockRootsBreak => "minecraft:block.roots.break",
+ BlockRootsStep => "minecraft:block.roots.step",
+ BlockRootsPlace => "minecraft:block.roots.place",
+ BlockRootsHit => "minecraft:block.roots.hit",
+ BlockRootsFall => "minecraft:block.roots.fall",
+ BlockFurnaceFireCrackle => "minecraft:block.furnace.fire_crackle",
+ EntityGenericBigFall => "minecraft:entity.generic.big_fall",
+ EntityGenericBurn => "minecraft:entity.generic.burn",
+ EntityGenericDeath => "minecraft:entity.generic.death",
+ EntityGenericDrink => "minecraft:entity.generic.drink",
+ EntityGenericEat => "minecraft:entity.generic.eat",
+ EntityGenericExplode => "minecraft:entity.generic.explode",
+ EntityGenericExtinguishFire => "minecraft:entity.generic.extinguish_fire",
+ EntityGenericHurt => "minecraft:entity.generic.hurt",
+ EntityGenericSmallFall => "minecraft:entity.generic.small_fall",
+ EntityGenericSplash => "minecraft:entity.generic.splash",
+ EntityGenericSwim => "minecraft:entity.generic.swim",
+ EntityGhastAmbient => "minecraft:entity.ghast.ambient",
+ EntityGhastDeath => "minecraft:entity.ghast.death",
+ EntityGhastHurt => "minecraft:entity.ghast.hurt",
+ EntityGhastScream => "minecraft:entity.ghast.scream",
+ EntityGhastShoot => "minecraft:entity.ghast.shoot",
+ EntityGhastWarn => "minecraft:entity.ghast.warn",
+ EntityGhastlingAmbient => "minecraft:entity.ghastling.ambient",
+ EntityGhastlingDeath => "minecraft:entity.ghastling.death",
+ EntityGhastlingHurt => "minecraft:entity.ghastling.hurt",
+ EntityGhastlingSpawn => "minecraft:entity.ghastling.spawn",
+ BlockGildedBlackstoneBreak => "minecraft:block.gilded_blackstone.break",
+ BlockGildedBlackstoneFall => "minecraft:block.gilded_blackstone.fall",
+ BlockGildedBlackstoneHit => "minecraft:block.gilded_blackstone.hit",
+ BlockGildedBlackstonePlace => "minecraft:block.gilded_blackstone.place",
+ BlockGildedBlackstoneStep => "minecraft:block.gilded_blackstone.step",
+ BlockGlassBreak => "minecraft:block.glass.break",
+ BlockGlassFall => "minecraft:block.glass.fall",
+ BlockGlassHit => "minecraft:block.glass.hit",
+ BlockGlassPlace => "minecraft:block.glass.place",
+ BlockGlassStep => "minecraft:block.glass.step",
+ ItemGlowInkSacUse => "minecraft:item.glow_ink_sac.use",
+ EntityGlowItemFrameAddItem => "minecraft:entity.glow_item_frame.add_item",
+ EntityGlowItemFrameBreak => "minecraft:entity.glow_item_frame.break",
+ EntityGlowItemFramePlace => "minecraft:entity.glow_item_frame.place",
+ EntityGlowItemFrameRemoveItem => "minecraft:entity.glow_item_frame.remove_item",
+ EntityGlowItemFrameRotateItem => "minecraft:entity.glow_item_frame.rotate_item",
+ EntityGlowSquidAmbient => "minecraft:entity.glow_squid.ambient",
+ EntityGlowSquidDeath => "minecraft:entity.glow_squid.death",
+ EntityGlowSquidHurt => "minecraft:entity.glow_squid.hurt",
+ EntityGlowSquidSquirt => "minecraft:entity.glow_squid.squirt",
+ EntityGoatAmbient => "minecraft:entity.goat.ambient",
+ EntityGoatDeath => "minecraft:entity.goat.death",
+ EntityGoatEat => "minecraft:entity.goat.eat",
+ EntityGoatHurt => "minecraft:entity.goat.hurt",
+ EntityGoatLongJump => "minecraft:entity.goat.long_jump",
+ EntityGoatMilk => "minecraft:entity.goat.milk",
+ EntityGoatPrepareRam => "minecraft:entity.goat.prepare_ram",
+ EntityGoatRamImpact => "minecraft:entity.goat.ram_impact",
+ EntityGoatHornBreak => "minecraft:entity.goat.horn_break",
+ EntityGoatScreamingAmbient => "minecraft:entity.goat.screaming.ambient",
+ EntityGoatScreamingDeath => "minecraft:entity.goat.screaming.death",
+ EntityGoatScreamingEat => "minecraft:entity.goat.screaming.eat",
+ EntityGoatScreamingHurt => "minecraft:entity.goat.screaming.hurt",
+ EntityGoatScreamingLongJump => "minecraft:entity.goat.screaming.long_jump",
+ EntityGoatScreamingMilk => "minecraft:entity.goat.screaming.milk",
+ EntityGoatScreamingPrepareRam => "minecraft:entity.goat.screaming.prepare_ram",
+ EntityGoatScreamingRamImpact => "minecraft:entity.goat.screaming.ram_impact",
+ EntityGoatStep => "minecraft:entity.goat.step",
+ BlockGrassBreak => "minecraft:block.grass.break",
+ BlockGrassFall => "minecraft:block.grass.fall",
+ BlockGrassHit => "minecraft:block.grass.hit",
+ BlockGrassPlace => "minecraft:block.grass.place",
+ BlockGrassStep => "minecraft:block.grass.step",
+ BlockGravelBreak => "minecraft:block.gravel.break",
+ BlockGravelFall => "minecraft:block.gravel.fall",
+ BlockGravelHit => "minecraft:block.gravel.hit",
+ BlockGravelPlace => "minecraft:block.gravel.place",
+ BlockGravelStep => "minecraft:block.gravel.step",
+ BlockGrindstoneUse => "minecraft:block.grindstone.use",
+ BlockGrowingPlantCrop => "minecraft:block.growing_plant.crop",
+ EntityGuardianAmbient => "minecraft:entity.guardian.ambient",
+ EntityGuardianAmbientLand => "minecraft:entity.guardian.ambient_land",
+ EntityGuardianAttack => "minecraft:entity.guardian.attack",
+ EntityGuardianDeath => "minecraft:entity.guardian.death",
+ EntityGuardianDeathLand => "minecraft:entity.guardian.death_land",
+ EntityGuardianFlop => "minecraft:entity.guardian.flop",
+ EntityGuardianHurt => "minecraft:entity.guardian.hurt",
+ EntityGuardianHurtLand => "minecraft:entity.guardian.hurt_land",
+ BlockHangingRootsBreak => "minecraft:block.hanging_roots.break",
+ BlockHangingRootsFall => "minecraft:block.hanging_roots.fall",
+ BlockHangingRootsHit => "minecraft:block.hanging_roots.hit",
+ BlockHangingRootsPlace => "minecraft:block.hanging_roots.place",
+ BlockHangingRootsStep => "minecraft:block.hanging_roots.step",
+ BlockHangingSignStep => "minecraft:block.hanging_sign.step",
+ BlockHangingSignBreak => "minecraft:block.hanging_sign.break",
+ BlockHangingSignFall => "minecraft:block.hanging_sign.fall",
+ BlockHangingSignHit => "minecraft:block.hanging_sign.hit",
+ BlockHangingSignPlace => "minecraft:block.hanging_sign.place",
+ EntityHappyGhastAmbient => "minecraft:entity.happy_ghast.ambient",
+ EntityHappyGhastDeath => "minecraft:entity.happy_ghast.death",
+ EntityHappyGhastHurt => "minecraft:entity.happy_ghast.hurt",
+ EntityHappyGhastRiding => "minecraft:entity.happy_ghast.riding",
+ BlockHeavyCoreBreak => "minecraft:block.heavy_core.break",
+ BlockHeavyCoreFall => "minecraft:block.heavy_core.fall",
+ BlockHeavyCoreHit => "minecraft:block.heavy_core.hit",
+ BlockHeavyCorePlace => "minecraft:block.heavy_core.place",
+ BlockHeavyCoreStep => "minecraft:block.heavy_core.step",
+ BlockNetherWoodHangingSignStep => "minecraft:block.nether_wood_hanging_sign.step",
+ BlockNetherWoodHangingSignBreak => "minecraft:block.nether_wood_hanging_sign.break",
+ BlockNetherWoodHangingSignFall => "minecraft:block.nether_wood_hanging_sign.fall",
+ BlockNetherWoodHangingSignHit => "minecraft:block.nether_wood_hanging_sign.hit",
+ BlockNetherWoodHangingSignPlace => "minecraft:block.nether_wood_hanging_sign.place",
+ BlockBambooWoodHangingSignStep => "minecraft:block.bamboo_wood_hanging_sign.step",
+ BlockBambooWoodHangingSignBreak => "minecraft:block.bamboo_wood_hanging_sign.break",
+ BlockBambooWoodHangingSignFall => "minecraft:block.bamboo_wood_hanging_sign.fall",
+ BlockBambooWoodHangingSignHit => "minecraft:block.bamboo_wood_hanging_sign.hit",
+ BlockBambooWoodHangingSignPlace => "minecraft:block.bamboo_wood_hanging_sign.place",
+ BlockTrialSpawnerBreak => "minecraft:block.trial_spawner.break",
+ BlockTrialSpawnerStep => "minecraft:block.trial_spawner.step",
+ BlockTrialSpawnerPlace => "minecraft:block.trial_spawner.place",
+ BlockTrialSpawnerHit => "minecraft:block.trial_spawner.hit",
+ BlockTrialSpawnerFall => "minecraft:block.trial_spawner.fall",
+ BlockTrialSpawnerSpawnMob => "minecraft:block.trial_spawner.spawn_mob",
+ BlockTrialSpawnerAboutToSpawnItem => "minecraft:block.trial_spawner.about_to_spawn_item",
+ BlockTrialSpawnerSpawnItem => "minecraft:block.trial_spawner.spawn_item",
+ BlockTrialSpawnerSpawnItemBegin => "minecraft:block.trial_spawner.spawn_item_begin",
+ BlockTrialSpawnerDetectPlayer => "minecraft:block.trial_spawner.detect_player",
+ BlockTrialSpawnerOminousActivate => "minecraft:block.trial_spawner.ominous_activate",
+ BlockTrialSpawnerAmbient => "minecraft:block.trial_spawner.ambient",
+ BlockTrialSpawnerAmbientOminous => "minecraft:block.trial_spawner.ambient_ominous",
+ BlockTrialSpawnerOpenShutter => "minecraft:block.trial_spawner.open_shutter",
+ BlockTrialSpawnerCloseShutter => "minecraft:block.trial_spawner.close_shutter",
+ BlockTrialSpawnerEjectItem => "minecraft:block.trial_spawner.eject_item",
+ EntityHappyGhastEquip => "minecraft:entity.happy_ghast.equip",
+ EntityHappyGhastUnequip => "minecraft:entity.happy_ghast.unequip",
+ EntityHappyGhastHarnessGogglesUp => "minecraft:entity.happy_ghast.harness_goggles_up",
+ EntityHappyGhastHarnessGogglesDown => "minecraft:entity.happy_ghast.harness_goggles_down",
+ ItemHoeTill => "minecraft:item.hoe.till",
+ EntityHoglinAmbient => "minecraft:entity.hoglin.ambient",
+ EntityHoglinAngry => "minecraft:entity.hoglin.angry",
+ EntityHoglinAttack => "minecraft:entity.hoglin.attack",
+ EntityHoglinConvertedToZombified => "minecraft:entity.hoglin.converted_to_zombified",
+ EntityHoglinDeath => "minecraft:entity.hoglin.death",
+ EntityHoglinHurt => "minecraft:entity.hoglin.hurt",
+ EntityHoglinRetreat => "minecraft:entity.hoglin.retreat",
+ EntityHoglinStep => "minecraft:entity.hoglin.step",
+ BlockHoneyBlockBreak => "minecraft:block.honey_block.break",
+ BlockHoneyBlockFall => "minecraft:block.honey_block.fall",
+ BlockHoneyBlockHit => "minecraft:block.honey_block.hit",
+ BlockHoneyBlockPlace => "minecraft:block.honey_block.place",
+ BlockHoneyBlockSlide => "minecraft:block.honey_block.slide",
+ BlockHoneyBlockStep => "minecraft:block.honey_block.step",
+ ItemHoneycombWaxOn => "minecraft:item.honeycomb.wax_on",
+ ItemHoneyBottleDrink => "minecraft:item.honey_bottle.drink",
+ ItemGoatHornSound0 => "minecraft:item.goat_horn.sound.0",
+ ItemGoatHornSound1 => "minecraft:item.goat_horn.sound.1",
+ ItemGoatHornSound2 => "minecraft:item.goat_horn.sound.2",
+ ItemGoatHornSound3 => "minecraft:item.goat_horn.sound.3",
+ ItemGoatHornSound4 => "minecraft:item.goat_horn.sound.4",
+ ItemGoatHornSound5 => "minecraft:item.goat_horn.sound.5",
+ ItemGoatHornSound6 => "minecraft:item.goat_horn.sound.6",
+ ItemGoatHornSound7 => "minecraft:item.goat_horn.sound.7",
+ EntityHorseAmbient => "minecraft:entity.horse.ambient",
+ EntityHorseAngry => "minecraft:entity.horse.angry",
+ EntityHorseArmor => "minecraft:entity.horse.armor",
+ ItemHorseArmorUnequip => "minecraft:item.horse_armor.unequip",
+ EntityHorseBreathe => "minecraft:entity.horse.breathe",
+ EntityHorseDeath => "minecraft:entity.horse.death",
+ EntityHorseEat => "minecraft:entity.horse.eat",
+ EntityHorseGallop => "minecraft:entity.horse.gallop",
+ EntityHorseHurt => "minecraft:entity.horse.hurt",
+ EntityHorseJump => "minecraft:entity.horse.jump",
+ EntityHorseLand => "minecraft:entity.horse.land",
+ EntityHorseSaddle => "minecraft:entity.horse.saddle",
+ EntityHorseStep => "minecraft:entity.horse.step",
+ EntityHorseStepWood => "minecraft:entity.horse.step_wood",
+ EntityHostileBigFall => "minecraft:entity.hostile.big_fall",
+ EntityHostileDeath => "minecraft:entity.hostile.death",
+ EntityHostileHurt => "minecraft:entity.hostile.hurt",
+ EntityHostileSmallFall => "minecraft:entity.hostile.small_fall",
+ EntityHostileSplash => "minecraft:entity.hostile.splash",
+ EntityHostileSwim => "minecraft:entity.hostile.swim",
+ EntityHuskAmbient => "minecraft:entity.husk.ambient",
+ EntityHuskConvertedToZombie => "minecraft:entity.husk.converted_to_zombie",
+ EntityHuskDeath => "minecraft:entity.husk.death",
+ EntityHuskHurt => "minecraft:entity.husk.hurt",
+ EntityHuskStep => "minecraft:entity.husk.step",
+ EntityIllusionerAmbient => "minecraft:entity.illusioner.ambient",
+ EntityIllusionerCastSpell => "minecraft:entity.illusioner.cast_spell",
+ EntityIllusionerDeath => "minecraft:entity.illusioner.death",
+ EntityIllusionerHurt => "minecraft:entity.illusioner.hurt",
+ EntityIllusionerMirrorMove => "minecraft:entity.illusioner.mirror_move",
+ EntityIllusionerPrepareBlindness => "minecraft:entity.illusioner.prepare_blindness",
+ EntityIllusionerPrepareMirror => "minecraft:entity.illusioner.prepare_mirror",
+ ItemInkSacUse => "minecraft:item.ink_sac.use",
+ BlockIronBreak => "minecraft:block.iron.break",
+ BlockIronStep => "minecraft:block.iron.step",
+ BlockIronPlace => "minecraft:block.iron.place",
+ BlockIronHit => "minecraft:block.iron.hit",
+ BlockIronFall => "minecraft:block.iron.fall",
+ BlockIronDoorClose => "minecraft:block.iron_door.close",
+ BlockIronDoorOpen => "minecraft:block.iron_door.open",
+ EntityIronGolemAttack => "minecraft:entity.iron_golem.attack",
+ EntityIronGolemDamage => "minecraft:entity.iron_golem.damage",
+ EntityIronGolemDeath => "minecraft:entity.iron_golem.death",
+ EntityIronGolemHurt => "minecraft:entity.iron_golem.hurt",
+ EntityIronGolemRepair => "minecraft:entity.iron_golem.repair",
+ EntityIronGolemStep => "minecraft:entity.iron_golem.step",
+ BlockIronTrapdoorClose => "minecraft:block.iron_trapdoor.close",
+ BlockIronTrapdoorOpen => "minecraft:block.iron_trapdoor.open",
+ EntityItemFrameAddItem => "minecraft:entity.item_frame.add_item",
+ EntityItemFrameBreak => "minecraft:entity.item_frame.break",
+ EntityItemFramePlace => "minecraft:entity.item_frame.place",
+ EntityItemFrameRemoveItem => "minecraft:entity.item_frame.remove_item",
+ EntityItemFrameRotateItem => "minecraft:entity.item_frame.rotate_item",
+ EntityItemBreak => "minecraft:entity.item.break",
+ EntityItemPickup => "minecraft:entity.item.pickup",
+ BlockLadderBreak => "minecraft:block.ladder.break",
+ BlockLadderFall => "minecraft:block.ladder.fall",
+ BlockLadderHit => "minecraft:block.ladder.hit",
+ BlockLadderPlace => "minecraft:block.ladder.place",
+ BlockLadderStep => "minecraft:block.ladder.step",
+ BlockLanternBreak => "minecraft:block.lantern.break",
+ BlockLanternFall => "minecraft:block.lantern.fall",
+ BlockLanternHit => "minecraft:block.lantern.hit",
+ BlockLanternPlace => "minecraft:block.lantern.place",
+ BlockLanternStep => "minecraft:block.lantern.step",
+ BlockLargeAmethystBudBreak => "minecraft:block.large_amethyst_bud.break",
+ BlockLargeAmethystBudPlace => "minecraft:block.large_amethyst_bud.place",
+ BlockLavaAmbient => "minecraft:block.lava.ambient",
+ BlockLavaExtinguish => "minecraft:block.lava.extinguish",
+ BlockLavaPop => "minecraft:block.lava.pop",
+ BlockLeafLitterBreak => "minecraft:block.leaf_litter.break",
+ BlockLeafLitterStep => "minecraft:block.leaf_litter.step",
+ BlockLeafLitterPlace => "minecraft:block.leaf_litter.place",
+ BlockLeafLitterHit => "minecraft:block.leaf_litter.hit",
+ BlockLeafLitterFall => "minecraft:block.leaf_litter.fall",
+ ItemLeadUntied => "minecraft:item.lead.untied",
+ ItemLeadTied => "minecraft:item.lead.tied",
+ ItemLeadBreak => "minecraft:item.lead.break",
+ BlockLeverClick => "minecraft:block.lever.click",
+ EntityLightningBoltImpact => "minecraft:entity.lightning_bolt.impact",
+ EntityLightningBoltThunder => "minecraft:entity.lightning_bolt.thunder",
+ EntityLingeringPotionThrow => "minecraft:entity.lingering_potion.throw",
+ EntityLlamaAmbient => "minecraft:entity.llama.ambient",
+ EntityLlamaAngry => "minecraft:entity.llama.angry",
+ EntityLlamaChest => "minecraft:entity.llama.chest",
+ EntityLlamaDeath => "minecraft:entity.llama.death",
+ EntityLlamaEat => "minecraft:entity.llama.eat",
+ EntityLlamaHurt => "minecraft:entity.llama.hurt",
+ EntityLlamaSpit => "minecraft:entity.llama.spit",
+ EntityLlamaStep => "minecraft:entity.llama.step",
+ EntityLlamaSwag => "minecraft:entity.llama.swag",
+ ItemLlamaCarpetUnequip => "minecraft:item.llama_carpet.unequip",
+ EntityMagmaCubeDeathSmall => "minecraft:entity.magma_cube.death_small",
+ BlockLodestoneBreak => "minecraft:block.lodestone.break",
+ BlockLodestoneStep => "minecraft:block.lodestone.step",
+ BlockLodestonePlace => "minecraft:block.lodestone.place",
+ BlockLodestoneHit => "minecraft:block.lodestone.hit",
+ BlockLodestoneFall => "minecraft:block.lodestone.fall",
+ ItemLodestoneCompassLock => "minecraft:item.lodestone_compass.lock",
+ ItemSpearLunge1 => "minecraft:item.spear.lunge_1",
+ ItemSpearLunge2 => "minecraft:item.spear.lunge_2",
+ ItemSpearLunge3 => "minecraft:item.spear.lunge_3",
+ ItemMaceSmashAir => "minecraft:item.mace.smash_air",
+ ItemMaceSmashGround => "minecraft:item.mace.smash_ground",
+ ItemMaceSmashGroundHeavy => "minecraft:item.mace.smash_ground_heavy",
+ EntityMagmaCubeDeath => "minecraft:entity.magma_cube.death",
+ EntityMagmaCubeHurt => "minecraft:entity.magma_cube.hurt",
+ EntityMagmaCubeHurtSmall => "minecraft:entity.magma_cube.hurt_small",
+ EntityMagmaCubeJump => "minecraft:entity.magma_cube.jump",
+ EntityMagmaCubeSquish => "minecraft:entity.magma_cube.squish",
+ EntityMagmaCubeSquishSmall => "minecraft:entity.magma_cube.squish_small",
+ BlockMangroveRootsBreak => "minecraft:block.mangrove_roots.break",
+ BlockMangroveRootsFall => "minecraft:block.mangrove_roots.fall",
+ BlockMangroveRootsHit => "minecraft:block.mangrove_roots.hit",
+ BlockMangroveRootsPlace => "minecraft:block.mangrove_roots.place",
+ BlockMangroveRootsStep => "minecraft:block.mangrove_roots.step",
+ BlockMediumAmethystBudBreak => "minecraft:block.medium_amethyst_bud.break",
+ BlockMediumAmethystBudPlace => "minecraft:block.medium_amethyst_bud.place",
+ BlockMetalBreak => "minecraft:block.metal.break",
+ BlockMetalFall => "minecraft:block.metal.fall",
+ BlockMetalHit => "minecraft:block.metal.hit",
+ BlockMetalPlace => "minecraft:block.metal.place",
+ BlockMetalPressurePlateClickOff => "minecraft:block.metal_pressure_plate.click_off",
+ BlockMetalPressurePlateClickOn => "minecraft:block.metal_pressure_plate.click_on",
+ BlockMetalStep => "minecraft:block.metal.step",
+ EntityMinecartInsideUnderwater => "minecraft:entity.minecart.inside.underwater",
+ EntityMinecartInside => "minecraft:entity.minecart.inside",
+ EntityMinecartRiding => "minecraft:entity.minecart.riding",
+ EntityMooshroomConvert => "minecraft:entity.mooshroom.convert",
+ EntityMooshroomEat => "minecraft:entity.mooshroom.eat",
+ EntityMooshroomMilk => "minecraft:entity.mooshroom.milk",
+ EntityMooshroomSuspiciousMilk => "minecraft:entity.mooshroom.suspicious_milk",
+ EntityMooshroomShear => "minecraft:entity.mooshroom.shear",
+ BlockMossCarpetBreak => "minecraft:block.moss_carpet.break",
+ BlockMossCarpetFall => "minecraft:block.moss_carpet.fall",
+ BlockMossCarpetHit => "minecraft:block.moss_carpet.hit",
+ BlockMossCarpetPlace => "minecraft:block.moss_carpet.place",
+ BlockMossCarpetStep => "minecraft:block.moss_carpet.step",
+ BlockPinkPetalsBreak => "minecraft:block.pink_petals.break",
+ BlockPinkPetalsFall => "minecraft:block.pink_petals.fall",
+ BlockPinkPetalsHit => "minecraft:block.pink_petals.hit",
+ BlockPinkPetalsPlace => "minecraft:block.pink_petals.place",
+ BlockPinkPetalsStep => "minecraft:block.pink_petals.step",
+ BlockMossBreak => "minecraft:block.moss.break",
+ BlockMossFall => "minecraft:block.moss.fall",
+ BlockMossHit => "minecraft:block.moss.hit",
+ BlockMossPlace => "minecraft:block.moss.place",
+ BlockMossStep => "minecraft:block.moss.step",
+ BlockMudBreak => "minecraft:block.mud.break",
+ BlockMudFall => "minecraft:block.mud.fall",
+ BlockMudHit => "minecraft:block.mud.hit",
+ BlockMudPlace => "minecraft:block.mud.place",
+ BlockMudStep => "minecraft:block.mud.step",
+ BlockMudBricksBreak => "minecraft:block.mud_bricks.break",
+ BlockMudBricksFall => "minecraft:block.mud_bricks.fall",
+ BlockMudBricksHit => "minecraft:block.mud_bricks.hit",
+ BlockMudBricksPlace => "minecraft:block.mud_bricks.place",
+ BlockMudBricksStep => "minecraft:block.mud_bricks.step",
+ BlockMuddyMangroveRootsBreak => "minecraft:block.muddy_mangrove_roots.break",
+ BlockMuddyMangroveRootsFall => "minecraft:block.muddy_mangrove_roots.fall",
+ BlockMuddyMangroveRootsHit => "minecraft:block.muddy_mangrove_roots.hit",
+ BlockMuddyMangroveRootsPlace => "minecraft:block.muddy_mangrove_roots.place",
+ BlockMuddyMangroveRootsStep => "minecraft:block.muddy_mangrove_roots.step",
+ EntityMuleAmbient => "minecraft:entity.mule.ambient",
+ EntityMuleAngry => "minecraft:entity.mule.angry",
+ EntityMuleChest => "minecraft:entity.mule.chest",
+ EntityMuleDeath => "minecraft:entity.mule.death",
+ EntityMuleEat => "minecraft:entity.mule.eat",
+ EntityMuleHurt => "minecraft:entity.mule.hurt",
+ EntityMuleJump => "minecraft:entity.mule.jump",
+ MusicCreative => "minecraft:music.creative",
+ MusicCredits => "minecraft:music.credits",
+ MusicDisc5 => "minecraft:music_disc.5",
+ MusicDisc11 => "minecraft:music_disc.11",
+ MusicDisc13 => "minecraft:music_disc.13",
+ MusicDiscBlocks => "minecraft:music_disc.blocks",
+ MusicDiscCat => "minecraft:music_disc.cat",
+ MusicDiscChirp => "minecraft:music_disc.chirp",
+ MusicDiscFar => "minecraft:music_disc.far",
+ MusicDiscLavaChicken => "minecraft:music_disc.lava_chicken",
+ MusicDiscMall => "minecraft:music_disc.mall",
+ MusicDiscMellohi => "minecraft:music_disc.mellohi",
+ MusicDiscPigstep => "minecraft:music_disc.pigstep",
+ MusicDiscStal => "minecraft:music_disc.stal",
+ MusicDiscStrad => "minecraft:music_disc.strad",
+ MusicDiscWait => "minecraft:music_disc.wait",
+ MusicDiscWard => "minecraft:music_disc.ward",
+ MusicDiscOtherside => "minecraft:music_disc.otherside",
+ MusicDiscRelic => "minecraft:music_disc.relic",
+ MusicDiscCreator => "minecraft:music_disc.creator",
+ MusicDiscCreatorMusicBox => "minecraft:music_disc.creator_music_box",
+ MusicDiscPrecipice => "minecraft:music_disc.precipice",
+ MusicDiscTears => "minecraft:music_disc.tears",
+ MusicDragon => "minecraft:music.dragon",
+ MusicEnd => "minecraft:music.end",
+ MusicGame => "minecraft:music.game",
+ MusicMenu => "minecraft:music.menu",
+ MusicNetherBasaltDeltas => "minecraft:music.nether.basalt_deltas",
+ MusicNetherCrimsonForest => "minecraft:music.nether.crimson_forest",
+ MusicOverworldDeepDark => "minecraft:music.overworld.deep_dark",
+ MusicOverworldDripstoneCaves => "minecraft:music.overworld.dripstone_caves",
+ MusicOverworldGrove => "minecraft:music.overworld.grove",
+ MusicOverworldJaggedPeaks => "minecraft:music.overworld.jagged_peaks",
+ MusicOverworldLushCaves => "minecraft:music.overworld.lush_caves",
+ MusicOverworldSwamp => "minecraft:music.overworld.swamp",
+ MusicOverworldForest => "minecraft:music.overworld.forest",
+ MusicOverworldOldGrowthTaiga => "minecraft:music.overworld.old_growth_taiga",
+ MusicOverworldMeadow => "minecraft:music.overworld.meadow",
+ MusicOverworldCherryGrove => "minecraft:music.overworld.cherry_grove",
+ MusicNetherNetherWastes => "minecraft:music.nether.nether_wastes",
+ MusicOverworldFrozenPeaks => "minecraft:music.overworld.frozen_peaks",
+ MusicOverworldSnowySlopes => "minecraft:music.overworld.snowy_slopes",
+ MusicNetherSoulSandValley => "minecraft:music.nether.soul_sand_valley",
+ MusicOverworldStonyPeaks => "minecraft:music.overworld.stony_peaks",
+ MusicNetherWarpedForest => "minecraft:music.nether.warped_forest",
+ MusicOverworldFlowerForest => "minecraft:music.overworld.flower_forest",
+ MusicOverworldDesert => "minecraft:music.overworld.desert",
+ MusicOverworldBadlands => "minecraft:music.overworld.badlands",
+ MusicOverworldJungle => "minecraft:music.overworld.jungle",
+ MusicOverworldSparseJungle => "minecraft:music.overworld.sparse_jungle",
+ MusicOverworldBambooJungle => "minecraft:music.overworld.bamboo_jungle",
+ MusicUnderWater => "minecraft:music.under_water",
+ EntityNautilusAmbient => "minecraft:entity.nautilus.ambient",
+ EntityNautilusAmbientLand => "minecraft:entity.nautilus.ambient_land",
+ EntityNautilusDash => "minecraft:entity.nautilus.dash",
+ EntityNautilusDashLand => "minecraft:entity.nautilus.dash_land",
+ EntityNautilusDashReady => "minecraft:entity.nautilus.dash_ready",
+ EntityNautilusDashReadyLand => "minecraft:entity.nautilus.dash_ready_land",
+ EntityNautilusDeath => "minecraft:entity.nautilus.death",
+ EntityNautilusDeathLand => "minecraft:entity.nautilus.death_land",
+ EntityNautilusEat => "minecraft:entity.nautilus.eat",
+ EntityNautilusHurt => "minecraft:entity.nautilus.hurt",
+ EntityNautilusHurtLand => "minecraft:entity.nautilus.hurt_land",
+ EntityNautilusSwim => "minecraft:entity.nautilus.swim",
+ BlockNetherBricksBreak => "minecraft:block.nether_bricks.break",
+ BlockNetherBricksStep => "minecraft:block.nether_bricks.step",
+ BlockNetherBricksPlace => "minecraft:block.nether_bricks.place",
+ BlockNetherBricksHit => "minecraft:block.nether_bricks.hit",
+ BlockNetherBricksFall => "minecraft:block.nether_bricks.fall",
+ BlockNetherWartBreak => "minecraft:block.nether_wart.break",
+ ItemNetherWartPlant => "minecraft:item.nether_wart.plant",
+ BlockNetherWoodBreak => "minecraft:block.nether_wood.break",
+ BlockNetherWoodFall => "minecraft:block.nether_wood.fall",
+ BlockNetherWoodHit => "minecraft:block.nether_wood.hit",
+ BlockNetherWoodPlace => "minecraft:block.nether_wood.place",
+ BlockNetherWoodStep => "minecraft:block.nether_wood.step",
+ BlockNetherWoodDoorClose => "minecraft:block.nether_wood_door.close",
+ BlockNetherWoodDoorOpen => "minecraft:block.nether_wood_door.open",
+ BlockNetherWoodTrapdoorClose => "minecraft:block.nether_wood_trapdoor.close",
+ BlockNetherWoodTrapdoorOpen => "minecraft:block.nether_wood_trapdoor.open",
+ BlockNetherWoodButtonClickOff => "minecraft:block.nether_wood_button.click_off",
+ BlockNetherWoodButtonClickOn => "minecraft:block.nether_wood_button.click_on",
+ BlockNetherWoodPressurePlateClickOff => "minecraft:block.nether_wood_pressure_plate.click_off",
+ BlockNetherWoodPressurePlateClickOn => "minecraft:block.nether_wood_pressure_plate.click_on",
+ BlockNetherWoodFenceGateClose => "minecraft:block.nether_wood_fence_gate.close",
+ BlockNetherWoodFenceGateOpen => "minecraft:block.nether_wood_fence_gate.open",
+ IntentionallyEmpty => "minecraft:intentionally_empty",
+ BlockPackedMudBreak => "minecraft:block.packed_mud.break",
+ BlockPackedMudFall => "minecraft:block.packed_mud.fall",
+ BlockPackedMudHit => "minecraft:block.packed_mud.hit",
+ BlockPackedMudPlace => "minecraft:block.packed_mud.place",
+ BlockPackedMudStep => "minecraft:block.packed_mud.step",
+ BlockStemBreak => "minecraft:block.stem.break",
+ BlockStemStep => "minecraft:block.stem.step",
+ BlockStemPlace => "minecraft:block.stem.place",
+ BlockStemHit => "minecraft:block.stem.hit",
+ BlockStemFall => "minecraft:block.stem.fall",
+ BlockNyliumBreak => "minecraft:block.nylium.break",
+ BlockNyliumStep => "minecraft:block.nylium.step",
+ BlockNyliumPlace => "minecraft:block.nylium.place",
+ BlockNyliumHit => "minecraft:block.nylium.hit",
+ BlockNyliumFall => "minecraft:block.nylium.fall",
+ BlockNetherSproutsBreak => "minecraft:block.nether_sprouts.break",
+ BlockNetherSproutsStep => "minecraft:block.nether_sprouts.step",
+ BlockNetherSproutsPlace => "minecraft:block.nether_sprouts.place",
+ BlockNetherSproutsHit => "minecraft:block.nether_sprouts.hit",
+ BlockNetherSproutsFall => "minecraft:block.nether_sprouts.fall",
+ BlockFungusBreak => "minecraft:block.fungus.break",
+ BlockFungusStep => "minecraft:block.fungus.step",
+ BlockFungusPlace => "minecraft:block.fungus.place",
+ BlockFungusHit => "minecraft:block.fungus.hit",
+ BlockFungusFall => "minecraft:block.fungus.fall",
+ BlockWeepingVinesBreak => "minecraft:block.weeping_vines.break",
+ BlockWeepingVinesStep => "minecraft:block.weeping_vines.step",
+ BlockWeepingVinesPlace => "minecraft:block.weeping_vines.place",
+ BlockWeepingVinesHit => "minecraft:block.weeping_vines.hit",
+ BlockWeepingVinesFall => "minecraft:block.weeping_vines.fall",
+ BlockWartBlockBreak => "minecraft:block.wart_block.break",
+ BlockWartBlockStep => "minecraft:block.wart_block.step",
+ BlockWartBlockPlace => "minecraft:block.wart_block.place",
+ BlockWartBlockHit => "minecraft:block.wart_block.hit",
+ BlockWartBlockFall => "minecraft:block.wart_block.fall",
+ BlockNetheriteBlockBreak => "minecraft:block.netherite_block.break",
+ BlockNetheriteBlockStep => "minecraft:block.netherite_block.step",
+ BlockNetheriteBlockPlace => "minecraft:block.netherite_block.place",
+ BlockNetheriteBlockHit => "minecraft:block.netherite_block.hit",
+ BlockNetheriteBlockFall => "minecraft:block.netherite_block.fall",
+ BlockNetherrackBreak => "minecraft:block.netherrack.break",
+ BlockNetherrackStep => "minecraft:block.netherrack.step",
+ BlockNetherrackPlace => "minecraft:block.netherrack.place",
+ BlockNetherrackHit => "minecraft:block.netherrack.hit",
+ BlockNetherrackFall => "minecraft:block.netherrack.fall",
+ BlockNoteBlockBasedrum => "minecraft:block.note_block.basedrum",
+ BlockNoteBlockBass => "minecraft:block.note_block.bass",
+ BlockNoteBlockBell => "minecraft:block.note_block.bell",
+ BlockNoteBlockChime => "minecraft:block.note_block.chime",
+ BlockNoteBlockFlute => "minecraft:block.note_block.flute",
+ BlockNoteBlockGuitar => "minecraft:block.note_block.guitar",
+ BlockNoteBlockHarp => "minecraft:block.note_block.harp",
+ BlockNoteBlockHat => "minecraft:block.note_block.hat",
+ BlockNoteBlockPling => "minecraft:block.note_block.pling",
+ BlockNoteBlockSnare => "minecraft:block.note_block.snare",
+ BlockNoteBlockXylophone => "minecraft:block.note_block.xylophone",
+ BlockNoteBlockIronXylophone => "minecraft:block.note_block.iron_xylophone",
+ BlockNoteBlockCowBell => "minecraft:block.note_block.cow_bell",
+ BlockNoteBlockDidgeridoo => "minecraft:block.note_block.didgeridoo",
+ BlockNoteBlockBit => "minecraft:block.note_block.bit",
+ BlockNoteBlockBanjo => "minecraft:block.note_block.banjo",
+ BlockNoteBlockImitateZombie => "minecraft:block.note_block.imitate.zombie",
+ BlockNoteBlockImitateSkeleton => "minecraft:block.note_block.imitate.skeleton",
+ BlockNoteBlockImitateCreeper => "minecraft:block.note_block.imitate.creeper",
+ BlockNoteBlockImitateEnderDragon => "minecraft:block.note_block.imitate.ender_dragon",
+ BlockNoteBlockImitateWitherSkeleton => "minecraft:block.note_block.imitate.wither_skeleton",
+ BlockNoteBlockImitatePiglin => "minecraft:block.note_block.imitate.piglin",
+ EntityOcelotHurt => "minecraft:entity.ocelot.hurt",
+ EntityOcelotAmbient => "minecraft:entity.ocelot.ambient",
+ EntityOcelotDeath => "minecraft:entity.ocelot.death",
+ ItemOminousBottleDispose => "minecraft:item.ominous_bottle.dispose",
+ EntityPaintingBreak => "minecraft:entity.painting.break",
+ EntityPaintingPlace => "minecraft:entity.painting.place",
+ BlockPaleHangingMossIdle => "minecraft:block.pale_hanging_moss.idle",
+ EntityPandaPreSneeze => "minecraft:entity.panda.pre_sneeze",
+ EntityPandaSneeze => "minecraft:entity.panda.sneeze",
+ EntityPandaAmbient => "minecraft:entity.panda.ambient",
+ EntityPandaDeath => "minecraft:entity.panda.death",
+ EntityPandaEat => "minecraft:entity.panda.eat",
+ EntityPandaStep => "minecraft:entity.panda.step",
+ EntityPandaCantBreed => "minecraft:entity.panda.cant_breed",
+ EntityPandaAggressiveAmbient => "minecraft:entity.panda.aggressive_ambient",
+ EntityPandaWorriedAmbient => "minecraft:entity.panda.worried_ambient",
+ EntityPandaHurt => "minecraft:entity.panda.hurt",
+ EntityPandaBite => "minecraft:entity.panda.bite",
+ EntityParchedAmbient => "minecraft:entity.parched.ambient",
+ EntityParchedDeath => "minecraft:entity.parched.death",
+ EntityParchedHurt => "minecraft:entity.parched.hurt",
+ EntityParchedStep => "minecraft:entity.parched.step",
+ EntityParrotAmbient => "minecraft:entity.parrot.ambient",
+ EntityParrotDeath => "minecraft:entity.parrot.death",
+ EntityParrotEat => "minecraft:entity.parrot.eat",
+ EntityParrotFly => "minecraft:entity.parrot.fly",
+ EntityParrotHurt => "minecraft:entity.parrot.hurt",
+ EntityParrotImitateBlaze => "minecraft:entity.parrot.imitate.blaze",
+ EntityParrotImitateBogged => "minecraft:entity.parrot.imitate.bogged",
+ EntityParrotImitateBreeze => "minecraft:entity.parrot.imitate.breeze",
+ EntityParrotImitateCamelHusk => "minecraft:entity.parrot.imitate.camel_husk",
+ EntityParrotImitateCreaking => "minecraft:entity.parrot.imitate.creaking",
+ EntityParrotImitateCreeper => "minecraft:entity.parrot.imitate.creeper",
+ EntityParrotImitateDrowned => "minecraft:entity.parrot.imitate.drowned",
+ EntityParrotImitateElderGuardian => "minecraft:entity.parrot.imitate.elder_guardian",
+ EntityParrotImitateEnderDragon => "minecraft:entity.parrot.imitate.ender_dragon",
+ EntityParrotImitateEndermite => "minecraft:entity.parrot.imitate.endermite",
+ EntityParrotImitateEvoker => "minecraft:entity.parrot.imitate.evoker",
+ EntityParrotImitateGhast => "minecraft:entity.parrot.imitate.ghast",
+ EntityParrotImitateGuardian => "minecraft:entity.parrot.imitate.guardian",
+ EntityParrotImitateHoglin => "minecraft:entity.parrot.imitate.hoglin",
+ EntityParrotImitateHusk => "minecraft:entity.parrot.imitate.husk",
+ EntityParrotImitateIllusioner => "minecraft:entity.parrot.imitate.illusioner",
+ EntityParrotImitateMagmaCube => "minecraft:entity.parrot.imitate.magma_cube",
+ EntityParrotImitatePhantom => "minecraft:entity.parrot.imitate.phantom",
+ EntityParrotImitateParched => "minecraft:entity.parrot.imitate.parched",
+ EntityParrotImitatePiglin => "minecraft:entity.parrot.imitate.piglin",
+ EntityParrotImitatePiglinBrute => "minecraft:entity.parrot.imitate.piglin_brute",
+ EntityParrotImitatePillager => "minecraft:entity.parrot.imitate.pillager",
+ EntityParrotImitateRavager => "minecraft:entity.parrot.imitate.ravager",
+ EntityParrotImitateShulker => "minecraft:entity.parrot.imitate.shulker",
+ EntityParrotImitateSilverfish => "minecraft:entity.parrot.imitate.silverfish",
+ EntityParrotImitateSkeleton => "minecraft:entity.parrot.imitate.skeleton",
+ EntityParrotImitateSlime => "minecraft:entity.parrot.imitate.slime",
+ EntityParrotImitateSpider => "minecraft:entity.parrot.imitate.spider",
+ EntityParrotImitateStray => "minecraft:entity.parrot.imitate.stray",
+ EntityParrotImitateVex => "minecraft:entity.parrot.imitate.vex",
+ EntityParrotImitateVindicator => "minecraft:entity.parrot.imitate.vindicator",
+ EntityParrotImitateWarden => "minecraft:entity.parrot.imitate.warden",
+ EntityParrotImitateWitch => "minecraft:entity.parrot.imitate.witch",
+ EntityParrotImitateWither => "minecraft:entity.parrot.imitate.wither",
+ EntityParrotImitateWitherSkeleton => "minecraft:entity.parrot.imitate.wither_skeleton",
+ EntityParrotImitateZoglin => "minecraft:entity.parrot.imitate.zoglin",
+ EntityParrotImitateZombie => "minecraft:entity.parrot.imitate.zombie",
+ EntityParrotImitateZombieHorse => "minecraft:entity.parrot.imitate.zombie_horse",
+ EntityParrotImitateZombieNautilus => "minecraft:entity.parrot.imitate.zombie_nautilus",
+ EntityParrotImitateZombieVillager => "minecraft:entity.parrot.imitate.zombie_villager",
+ EntityParrotStep => "minecraft:entity.parrot.step",
+ EntityPhantomAmbient => "minecraft:entity.phantom.ambient",
+ EntityPhantomBite => "minecraft:entity.phantom.bite",
+ EntityPhantomDeath => "minecraft:entity.phantom.death",
+ EntityPhantomFlap => "minecraft:entity.phantom.flap",
+ EntityPhantomHurt => "minecraft:entity.phantom.hurt",
+ EntityPhantomSwoop => "minecraft:entity.phantom.swoop",
+ EntityPigAmbient => "minecraft:entity.pig.ambient",
+ EntityPigDeath => "minecraft:entity.pig.death",
+ EntityPigHurt => "minecraft:entity.pig.hurt",
+ EntityPigSaddle => "minecraft:entity.pig.saddle",
+ EntityPigStep => "minecraft:entity.pig.step",
+ EntityPiglinAdmiringItem => "minecraft:entity.piglin.admiring_item",
+ EntityPiglinAmbient => "minecraft:entity.piglin.ambient",
+ EntityPiglinAngry => "minecraft:entity.piglin.angry",
+ EntityPiglinCelebrate => "minecraft:entity.piglin.celebrate",
+ EntityPiglinDeath => "minecraft:entity.piglin.death",
+ EntityPiglinJealous => "minecraft:entity.piglin.jealous",
+ EntityPiglinHurt => "minecraft:entity.piglin.hurt",
+ EntityPiglinRetreat => "minecraft:entity.piglin.retreat",
+ EntityPiglinStep => "minecraft:entity.piglin.step",
+ EntityPiglinConvertedToZombified => "minecraft:entity.piglin.converted_to_zombified",
+ EntityPiglinBruteAmbient => "minecraft:entity.piglin_brute.ambient",
+ EntityPiglinBruteAngry => "minecraft:entity.piglin_brute.angry",
+ EntityPiglinBruteDeath => "minecraft:entity.piglin_brute.death",
+ EntityPiglinBruteHurt => "minecraft:entity.piglin_brute.hurt",
+ EntityPiglinBruteStep => "minecraft:entity.piglin_brute.step",
+ EntityPiglinBruteConvertedToZombified => "minecraft:entity.piglin_brute.converted_to_zombified",
+ EntityPillagerAmbient => "minecraft:entity.pillager.ambient",
+ EntityPillagerCelebrate => "minecraft:entity.pillager.celebrate",
+ EntityPillagerDeath => "minecraft:entity.pillager.death",
+ EntityPillagerHurt => "minecraft:entity.pillager.hurt",
+ BlockPistonContract => "minecraft:block.piston.contract",
+ BlockPistonExtend => "minecraft:block.piston.extend",
+ EntityPlayerAttackCrit => "minecraft:entity.player.attack.crit",
+ EntityPlayerAttackKnockback => "minecraft:entity.player.attack.knockback",
+ EntityPlayerAttackNodamage => "minecraft:entity.player.attack.nodamage",
+ EntityPlayerAttackStrong => "minecraft:entity.player.attack.strong",
+ EntityPlayerAttackSweep => "minecraft:entity.player.attack.sweep",
+ EntityPlayerAttackWeak => "minecraft:entity.player.attack.weak",
+ EntityPlayerBigFall => "minecraft:entity.player.big_fall",
+ EntityPlayerBreath => "minecraft:entity.player.breath",
+ EntityPlayerBurp => "minecraft:entity.player.burp",
+ EntityPlayerDeath => "minecraft:entity.player.death",
+ EntityPlayerHurt => "minecraft:entity.player.hurt",
+ EntityPlayerHurtDrown => "minecraft:entity.player.hurt_drown",
+ EntityPlayerHurtFreeze => "minecraft:entity.player.hurt_freeze",
+ EntityPlayerHurtOnFire => "minecraft:entity.player.hurt_on_fire",
+ EntityPlayerHurtSweetBerryBush => "minecraft:entity.player.hurt_sweet_berry_bush",
+ EntityPlayerLevelup => "minecraft:entity.player.levelup",
+ EntityPlayerSmallFall => "minecraft:entity.player.small_fall",
+ EntityPlayerSplash => "minecraft:entity.player.splash",
+ EntityPlayerSplashHighSpeed => "minecraft:entity.player.splash.high_speed",
+ EntityPlayerSwim => "minecraft:entity.player.swim",
+ EntityPlayerTeleport => "minecraft:entity.player.teleport",
+ EntityPolarBearAmbient => "minecraft:entity.polar_bear.ambient",
+ EntityPolarBearAmbientBaby => "minecraft:entity.polar_bear.ambient_baby",
+ EntityPolarBearDeath => "minecraft:entity.polar_bear.death",
+ EntityPolarBearHurt => "minecraft:entity.polar_bear.hurt",
+ EntityPolarBearStep => "minecraft:entity.polar_bear.step",
+ EntityPolarBearWarning => "minecraft:entity.polar_bear.warning",
+ BlockPolishedDeepslateBreak => "minecraft:block.polished_deepslate.break",
+ BlockPolishedDeepslateFall => "minecraft:block.polished_deepslate.fall",
+ BlockPolishedDeepslateHit => "minecraft:block.polished_deepslate.hit",
+ BlockPolishedDeepslatePlace => "minecraft:block.polished_deepslate.place",
+ BlockPolishedDeepslateStep => "minecraft:block.polished_deepslate.step",
+ BlockPortalAmbient => "minecraft:block.portal.ambient",
+ BlockPortalTravel => "minecraft:block.portal.travel",
+ BlockPortalTrigger => "minecraft:block.portal.trigger",
+ BlockPowderSnowBreak => "minecraft:block.powder_snow.break",
+ BlockPowderSnowFall => "minecraft:block.powder_snow.fall",
+ BlockPowderSnowHit => "minecraft:block.powder_snow.hit",
+ BlockPowderSnowPlace => "minecraft:block.powder_snow.place",
+ BlockPowderSnowStep => "minecraft:block.powder_snow.step",
+ EntityPufferFishBlowOut => "minecraft:entity.puffer_fish.blow_out",
+ EntityPufferFishBlowUp => "minecraft:entity.puffer_fish.blow_up",
+ EntityPufferFishDeath => "minecraft:entity.puffer_fish.death",
+ EntityPufferFishFlop => "minecraft:entity.puffer_fish.flop",
+ EntityPufferFishHurt => "minecraft:entity.puffer_fish.hurt",
+ EntityPufferFishSting => "minecraft:entity.puffer_fish.sting",
+ BlockPumpkinCarve => "minecraft:block.pumpkin.carve",
+ EntityRabbitAmbient => "minecraft:entity.rabbit.ambient",
+ EntityRabbitAttack => "minecraft:entity.rabbit.attack",
+ EntityRabbitDeath => "minecraft:entity.rabbit.death",
+ EntityRabbitHurt => "minecraft:entity.rabbit.hurt",
+ EntityRabbitJump => "minecraft:entity.rabbit.jump",
+ EventRaidHorn => "minecraft:event.raid.horn",
+ EntityRavagerAmbient => "minecraft:entity.ravager.ambient",
+ EntityRavagerAttack => "minecraft:entity.ravager.attack",
+ EntityRavagerCelebrate => "minecraft:entity.ravager.celebrate",
+ EntityRavagerDeath => "minecraft:entity.ravager.death",
+ EntityRavagerHurt => "minecraft:entity.ravager.hurt",
+ EntityRavagerStep => "minecraft:entity.ravager.step",
+ EntityRavagerStunned => "minecraft:entity.ravager.stunned",
+ EntityRavagerRoar => "minecraft:entity.ravager.roar",
+ BlockNetherGoldOreBreak => "minecraft:block.nether_gold_ore.break",
+ BlockNetherGoldOreFall => "minecraft:block.nether_gold_ore.fall",
+ BlockNetherGoldOreHit => "minecraft:block.nether_gold_ore.hit",
+ BlockNetherGoldOrePlace => "minecraft:block.nether_gold_ore.place",
+ BlockNetherGoldOreStep => "minecraft:block.nether_gold_ore.step",
+ BlockNetherOreBreak => "minecraft:block.nether_ore.break",
+ BlockNetherOreFall => "minecraft:block.nether_ore.fall",
+ BlockNetherOreHit => "minecraft:block.nether_ore.hit",
+ BlockNetherOrePlace => "minecraft:block.nether_ore.place",
+ BlockNetherOreStep => "minecraft:block.nether_ore.step",
+ BlockRedstoneTorchBurnout => "minecraft:block.redstone_torch.burnout",
+ BlockResinBreak => "minecraft:block.resin.break",
+ BlockResinFall => "minecraft:block.resin.fall",
+ BlockResinPlace => "minecraft:block.resin.place",
+ BlockResinStep => "minecraft:block.resin.step",
+ BlockResinBricksBreak => "minecraft:block.resin_bricks.break",
+ BlockResinBricksFall => "minecraft:block.resin_bricks.fall",
+ BlockResinBricksHit => "minecraft:block.resin_bricks.hit",
+ BlockResinBricksPlace => "minecraft:block.resin_bricks.place",
+ BlockResinBricksStep => "minecraft:block.resin_bricks.step",
+ BlockRespawnAnchorAmbient => "minecraft:block.respawn_anchor.ambient",
+ BlockRespawnAnchorCharge => "minecraft:block.respawn_anchor.charge",
+ BlockRespawnAnchorDeplete => "minecraft:block.respawn_anchor.deplete",
+ BlockRespawnAnchorSetSpawn => "minecraft:block.respawn_anchor.set_spawn",
+ BlockRootedDirtBreak => "minecraft:block.rooted_dirt.break",
+ BlockRootedDirtFall => "minecraft:block.rooted_dirt.fall",
+ BlockRootedDirtHit => "minecraft:block.rooted_dirt.hit",
+ BlockRootedDirtPlace => "minecraft:block.rooted_dirt.place",
+ BlockRootedDirtStep => "minecraft:block.rooted_dirt.step",
+ EntitySalmonAmbient => "minecraft:entity.salmon.ambient",
+ EntitySalmonDeath => "minecraft:entity.salmon.death",
+ EntitySalmonFlop => "minecraft:entity.salmon.flop",
+ EntitySalmonHurt => "minecraft:entity.salmon.hurt",
+ BlockSandBreak => "minecraft:block.sand.break",
+ BlockSandFall => "minecraft:block.sand.fall",
+ BlockSandHit => "minecraft:block.sand.hit",
+ BlockSandPlace => "minecraft:block.sand.place",
+ BlockSandStep => "minecraft:block.sand.step",
+ BlockSandIdle => "minecraft:block.sand.idle",
+ BlockScaffoldingBreak => "minecraft:block.scaffolding.break",
+ BlockScaffoldingFall => "minecraft:block.scaffolding.fall",
+ BlockScaffoldingHit => "minecraft:block.scaffolding.hit",
+ BlockScaffoldingPlace => "minecraft:block.scaffolding.place",
+ BlockScaffoldingStep => "minecraft:block.scaffolding.step",
+ BlockSculkSpread => "minecraft:block.sculk.spread",
+ BlockSculkCharge => "minecraft:block.sculk.charge",
+ BlockSculkBreak => "minecraft:block.sculk.break",
+ BlockSculkFall => "minecraft:block.sculk.fall",
+ BlockSculkHit => "minecraft:block.sculk.hit",
+ BlockSculkPlace => "minecraft:block.sculk.place",
+ BlockSculkStep => "minecraft:block.sculk.step",
+ BlockSculkCatalystBloom => "minecraft:block.sculk_catalyst.bloom",
+ BlockSculkCatalystBreak => "minecraft:block.sculk_catalyst.break",
+ BlockSculkCatalystFall => "minecraft:block.sculk_catalyst.fall",
+ BlockSculkCatalystHit => "minecraft:block.sculk_catalyst.hit",
+ BlockSculkCatalystPlace => "minecraft:block.sculk_catalyst.place",
+ BlockSculkCatalystStep => "minecraft:block.sculk_catalyst.step",
+ BlockSculkSensorClicking => "minecraft:block.sculk_sensor.clicking",
+ BlockSculkSensorClickingStop => "minecraft:block.sculk_sensor.clicking_stop",
+ BlockSculkSensorBreak => "minecraft:block.sculk_sensor.break",
+ BlockSculkSensorFall => "minecraft:block.sculk_sensor.fall",
+ BlockSculkSensorHit => "minecraft:block.sculk_sensor.hit",
+ BlockSculkSensorPlace => "minecraft:block.sculk_sensor.place",
+ BlockSculkSensorStep => "minecraft:block.sculk_sensor.step",
+ BlockSculkShriekerBreak => "minecraft:block.sculk_shrieker.break",
+ BlockSculkShriekerFall => "minecraft:block.sculk_shrieker.fall",
+ BlockSculkShriekerHit => "minecraft:block.sculk_shrieker.hit",
+ BlockSculkShriekerPlace => "minecraft:block.sculk_shrieker.place",
+ BlockSculkShriekerShriek => "minecraft:block.sculk_shrieker.shriek",
+ BlockSculkShriekerStep => "minecraft:block.sculk_shrieker.step",
+ BlockSculkVeinBreak => "minecraft:block.sculk_vein.break",
+ BlockSculkVeinFall => "minecraft:block.sculk_vein.fall",
+ BlockSculkVeinHit => "minecraft:block.sculk_vein.hit",
+ BlockSculkVeinPlace => "minecraft:block.sculk_vein.place",
+ BlockSculkVeinStep => "minecraft:block.sculk_vein.step",
+ EntitySheepAmbient => "minecraft:entity.sheep.ambient",
+ EntitySheepDeath => "minecraft:entity.sheep.death",
+ EntitySheepHurt => "minecraft:entity.sheep.hurt",
+ EntitySheepShear => "minecraft:entity.sheep.shear",
+ EntitySheepStep => "minecraft:entity.sheep.step",
+ ItemShearsSnip => "minecraft:item.shears.snip",
+ BlockShelfActivate => "minecraft:block.shelf.activate",
+ BlockShelfBreak => "minecraft:block.shelf.break",
+ BlockShelfDeactivate => "minecraft:block.shelf.deactivate",
+ BlockShelfFall => "minecraft:block.shelf.fall",
+ BlockShelfHit => "minecraft:block.shelf.hit",
+ BlockShelfMultiSwap => "minecraft:block.shelf.multi_swap",
+ BlockShelfPlace => "minecraft:block.shelf.place",
+ BlockShelfPlaceItem => "minecraft:block.shelf.place_item",
+ BlockShelfSingleSwap => "minecraft:block.shelf.single_swap",
+ BlockShelfStep => "minecraft:block.shelf.step",
+ BlockShelfTakeItem => "minecraft:block.shelf.take_item",
+ ItemShieldBlock => "minecraft:item.shield.block",
+ ItemShieldBreak => "minecraft:item.shield.break",
+ BlockShroomlightBreak => "minecraft:block.shroomlight.break",
+ BlockShroomlightStep => "minecraft:block.shroomlight.step",
+ BlockShroomlightPlace => "minecraft:block.shroomlight.place",
+ BlockShroomlightHit => "minecraft:block.shroomlight.hit",
+ BlockShroomlightFall => "minecraft:block.shroomlight.fall",
+ ItemShovelFlatten => "minecraft:item.shovel.flatten",
+ EntityShulkerAmbient => "minecraft:entity.shulker.ambient",
+ BlockShulkerBoxClose => "minecraft:block.shulker_box.close",
+ BlockShulkerBoxOpen => "minecraft:block.shulker_box.open",
+ EntityShulkerBulletHit => "minecraft:entity.shulker_bullet.hit",
+ EntityShulkerBulletHurt => "minecraft:entity.shulker_bullet.hurt",
+ EntityShulkerClose => "minecraft:entity.shulker.close",
+ EntityShulkerDeath => "minecraft:entity.shulker.death",
+ EntityShulkerHurt => "minecraft:entity.shulker.hurt",
+ EntityShulkerHurtClosed => "minecraft:entity.shulker.hurt_closed",
+ EntityShulkerOpen => "minecraft:entity.shulker.open",
+ EntityShulkerShoot => "minecraft:entity.shulker.shoot",
+ EntityShulkerTeleport => "minecraft:entity.shulker.teleport",
+ EntitySilverfishAmbient => "minecraft:entity.silverfish.ambient",
+ EntitySilverfishDeath => "minecraft:entity.silverfish.death",
+ EntitySilverfishHurt => "minecraft:entity.silverfish.hurt",
+ EntitySilverfishStep => "minecraft:entity.silverfish.step",
+ EntitySkeletonAmbient => "minecraft:entity.skeleton.ambient",
+ EntitySkeletonConvertedToStray => "minecraft:entity.skeleton.converted_to_stray",
+ EntitySkeletonDeath => "minecraft:entity.skeleton.death",
+ EntitySkeletonHorseAmbient => "minecraft:entity.skeleton_horse.ambient",
+ EntitySkeletonHorseDeath => "minecraft:entity.skeleton_horse.death",
+ EntitySkeletonHorseHurt => "minecraft:entity.skeleton_horse.hurt",
+ EntitySkeletonHorseSwim => "minecraft:entity.skeleton_horse.swim",
+ EntitySkeletonHorseAmbientWater => "minecraft:entity.skeleton_horse.ambient_water",
+ EntitySkeletonHorseGallopWater => "minecraft:entity.skeleton_horse.gallop_water",
+ EntitySkeletonHorseJumpWater => "minecraft:entity.skeleton_horse.jump_water",
+ EntitySkeletonHorseStepWater => "minecraft:entity.skeleton_horse.step_water",
+ EntitySkeletonHurt => "minecraft:entity.skeleton.hurt",
+ EntitySkeletonShoot => "minecraft:entity.skeleton.shoot",
+ EntitySkeletonStep => "minecraft:entity.skeleton.step",
+ EntitySlimeAttack => "minecraft:entity.slime.attack",
+ EntitySlimeDeath => "minecraft:entity.slime.death",
+ EntitySlimeHurt => "minecraft:entity.slime.hurt",
+ EntitySlimeJump => "minecraft:entity.slime.jump",
+ EntitySlimeSquish => "minecraft:entity.slime.squish",
+ BlockSlimeBlockBreak => "minecraft:block.slime_block.break",
+ BlockSlimeBlockFall => "minecraft:block.slime_block.fall",
+ BlockSlimeBlockHit => "minecraft:block.slime_block.hit",
+ BlockSlimeBlockPlace => "minecraft:block.slime_block.place",
+ BlockSlimeBlockStep => "minecraft:block.slime_block.step",
+ BlockSmallAmethystBudBreak => "minecraft:block.small_amethyst_bud.break",
+ BlockSmallAmethystBudPlace => "minecraft:block.small_amethyst_bud.place",
+ BlockSmallDripleafBreak => "minecraft:block.small_dripleaf.break",
+ BlockSmallDripleafFall => "minecraft:block.small_dripleaf.fall",
+ BlockSmallDripleafHit => "minecraft:block.small_dripleaf.hit",
+ BlockSmallDripleafPlace => "minecraft:block.small_dripleaf.place",
+ BlockSmallDripleafStep => "minecraft:block.small_dripleaf.step",
+ BlockSoulSandBreak => "minecraft:block.soul_sand.break",
+ BlockSoulSandStep => "minecraft:block.soul_sand.step",
+ BlockSoulSandPlace => "minecraft:block.soul_sand.place",
+ BlockSoulSandHit => "minecraft:block.soul_sand.hit",
+ BlockSoulSandFall => "minecraft:block.soul_sand.fall",
+ BlockSoulSoilBreak => "minecraft:block.soul_soil.break",
+ BlockSoulSoilStep => "minecraft:block.soul_soil.step",
+ BlockSoulSoilPlace => "minecraft:block.soul_soil.place",
+ BlockSoulSoilHit => "minecraft:block.soul_soil.hit",
+ BlockSoulSoilFall => "minecraft:block.soul_soil.fall",
+ ParticleSoulEscape => "minecraft:particle.soul_escape",
+ BlockSpawnerBreak => "minecraft:block.spawner.break",
+ BlockSpawnerFall => "minecraft:block.spawner.fall",
+ BlockSpawnerHit => "minecraft:block.spawner.hit",
+ BlockSpawnerPlace => "minecraft:block.spawner.place",
+ BlockSpawnerStep => "minecraft:block.spawner.step",
+ ItemSpearUse => "minecraft:item.spear.use",
+ ItemSpearHit => "minecraft:item.spear.hit",
+ ItemSpearAttack => "minecraft:item.spear.attack",
+ ItemSpearWoodUse => "minecraft:item.spear_wood.use",
+ ItemSpearWoodHit => "minecraft:item.spear_wood.hit",
+ ItemSpearWoodAttack => "minecraft:item.spear_wood.attack",
+ BlockSporeBlossomBreak => "minecraft:block.spore_blossom.break",
+ BlockSporeBlossomFall => "minecraft:block.spore_blossom.fall",
+ BlockSporeBlossomHit => "minecraft:block.spore_blossom.hit",
+ BlockSporeBlossomPlace => "minecraft:block.spore_blossom.place",
+ BlockSporeBlossomStep => "minecraft:block.spore_blossom.step",
+ EntityStriderAmbient => "minecraft:entity.strider.ambient",
+ EntityStriderHappy => "minecraft:entity.strider.happy",
+ EntityStriderRetreat => "minecraft:entity.strider.retreat",
+ EntityStriderDeath => "minecraft:entity.strider.death",
+ EntityStriderHurt => "minecraft:entity.strider.hurt",
+ EntityStriderStep => "minecraft:entity.strider.step",
+ EntityStriderStepLava => "minecraft:entity.strider.step_lava",
+ EntityStriderEat => "minecraft:entity.strider.eat",
+ EntityStriderSaddle => "minecraft:entity.strider.saddle",
+ EntitySlimeDeathSmall => "minecraft:entity.slime.death_small",
+ EntitySlimeHurtSmall => "minecraft:entity.slime.hurt_small",
+ EntitySlimeJumpSmall => "minecraft:entity.slime.jump_small",
+ EntitySlimeSquishSmall => "minecraft:entity.slime.squish_small",
+ BlockSmithingTableUse => "minecraft:block.smithing_table.use",
+ BlockSmokerSmoke => "minecraft:block.smoker.smoke",
+ EntitySnifferStep => "minecraft:entity.sniffer.step",
+ EntitySnifferEat => "minecraft:entity.sniffer.eat",
+ EntitySnifferIdle => "minecraft:entity.sniffer.idle",
+ EntitySnifferHurt => "minecraft:entity.sniffer.hurt",
+ EntitySnifferDeath => "minecraft:entity.sniffer.death",
+ EntitySnifferDropSeed => "minecraft:entity.sniffer.drop_seed",
+ EntitySnifferScenting => "minecraft:entity.sniffer.scenting",
+ EntitySnifferSniffing => "minecraft:entity.sniffer.sniffing",
+ EntitySnifferSearching => "minecraft:entity.sniffer.searching",
+ EntitySnifferDigging => "minecraft:entity.sniffer.digging",
+ EntitySnifferDiggingStop => "minecraft:entity.sniffer.digging_stop",
+ EntitySnifferHappy => "minecraft:entity.sniffer.happy",
+ BlockSnifferEggPlop => "minecraft:block.sniffer_egg.plop",
+ BlockSnifferEggCrack => "minecraft:block.sniffer_egg.crack",
+ BlockSnifferEggHatch => "minecraft:block.sniffer_egg.hatch",
+ EntitySnowballThrow => "minecraft:entity.snowball.throw",
+ BlockSnowBreak => "minecraft:block.snow.break",
+ BlockSnowFall => "minecraft:block.snow.fall",
+ EntitySnowGolemAmbient => "minecraft:entity.snow_golem.ambient",
+ EntitySnowGolemDeath => "minecraft:entity.snow_golem.death",
+ EntitySnowGolemHurt => "minecraft:entity.snow_golem.hurt",
+ EntitySnowGolemShoot => "minecraft:entity.snow_golem.shoot",
+ EntitySnowGolemShear => "minecraft:entity.snow_golem.shear",
+ BlockSnowHit => "minecraft:block.snow.hit",
+ BlockSnowPlace => "minecraft:block.snow.place",
+ BlockSnowStep => "minecraft:block.snow.step",
+ EntitySpiderAmbient => "minecraft:entity.spider.ambient",
+ EntitySpiderDeath => "minecraft:entity.spider.death",
+ EntitySpiderHurt => "minecraft:entity.spider.hurt",
+ EntitySpiderStep => "minecraft:entity.spider.step",
+ EntitySplashPotionBreak => "minecraft:entity.splash_potion.break",
+ EntitySplashPotionThrow => "minecraft:entity.splash_potion.throw",
+ BlockSpongeBreak => "minecraft:block.sponge.break",
+ BlockSpongeFall => "minecraft:block.sponge.fall",
+ BlockSpongeHit => "minecraft:block.sponge.hit",
+ BlockSpongePlace => "minecraft:block.sponge.place",
+ BlockSpongeStep => "minecraft:block.sponge.step",
+ BlockSpongeAbsorb => "minecraft:block.sponge.absorb",
+ ItemSpyglassUse => "minecraft:item.spyglass.use",
+ ItemSpyglassStopUsing => "minecraft:item.spyglass.stop_using",
+ EntitySquidAmbient => "minecraft:entity.squid.ambient",
+ EntitySquidDeath => "minecraft:entity.squid.death",
+ EntitySquidHurt => "minecraft:entity.squid.hurt",
+ EntitySquidSquirt => "minecraft:entity.squid.squirt",
+ BlockStoneBreak => "minecraft:block.stone.break",
+ BlockStoneButtonClickOff => "minecraft:block.stone_button.click_off",
+ BlockStoneButtonClickOn => "minecraft:block.stone_button.click_on",
+ BlockStoneFall => "minecraft:block.stone.fall",
+ BlockStoneHit => "minecraft:block.stone.hit",
+ BlockStonePlace => "minecraft:block.stone.place",
+ BlockStonePressurePlateClickOff => "minecraft:block.stone_pressure_plate.click_off",
+ BlockStonePressurePlateClickOn => "minecraft:block.stone_pressure_plate.click_on",
+ BlockStoneStep => "minecraft:block.stone.step",
+ EntityStrayAmbient => "minecraft:entity.stray.ambient",
+ EntityStrayDeath => "minecraft:entity.stray.death",
+ EntityStrayHurt => "minecraft:entity.stray.hurt",
+ EntityStrayStep => "minecraft:entity.stray.step",
+ BlockSweetBerryBushBreak => "minecraft:block.sweet_berry_bush.break",
+ BlockSweetBerryBushPlace => "minecraft:block.sweet_berry_bush.place",
+ BlockSweetBerryBushPickBerries => "minecraft:block.sweet_berry_bush.pick_berries",
+ EntityTadpoleDeath => "minecraft:entity.tadpole.death",
+ EntityTadpoleFlop => "minecraft:entity.tadpole.flop",
+ EntityTadpoleGrowUp => "minecraft:entity.tadpole.grow_up",
+ EntityTadpoleHurt => "minecraft:entity.tadpole.hurt",
+ EnchantThornsHit => "minecraft:enchant.thorns.hit",
+ EntityTntPrimed => "minecraft:entity.tnt.primed",
+ ItemTotemUse => "minecraft:item.totem.use",
+ ItemTridentHit => "minecraft:item.trident.hit",
+ ItemTridentHitGround => "minecraft:item.trident.hit_ground",
+ ItemTridentReturn => "minecraft:item.trident.return",
+ ItemTridentRiptide1 => "minecraft:item.trident.riptide_1",
+ ItemTridentRiptide2 => "minecraft:item.trident.riptide_2",
+ ItemTridentRiptide3 => "minecraft:item.trident.riptide_3",
+ ItemTridentThrow => "minecraft:item.trident.throw",
+ ItemTridentThunder => "minecraft:item.trident.thunder",
+ BlockTripwireAttach => "minecraft:block.tripwire.attach",
+ BlockTripwireClickOff => "minecraft:block.tripwire.click_off",
+ BlockTripwireClickOn => "minecraft:block.tripwire.click_on",
+ BlockTripwireDetach => "minecraft:block.tripwire.detach",
+ EntityTropicalFishAmbient => "minecraft:entity.tropical_fish.ambient",
+ EntityTropicalFishDeath => "minecraft:entity.tropical_fish.death",
+ EntityTropicalFishFlop => "minecraft:entity.tropical_fish.flop",
+ EntityTropicalFishHurt => "minecraft:entity.tropical_fish.hurt",
+ BlockTuffBreak => "minecraft:block.tuff.break",
+ BlockTuffStep => "minecraft:block.tuff.step",
+ BlockTuffPlace => "minecraft:block.tuff.place",
+ BlockTuffHit => "minecraft:block.tuff.hit",
+ BlockTuffFall => "minecraft:block.tuff.fall",
+ BlockTuffBricksBreak => "minecraft:block.tuff_bricks.break",
+ BlockTuffBricksFall => "minecraft:block.tuff_bricks.fall",
+ BlockTuffBricksHit => "minecraft:block.tuff_bricks.hit",
+ BlockTuffBricksPlace => "minecraft:block.tuff_bricks.place",
+ BlockTuffBricksStep => "minecraft:block.tuff_bricks.step",
+ BlockPolishedTuffBreak => "minecraft:block.polished_tuff.break",
+ BlockPolishedTuffFall => "minecraft:block.polished_tuff.fall",
+ BlockPolishedTuffHit => "minecraft:block.polished_tuff.hit",
+ BlockPolishedTuffPlace => "minecraft:block.polished_tuff.place",
+ BlockPolishedTuffStep => "minecraft:block.polished_tuff.step",
+ EntityTurtleAmbientLand => "minecraft:entity.turtle.ambient_land",
+ EntityTurtleDeath => "minecraft:entity.turtle.death",
+ EntityTurtleDeathBaby => "minecraft:entity.turtle.death_baby",
+ EntityTurtleEggBreak => "minecraft:entity.turtle.egg_break",
+ EntityTurtleEggCrack => "minecraft:entity.turtle.egg_crack",
+ EntityTurtleEggHatch => "minecraft:entity.turtle.egg_hatch",
+ EntityTurtleHurt => "minecraft:entity.turtle.hurt",
+ EntityTurtleHurtBaby => "minecraft:entity.turtle.hurt_baby",
+ EntityTurtleLayEgg => "minecraft:entity.turtle.lay_egg",
+ EntityTurtleShamble => "minecraft:entity.turtle.shamble",
+ EntityTurtleShambleBaby => "minecraft:entity.turtle.shamble_baby",
+ EntityTurtleSwim => "minecraft:entity.turtle.swim",
+ UiButtonClick => "minecraft:ui.button.click",
+ UiLoomSelectPattern => "minecraft:ui.loom.select_pattern",
+ UiLoomTakeResult => "minecraft:ui.loom.take_result",
+ UiCartographyTableTakeResult => "minecraft:ui.cartography_table.take_result",
+ UiStonecutterTakeResult => "minecraft:ui.stonecutter.take_result",
+ UiStonecutterSelectRecipe => "minecraft:ui.stonecutter.select_recipe",
+ UiToastChallengeComplete => "minecraft:ui.toast.challenge_complete",
+ UiToastIn => "minecraft:ui.toast.in",
+ UiToastOut => "minecraft:ui.toast.out",
+ BlockVaultActivate => "minecraft:block.vault.activate",
+ BlockVaultAmbient => "minecraft:block.vault.ambient",
+ BlockVaultBreak => "minecraft:block.vault.break",
+ BlockVaultCloseShutter => "minecraft:block.vault.close_shutter",
+ BlockVaultDeactivate => "minecraft:block.vault.deactivate",
+ BlockVaultEjectItem => "minecraft:block.vault.eject_item",
+ BlockVaultRejectRewardedPlayer => "minecraft:block.vault.reject_rewarded_player",
+ BlockVaultFall => "minecraft:block.vault.fall",
+ BlockVaultHit => "minecraft:block.vault.hit",
+ BlockVaultInsertItem => "minecraft:block.vault.insert_item",
+ BlockVaultInsertItemFail => "minecraft:block.vault.insert_item_fail",
+ BlockVaultOpenShutter => "minecraft:block.vault.open_shutter",
+ BlockVaultPlace => "minecraft:block.vault.place",
+ BlockVaultStep => "minecraft:block.vault.step",
+ EntityVexAmbient => "minecraft:entity.vex.ambient",
+ EntityVexCharge => "minecraft:entity.vex.charge",
+ EntityVexDeath => "minecraft:entity.vex.death",
+ EntityVexHurt => "minecraft:entity.vex.hurt",
+ EntityVillagerAmbient => "minecraft:entity.villager.ambient",
+ EntityVillagerCelebrate => "minecraft:entity.villager.celebrate",
+ EntityVillagerDeath => "minecraft:entity.villager.death",
+ EntityVillagerHurt => "minecraft:entity.villager.hurt",
+ EntityVillagerNo => "minecraft:entity.villager.no",
+ EntityVillagerTrade => "minecraft:entity.villager.trade",
+ EntityVillagerYes => "minecraft:entity.villager.yes",
+ EntityVillagerWorkArmorer => "minecraft:entity.villager.work_armorer",
+ EntityVillagerWorkButcher => "minecraft:entity.villager.work_butcher",
+ EntityVillagerWorkCartographer => "minecraft:entity.villager.work_cartographer",
+ EntityVillagerWorkCleric => "minecraft:entity.villager.work_cleric",
+ EntityVillagerWorkFarmer => "minecraft:entity.villager.work_farmer",
+ EntityVillagerWorkFisherman => "minecraft:entity.villager.work_fisherman",
+ EntityVillagerWorkFletcher => "minecraft:entity.villager.work_fletcher",
+ EntityVillagerWorkLeatherworker => "minecraft:entity.villager.work_leatherworker",
+ EntityVillagerWorkLibrarian => "minecraft:entity.villager.work_librarian",
+ EntityVillagerWorkMason => "minecraft:entity.villager.work_mason",
+ EntityVillagerWorkShepherd => "minecraft:entity.villager.work_shepherd",
+ EntityVillagerWorkToolsmith => "minecraft:entity.villager.work_toolsmith",
+ EntityVillagerWorkWeaponsmith => "minecraft:entity.villager.work_weaponsmith",
+ EntityVindicatorAmbient => "minecraft:entity.vindicator.ambient",
+ EntityVindicatorCelebrate => "minecraft:entity.vindicator.celebrate",
+ EntityVindicatorDeath => "minecraft:entity.vindicator.death",
+ EntityVindicatorHurt => "minecraft:entity.vindicator.hurt",
+ BlockVineBreak => "minecraft:block.vine.break",
+ BlockVineFall => "minecraft:block.vine.fall",
+ BlockVineHit => "minecraft:block.vine.hit",
+ BlockVinePlace => "minecraft:block.vine.place",
+ BlockVineStep => "minecraft:block.vine.step",
+ BlockLilyPadPlace => "minecraft:block.lily_pad.place",
+ EntityWanderingTraderAmbient => "minecraft:entity.wandering_trader.ambient",
+ EntityWanderingTraderDeath => "minecraft:entity.wandering_trader.death",
+ EntityWanderingTraderDisappeared => "minecraft:entity.wandering_trader.disappeared",
+ EntityWanderingTraderDrinkMilk => "minecraft:entity.wandering_trader.drink_milk",
+ EntityWanderingTraderDrinkPotion => "minecraft:entity.wandering_trader.drink_potion",
+ EntityWanderingTraderHurt => "minecraft:entity.wandering_trader.hurt",
+ EntityWanderingTraderNo => "minecraft:entity.wandering_trader.no",
+ EntityWanderingTraderReappeared => "minecraft:entity.wandering_trader.reappeared",
+ EntityWanderingTraderTrade => "minecraft:entity.wandering_trader.trade",
+ EntityWanderingTraderYes => "minecraft:entity.wandering_trader.yes",
+ EntityWardenAgitated => "minecraft:entity.warden.agitated",
+ EntityWardenAmbient => "minecraft:entity.warden.ambient",
+ EntityWardenAngry => "minecraft:entity.warden.angry",
+ EntityWardenAttackImpact => "minecraft:entity.warden.attack_impact",
+ EntityWardenDeath => "minecraft:entity.warden.death",
+ EntityWardenDig => "minecraft:entity.warden.dig",
+ EntityWardenEmerge => "minecraft:entity.warden.emerge",
+ EntityWardenHeartbeat => "minecraft:entity.warden.heartbeat",
+ EntityWardenHurt => "minecraft:entity.warden.hurt",
+ EntityWardenListening => "minecraft:entity.warden.listening",
+ EntityWardenListeningAngry => "minecraft:entity.warden.listening_angry",
+ EntityWardenNearbyClose => "minecraft:entity.warden.nearby_close",
+ EntityWardenNearbyCloser => "minecraft:entity.warden.nearby_closer",
+ EntityWardenNearbyClosest => "minecraft:entity.warden.nearby_closest",
+ EntityWardenRoar => "minecraft:entity.warden.roar",
+ EntityWardenSniff => "minecraft:entity.warden.sniff",
+ EntityWardenSonicBoom => "minecraft:entity.warden.sonic_boom",
+ EntityWardenSonicCharge => "minecraft:entity.warden.sonic_charge",
+ EntityWardenStep => "minecraft:entity.warden.step",
+ EntityWardenTendrilClicks => "minecraft:entity.warden.tendril_clicks",
+ BlockHangingSignWaxedInteractFail => "minecraft:block.hanging_sign.waxed_interact_fail",
+ BlockSignWaxedInteractFail => "minecraft:block.sign.waxed_interact_fail",
+ BlockWaterAmbient => "minecraft:block.water.ambient",
+ WeatherEndFlash => "minecraft:weather.end_flash",
+ WeatherRain => "minecraft:weather.rain",
+ WeatherRainAbove => "minecraft:weather.rain.above",
+ BlockWetGrassBreak => "minecraft:block.wet_grass.break",
+ BlockWetGrassFall => "minecraft:block.wet_grass.fall",
+ BlockWetGrassHit => "minecraft:block.wet_grass.hit",
+ BlockWetGrassPlace => "minecraft:block.wet_grass.place",
+ BlockWetGrassStep => "minecraft:block.wet_grass.step",
+ BlockWetSpongeBreak => "minecraft:block.wet_sponge.break",
+ BlockWetSpongeDries => "minecraft:block.wet_sponge.dries",
+ BlockWetSpongeFall => "minecraft:block.wet_sponge.fall",
+ BlockWetSpongeHit => "minecraft:block.wet_sponge.hit",
+ BlockWetSpongePlace => "minecraft:block.wet_sponge.place",
+ BlockWetSpongeStep => "minecraft:block.wet_sponge.step",
+ EntityWindChargeWindBurst => "minecraft:entity.wind_charge.wind_burst",
+ EntityWindChargeThrow => "minecraft:entity.wind_charge.throw",
+ EntityWitchAmbient => "minecraft:entity.witch.ambient",
+ EntityWitchCelebrate => "minecraft:entity.witch.celebrate",
+ EntityWitchDeath => "minecraft:entity.witch.death",
+ EntityWitchDrink => "minecraft:entity.witch.drink",
+ EntityWitchHurt => "minecraft:entity.witch.hurt",
+ EntityWitchThrow => "minecraft:entity.witch.throw",
+ EntityWitherAmbient => "minecraft:entity.wither.ambient",
+ EntityWitherBreakBlock => "minecraft:entity.wither.break_block",
+ EntityWitherDeath => "minecraft:entity.wither.death",
+ EntityWitherHurt => "minecraft:entity.wither.hurt",
+ EntityWitherShoot => "minecraft:entity.wither.shoot",
+ EntityWitherSkeletonAmbient => "minecraft:entity.wither_skeleton.ambient",
+ EntityWitherSkeletonDeath => "minecraft:entity.wither_skeleton.death",
+ EntityWitherSkeletonHurt => "minecraft:entity.wither_skeleton.hurt",
+ EntityWitherSkeletonStep => "minecraft:entity.wither_skeleton.step",
+ EntityWitherSpawn => "minecraft:entity.wither.spawn",
+ ItemWolfArmorBreak => "minecraft:item.wolf_armor.break",
+ ItemWolfArmorCrack => "minecraft:item.wolf_armor.crack",
+ ItemWolfArmorDamage => "minecraft:item.wolf_armor.damage",
+ ItemWolfArmorRepair => "minecraft:item.wolf_armor.repair",
+ EntityWolfShake => "minecraft:entity.wolf.shake",
+ EntityWolfStep => "minecraft:entity.wolf.step",
+ EntityWolfAmbient => "minecraft:entity.wolf.ambient",
+ EntityWolfDeath => "minecraft:entity.wolf.death",
+ EntityWolfGrowl => "minecraft:entity.wolf.growl",
+ EntityWolfHurt => "minecraft:entity.wolf.hurt",
+ EntityWolfPant => "minecraft:entity.wolf.pant",
+ EntityWolfWhine => "minecraft:entity.wolf.whine",
+ EntityWolfPuglinAmbient => "minecraft:entity.wolf_puglin.ambient",
+ EntityWolfPuglinDeath => "minecraft:entity.wolf_puglin.death",
+ EntityWolfPuglinGrowl => "minecraft:entity.wolf_puglin.growl",
+ EntityWolfPuglinHurt => "minecraft:entity.wolf_puglin.hurt",
+ EntityWolfPuglinPant => "minecraft:entity.wolf_puglin.pant",
+ EntityWolfPuglinWhine => "minecraft:entity.wolf_puglin.whine",
+ EntityWolfSadAmbient => "minecraft:entity.wolf_sad.ambient",
+ EntityWolfSadDeath => "minecraft:entity.wolf_sad.death",
+ EntityWolfSadGrowl => "minecraft:entity.wolf_sad.growl",
+ EntityWolfSadHurt => "minecraft:entity.wolf_sad.hurt",
+ EntityWolfSadPant => "minecraft:entity.wolf_sad.pant",
+ EntityWolfSadWhine => "minecraft:entity.wolf_sad.whine",
+ EntityWolfAngryAmbient => "minecraft:entity.wolf_angry.ambient",
+ EntityWolfAngryDeath => "minecraft:entity.wolf_angry.death",
+ EntityWolfAngryGrowl => "minecraft:entity.wolf_angry.growl",
+ EntityWolfAngryHurt => "minecraft:entity.wolf_angry.hurt",
+ EntityWolfAngryPant => "minecraft:entity.wolf_angry.pant",
+ EntityWolfAngryWhine => "minecraft:entity.wolf_angry.whine",
+ EntityWolfGrumpyAmbient => "minecraft:entity.wolf_grumpy.ambient",
+ EntityWolfGrumpyDeath => "minecraft:entity.wolf_grumpy.death",
+ EntityWolfGrumpyGrowl => "minecraft:entity.wolf_grumpy.growl",
+ EntityWolfGrumpyHurt => "minecraft:entity.wolf_grumpy.hurt",
+ EntityWolfGrumpyPant => "minecraft:entity.wolf_grumpy.pant",
+ EntityWolfGrumpyWhine => "minecraft:entity.wolf_grumpy.whine",
+ EntityWolfBigAmbient => "minecraft:entity.wolf_big.ambient",
+ EntityWolfBigDeath => "minecraft:entity.wolf_big.death",
+ EntityWolfBigGrowl => "minecraft:entity.wolf_big.growl",
+ EntityWolfBigHurt => "minecraft:entity.wolf_big.hurt",
+ EntityWolfBigPant => "minecraft:entity.wolf_big.pant",
+ EntityWolfBigWhine => "minecraft:entity.wolf_big.whine",
+ EntityWolfCuteAmbient => "minecraft:entity.wolf_cute.ambient",
+ EntityWolfCuteDeath => "minecraft:entity.wolf_cute.death",
+ EntityWolfCuteGrowl => "minecraft:entity.wolf_cute.growl",
+ EntityWolfCuteHurt => "minecraft:entity.wolf_cute.hurt",
+ EntityWolfCutePant => "minecraft:entity.wolf_cute.pant",
+ EntityWolfCuteWhine => "minecraft:entity.wolf_cute.whine",
+ BlockWoodenDoorClose => "minecraft:block.wooden_door.close",
+ BlockWoodenDoorOpen => "minecraft:block.wooden_door.open",
+ BlockWoodenTrapdoorClose => "minecraft:block.wooden_trapdoor.close",
+ BlockWoodenTrapdoorOpen => "minecraft:block.wooden_trapdoor.open",
+ BlockWoodenButtonClickOff => "minecraft:block.wooden_button.click_off",
+ BlockWoodenButtonClickOn => "minecraft:block.wooden_button.click_on",
+ BlockWoodenPressurePlateClickOff => "minecraft:block.wooden_pressure_plate.click_off",
+ BlockWoodenPressurePlateClickOn => "minecraft:block.wooden_pressure_plate.click_on",
+ BlockWoodBreak => "minecraft:block.wood.break",
+ BlockWoodFall => "minecraft:block.wood.fall",
+ BlockWoodHit => "minecraft:block.wood.hit",
+ BlockWoodPlace => "minecraft:block.wood.place",
+ BlockWoodStep => "minecraft:block.wood.step",
+ BlockWoolBreak => "minecraft:block.wool.break",
+ BlockWoolFall => "minecraft:block.wool.fall",
+ BlockWoolHit => "minecraft:block.wool.hit",
+ BlockWoolPlace => "minecraft:block.wool.place",
+ BlockWoolStep => "minecraft:block.wool.step",
+ EntityZoglinAmbient => "minecraft:entity.zoglin.ambient",
+ EntityZoglinAngry => "minecraft:entity.zoglin.angry",
+ EntityZoglinAttack => "minecraft:entity.zoglin.attack",
+ EntityZoglinDeath => "minecraft:entity.zoglin.death",
+ EntityZoglinHurt => "minecraft:entity.zoglin.hurt",
+ EntityZoglinStep => "minecraft:entity.zoglin.step",
+ EntityZombieAmbient => "minecraft:entity.zombie.ambient",
+ EntityZombieAttackWoodenDoor => "minecraft:entity.zombie.attack_wooden_door",
+ EntityZombieAttackIronDoor => "minecraft:entity.zombie.attack_iron_door",
+ EntityZombieBreakWoodenDoor => "minecraft:entity.zombie.break_wooden_door",
+ EntityZombieConvertedToDrowned => "minecraft:entity.zombie.converted_to_drowned",
+ EntityZombieDeath => "minecraft:entity.zombie.death",
+ EntityZombieDestroyEgg => "minecraft:entity.zombie.destroy_egg",
+ EntityZombieHorseAmbient => "minecraft:entity.zombie_horse.ambient",
+ EntityZombieHorseAngry => "minecraft:entity.zombie_horse.angry",
+ EntityZombieHorseDeath => "minecraft:entity.zombie_horse.death",
+ EntityZombieHorseEat => "minecraft:entity.zombie_horse.eat",
+ EntityZombieHorseHurt => "minecraft:entity.zombie_horse.hurt",
+ EntityZombieHurt => "minecraft:entity.zombie.hurt",
+ EntityZombieInfect => "minecraft:entity.zombie.infect",
+ EntityZombieNautilusAmbient => "minecraft:entity.zombie_nautilus.ambient",
+ EntityZombieNautilusAmbientLand => "minecraft:entity.zombie_nautilus.ambient_land",
+ EntityZombieNautilusDash => "minecraft:entity.zombie_nautilus.dash",
+ EntityZombieNautilusDashLand => "minecraft:entity.zombie_nautilus.dash_land",
+ EntityZombieNautilusDashReady => "minecraft:entity.zombie_nautilus.dash_ready",
+ EntityZombieNautilusDashReadyLand => "minecraft:entity.zombie_nautilus.dash_ready_land",
+ EntityZombieNautilusDeath => "minecraft:entity.zombie_nautilus.death",
+ EntityZombieNautilusDeathLand => "minecraft:entity.zombie_nautilus.death_land",
+ EntityZombieNautilusEat => "minecraft:entity.zombie_nautilus.eat",
+ EntityZombieNautilusHurt => "minecraft:entity.zombie_nautilus.hurt",
+ EntityZombieNautilusHurtLand => "minecraft:entity.zombie_nautilus.hurt_land",
+ EntityZombieNautilusSwim => "minecraft:entity.zombie_nautilus.swim",
+ EntityZombifiedPiglinAmbient => "minecraft:entity.zombified_piglin.ambient",
+ EntityZombifiedPiglinAngry => "minecraft:entity.zombified_piglin.angry",
+ EntityZombifiedPiglinDeath => "minecraft:entity.zombified_piglin.death",
+ EntityZombifiedPiglinHurt => "minecraft:entity.zombified_piglin.hurt",
+ EntityZombieStep => "minecraft:entity.zombie.step",
+ EntityZombieVillagerAmbient => "minecraft:entity.zombie_villager.ambient",
+ EntityZombieVillagerConverted => "minecraft:entity.zombie_villager.converted",
+ EntityZombieVillagerCure => "minecraft:entity.zombie_villager.cure",
+ EntityZombieVillagerDeath => "minecraft:entity.zombie_villager.death",
+ EntityZombieVillagerHurt => "minecraft:entity.zombie_villager.hurt",
+ EntityZombieVillagerStep => "minecraft:entity.zombie_villager.step",
+ EventMobEffectBadOmen => "minecraft:event.mob_effect.bad_omen",
+ EventMobEffectTrialOmen => "minecraft:event.mob_effect.trial_omen",
+ EventMobEffectRaidOmen => "minecraft:event.mob_effect.raid_omen",
+ ItemSaddleUnequip => "minecraft:item.saddle.unequip",
+ ItemNautilusSaddleUnderwaterEquip => "minecraft:item.nautilus_saddle_underwater_equip",
+ ItemNautilusSaddleEquip => "minecraft:item.nautilus_saddle_equip",
+}
+}
+
+registry! {
+enum StatKind {
+ Mined => "minecraft:mined",
+ Crafted => "minecraft:crafted",
+ Used => "minecraft:used",
+ Broken => "minecraft:broken",
+ PickedUp => "minecraft:picked_up",
+ Dropped => "minecraft:dropped",
+ Killed => "minecraft:killed",
+ KilledBy => "minecraft:killed_by",
+ Custom => "minecraft:custom",
+}
+}
+
+registry! {
+enum VillagerProfession {
+ None => "minecraft:none",
+ Armorer => "minecraft:armorer",
+ Butcher => "minecraft:butcher",
+ Cartographer => "minecraft:cartographer",
+ Cleric => "minecraft:cleric",
+ Farmer => "minecraft:farmer",
+ Fisherman => "minecraft:fisherman",
+ Fletcher => "minecraft:fletcher",
+ Leatherworker => "minecraft:leatherworker",
+ Librarian => "minecraft:librarian",
+ Mason => "minecraft:mason",
+ Nitwit => "minecraft:nitwit",
+ Shepherd => "minecraft:shepherd",
+ Toolsmith => "minecraft:toolsmith",
+ Weaponsmith => "minecraft:weaponsmith",
+}
+}
+
+registry! {
+enum VillagerKind {
+ Desert => "minecraft:desert",
+ Jungle => "minecraft:jungle",
+ Plains => "minecraft:plains",
+ Savanna => "minecraft:savanna",
+ Snow => "minecraft:snow",
+ Swamp => "minecraft:swamp",
+ Taiga => "minecraft:taiga",
+}
+}
+
+registry! {
+enum WorldgenBiomeSource {
+ Fixed => "minecraft:fixed",
+ MultiNoise => "minecraft:multi_noise",
+ Checkerboard => "minecraft:checkerboard",
+ TheEnd => "minecraft:the_end",
+}
+}
+
+registry! {
+enum WorldgenBlockStateProviderKind {
+ SimpleStateProvider => "minecraft:simple_state_provider",
+ WeightedStateProvider => "minecraft:weighted_state_provider",
+ NoiseThresholdProvider => "minecraft:noise_threshold_provider",
+ NoiseProvider => "minecraft:noise_provider",
+ DualNoiseProvider => "minecraft:dual_noise_provider",
+ RotatedBlockProvider => "minecraft:rotated_block_provider",
+ RandomizedIntStateProvider => "minecraft:randomized_int_state_provider",
+}
+}
+
+registry! {
+enum WorldgenCarver {
+ Cave => "minecraft:cave",
+ NetherCave => "minecraft:nether_cave",
+ Canyon => "minecraft:canyon",
+}
+}
+
+registry! {
+enum WorldgenChunkGenerator {
+ Noise => "minecraft:noise",
+ Flat => "minecraft:flat",
+ Debug => "minecraft:debug",
+}
+}
+
+registry! {
+enum WorldgenDensityFunctionKind {
+ BlendAlpha => "minecraft:blend_alpha",
+ BlendOffset => "minecraft:blend_offset",
+ Beardifier => "minecraft:beardifier",
+ OldBlendedNoise => "minecraft:old_blended_noise",
+ Interpolated => "minecraft:interpolated",
+ FlatCache => "minecraft:flat_cache",
+ Cache2d => "minecraft:cache_2d",
+ CacheOnce => "minecraft:cache_once",
+ CacheAllInCell => "minecraft:cache_all_in_cell",
+ Noise => "minecraft:noise",
+ EndIslands => "minecraft:end_islands",
+ WeirdScaledSampler => "minecraft:weird_scaled_sampler",
+ ShiftedNoise => "minecraft:shifted_noise",
+ RangeChoice => "minecraft:range_choice",
+ ShiftA => "minecraft:shift_a",
+ ShiftB => "minecraft:shift_b",
+ Shift => "minecraft:shift",
+ BlendDensity => "minecraft:blend_density",
+ Clamp => "minecraft:clamp",
+ Abs => "minecraft:abs",
+ Square => "minecraft:square",
+ Cube => "minecraft:cube",
+ HalfNegative => "minecraft:half_negative",
+ QuarterNegative => "minecraft:quarter_negative",
+ Invert => "minecraft:invert",
+ Squeeze => "minecraft:squeeze",
+ Add => "minecraft:add",
+ Mul => "minecraft:mul",
+ Min => "minecraft:min",
+ Max => "minecraft:max",
+ Spline => "minecraft:spline",
+ Constant => "minecraft:constant",
+ YClampedGradient => "minecraft:y_clamped_gradient",
+ FindTopSurface => "minecraft:find_top_surface",
+}
+}
+
+registry! {
+enum WorldgenFeature {
+ NoOp => "minecraft:no_op",
+ Tree => "minecraft:tree",
+ FallenTree => "minecraft:fallen_tree",
+ Flower => "minecraft:flower",
+ NoBonemealFlower => "minecraft:no_bonemeal_flower",
+ RandomPatch => "minecraft:random_patch",
+ BlockPile => "minecraft:block_pile",
+ SpringFeature => "minecraft:spring_feature",
+ ChorusPlant => "minecraft:chorus_plant",
+ ReplaceSingleBlock => "minecraft:replace_single_block",
+ VoidStartPlatform => "minecraft:void_start_platform",
+ DesertWell => "minecraft:desert_well",
+ Fossil => "minecraft:fossil",
+ HugeRedMushroom => "minecraft:huge_red_mushroom",
+ HugeBrownMushroom => "minecraft:huge_brown_mushroom",
+ IceSpike => "minecraft:ice_spike",
+ GlowstoneBlob => "minecraft:glowstone_blob",
+ FreezeTopLayer => "minecraft:freeze_top_layer",
+ Vines => "minecraft:vines",
+ BlockColumn => "minecraft:block_column",
+ VegetationPatch => "minecraft:vegetation_patch",
+ WaterloggedVegetationPatch => "minecraft:waterlogged_vegetation_patch",
+ RootSystem => "minecraft:root_system",
+ MultifaceGrowth => "minecraft:multiface_growth",
+ UnderwaterMagma => "minecraft:underwater_magma",
+ MonsterRoom => "minecraft:monster_room",
+ BlueIce => "minecraft:blue_ice",
+ Iceberg => "minecraft:iceberg",
+ ForestRock => "minecraft:forest_rock",
+ Disk => "minecraft:disk",
+ Lake => "minecraft:lake",
+ Ore => "minecraft:ore",
+ EndPlatform => "minecraft:end_platform",
+ EndSpike => "minecraft:end_spike",
+ EndIsland => "minecraft:end_island",
+ EndGateway => "minecraft:end_gateway",
+ Seagrass => "minecraft:seagrass",
+ Kelp => "minecraft:kelp",
+ CoralTree => "minecraft:coral_tree",
+ CoralMushroom => "minecraft:coral_mushroom",
+ CoralClaw => "minecraft:coral_claw",
+ SeaPickle => "minecraft:sea_pickle",
+ SimpleBlock => "minecraft:simple_block",
+ Bamboo => "minecraft:bamboo",
+ HugeFungus => "minecraft:huge_fungus",
+ NetherForestVegetation => "minecraft:nether_forest_vegetation",
+ WeepingVines => "minecraft:weeping_vines",
+ TwistingVines => "minecraft:twisting_vines",
+ BasaltColumns => "minecraft:basalt_columns",
+ DeltaFeature => "minecraft:delta_feature",
+ NetherrackReplaceBlobs => "minecraft:netherrack_replace_blobs",
+ FillLayer => "minecraft:fill_layer",
+ BonusChest => "minecraft:bonus_chest",
+ BasaltPillar => "minecraft:basalt_pillar",
+ ScatteredOre => "minecraft:scattered_ore",
+ RandomSelector => "minecraft:random_selector",
+ SimpleRandomSelector => "minecraft:simple_random_selector",
+ RandomBooleanSelector => "minecraft:random_boolean_selector",
+ Geode => "minecraft:geode",
+ DripstoneCluster => "minecraft:dripstone_cluster",
+ LargeDripstone => "minecraft:large_dripstone",
+ PointedDripstone => "minecraft:pointed_dripstone",
+ SculkPatch => "minecraft:sculk_patch",
+}
+}
+
+registry! {
+enum WorldgenFeatureSizeKind {
+ TwoLayersFeatureSize => "minecraft:two_layers_feature_size",
+ ThreeLayersFeatureSize => "minecraft:three_layers_feature_size",
+}
+}
+
+registry! {
+enum WorldgenFoliagePlacerKind {
+ BlobFoliagePlacer => "minecraft:blob_foliage_placer",
+ SpruceFoliagePlacer => "minecraft:spruce_foliage_placer",
+ PineFoliagePlacer => "minecraft:pine_foliage_placer",
+ AcaciaFoliagePlacer => "minecraft:acacia_foliage_placer",
+ BushFoliagePlacer => "minecraft:bush_foliage_placer",
+ FancyFoliagePlacer => "minecraft:fancy_foliage_placer",
+ JungleFoliagePlacer => "minecraft:jungle_foliage_placer",
+ MegaPineFoliagePlacer => "minecraft:mega_pine_foliage_placer",
+ DarkOakFoliagePlacer => "minecraft:dark_oak_foliage_placer",
+ RandomSpreadFoliagePlacer => "minecraft:random_spread_foliage_placer",
+ CherryFoliagePlacer => "minecraft:cherry_foliage_placer",
+}
+}
+
+registry! {
+enum WorldgenMaterialCondition {
+ Biome => "minecraft:biome",
+ NoiseThreshold => "minecraft:noise_threshold",
+ VerticalGradient => "minecraft:vertical_gradient",
+ YAbove => "minecraft:y_above",
+ Water => "minecraft:water",
+ Temperature => "minecraft:temperature",
+ Steep => "minecraft:steep",
+ Not => "minecraft:not",
+ Hole => "minecraft:hole",
+ AbovePreliminarySurface => "minecraft:above_preliminary_surface",
+ StoneDepth => "minecraft:stone_depth",
+}
+}
+
+registry! {
+enum WorldgenMaterialRule {
+ Bandlands => "minecraft:bandlands",
+ Block => "minecraft:block",
+ Sequence => "minecraft:sequence",
+ Condition => "minecraft:condition",
+}
+}
+
+registry! {
+enum WorldgenPlacementModifierKind {
+ BlockPredicateFilter => "minecraft:block_predicate_filter",
+ RarityFilter => "minecraft:rarity_filter",
+ SurfaceRelativeThresholdFilter => "minecraft:surface_relative_threshold_filter",
+ SurfaceWaterDepthFilter => "minecraft:surface_water_depth_filter",
+ Biome => "minecraft:biome",
+ Count => "minecraft:count",
+ NoiseBasedCount => "minecraft:noise_based_count",
+ NoiseThresholdCount => "minecraft:noise_threshold_count",
+ CountOnEveryLayer => "minecraft:count_on_every_layer",
+ EnvironmentScan => "minecraft:environment_scan",
+ Heightmap => "minecraft:heightmap",
+ HeightRange => "minecraft:height_range",
+ InSquare => "minecraft:in_square",
+ RandomOffset => "minecraft:random_offset",
+ FixedPlacement => "minecraft:fixed_placement",
+}
+}
+
+registry! {
+enum WorldgenRootPlacerKind {
+ MangroveRootPlacer => "minecraft:mangrove_root_placer",
+}
+}
+
+registry! {
+enum WorldgenStructurePiece {
+ Mscorridor => "minecraft:mscorridor",
+ Mscrossing => "minecraft:mscrossing",
+ Msroom => "minecraft:msroom",
+ Msstairs => "minecraft:msstairs",
+ Nebcr => "minecraft:nebcr",
+ Nebef => "minecraft:nebef",
+ Nebs => "minecraft:nebs",
+ Neccs => "minecraft:neccs",
+ Nectb => "minecraft:nectb",
+ Nece => "minecraft:nece",
+ Nescsc => "minecraft:nescsc",
+ Nesclt => "minecraft:nesclt",
+ Nesc => "minecraft:nesc",
+ Nescrt => "minecraft:nescrt",
+ Necsr => "minecraft:necsr",
+ Nemt => "minecraft:nemt",
+ Nerc => "minecraft:nerc",
+ Nesr => "minecraft:nesr",
+ Nestart => "minecraft:nestart",
+ Shcc => "minecraft:shcc",
+ Shfc => "minecraft:shfc",
+ Sh5c => "minecraft:sh5c",
+ Shlt => "minecraft:shlt",
+ Shli => "minecraft:shli",
+ Shpr => "minecraft:shpr",
+ Shph => "minecraft:shph",
+ Shrt => "minecraft:shrt",
+ Shrc => "minecraft:shrc",
+ Shsd => "minecraft:shsd",
+ Shstart => "minecraft:shstart",
+ Shs => "minecraft:shs",
+ Shssd => "minecraft:shssd",
+ Tejp => "minecraft:tejp",
+ Orp => "minecraft:orp",
+ Iglu => "minecraft:iglu",
+ Rupo => "minecraft:rupo",
+ Tesh => "minecraft:tesh",
+ Tedp => "minecraft:tedp",
+ Omb => "minecraft:omb",
+ Omcr => "minecraft:omcr",
+ Omdxr => "minecraft:omdxr",
+ Omdxyr => "minecraft:omdxyr",
+ Omdyr => "minecraft:omdyr",
+ Omdyzr => "minecraft:omdyzr",
+ Omdzr => "minecraft:omdzr",
+ Omentry => "minecraft:omentry",
+ Ompenthouse => "minecraft:ompenthouse",
+ Omsimple => "minecraft:omsimple",
+ Omsimplet => "minecraft:omsimplet",
+ Omwr => "minecraft:omwr",
+ Ecp => "minecraft:ecp",
+ Wmp => "minecraft:wmp",
+ Btp => "minecraft:btp",
+ Shipwreck => "minecraft:shipwreck",
+ Nefos => "minecraft:nefos",
+ Jigsaw => "minecraft:jigsaw",
+}
+}
+
+registry! {
+enum WorldgenStructurePlacement {
+ RandomSpread => "minecraft:random_spread",
+ ConcentricRings => "minecraft:concentric_rings",
+}
+}
+
+registry! {
+enum WorldgenStructurePoolElement {
+ SinglePoolElement => "minecraft:single_pool_element",
+ ListPoolElement => "minecraft:list_pool_element",
+ FeaturePoolElement => "minecraft:feature_pool_element",
+ EmptyPoolElement => "minecraft:empty_pool_element",
+ LegacySinglePoolElement => "minecraft:legacy_single_pool_element",
+}
+}
+
+registry! {
+enum WorldgenStructureProcessor {
+ BlockIgnore => "minecraft:block_ignore",
+ BlockRot => "minecraft:block_rot",
+ Gravity => "minecraft:gravity",
+ JigsawReplacement => "minecraft:jigsaw_replacement",
+ Rule => "minecraft:rule",
+ Nop => "minecraft:nop",
+ BlockAge => "minecraft:block_age",
+ BlackstoneReplace => "minecraft:blackstone_replace",
+ LavaSubmergedBlock => "minecraft:lava_submerged_block",
+ ProtectedBlocks => "minecraft:protected_blocks",
+ Capped => "minecraft:capped",
+}
+}
+
+registry! {
+enum WorldgenStructureKind {
+ BuriedTreasure => "minecraft:buried_treasure",
+ DesertPyramid => "minecraft:desert_pyramid",
+ EndCity => "minecraft:end_city",
+ Fortress => "minecraft:fortress",
+ Igloo => "minecraft:igloo",
+ Jigsaw => "minecraft:jigsaw",
+ JungleTemple => "minecraft:jungle_temple",
+ Mineshaft => "minecraft:mineshaft",
+ NetherFossil => "minecraft:nether_fossil",
+ OceanMonument => "minecraft:ocean_monument",
+ OceanRuin => "minecraft:ocean_ruin",
+ RuinedPortal => "minecraft:ruined_portal",
+ Shipwreck => "minecraft:shipwreck",
+ Stronghold => "minecraft:stronghold",
+ SwampHut => "minecraft:swamp_hut",
+ WoodlandMansion => "minecraft:woodland_mansion",
+}
+}
+
+registry! {
+enum WorldgenTreeDecoratorKind {
+ TrunkVine => "minecraft:trunk_vine",
+ LeaveVine => "minecraft:leave_vine",
+ PaleMoss => "minecraft:pale_moss",
+ CreakingHeart => "minecraft:creaking_heart",
+ Cocoa => "minecraft:cocoa",
+ Beehive => "minecraft:beehive",
+ AlterGround => "minecraft:alter_ground",
+ AttachedToLeaves => "minecraft:attached_to_leaves",
+ PlaceOnGround => "minecraft:place_on_ground",
+ AttachedToLogs => "minecraft:attached_to_logs",
+}
+}
+
+registry! {
+enum WorldgenTrunkPlacerKind {
+ StraightTrunkPlacer => "minecraft:straight_trunk_placer",
+ ForkingTrunkPlacer => "minecraft:forking_trunk_placer",
+ GiantTrunkPlacer => "minecraft:giant_trunk_placer",
+ MegaJungleTrunkPlacer => "minecraft:mega_jungle_trunk_placer",
+ DarkOakTrunkPlacer => "minecraft:dark_oak_trunk_placer",
+ FancyTrunkPlacer => "minecraft:fancy_trunk_placer",
+ BendingTrunkPlacer => "minecraft:bending_trunk_placer",
+ UpwardsBranchingTrunkPlacer => "minecraft:upwards_branching_trunk_placer",
+ CherryTrunkPlacer => "minecraft:cherry_trunk_placer",
+}
+}
+
+registry! {
+enum RuleBlockEntityModifier {
+ Clear => "minecraft:clear",
+ Passthrough => "minecraft:passthrough",
+ AppendStatic => "minecraft:append_static",
+ AppendLoot => "minecraft:append_loot",
+}
+}
+
+registry! {
+enum CreativeModeTab {
+ BuildingBlocks => "minecraft:building_blocks",
+ ColoredBlocks => "minecraft:colored_blocks",
+ NaturalBlocks => "minecraft:natural_blocks",
+ FunctionalBlocks => "minecraft:functional_blocks",
+ RedstoneBlocks => "minecraft:redstone_blocks",
+ Hotbar => "minecraft:hotbar",
+ Search => "minecraft:search",
+ ToolsAndUtilities => "minecraft:tools_and_utilities",
+ Combat => "minecraft:combat",
+ FoodAndDrinks => "minecraft:food_and_drinks",
+ Ingredients => "minecraft:ingredients",
+ SpawnEggs => "minecraft:spawn_eggs",
+ OpBlocks => "minecraft:op_blocks",
+ Inventory => "minecraft:inventory",
+}
+}
+
+registry! {
+enum MenuKind {
+ Generic9x1 => "minecraft:generic_9x1",
+ Generic9x2 => "minecraft:generic_9x2",
+ Generic9x3 => "minecraft:generic_9x3",
+ Generic9x4 => "minecraft:generic_9x4",
+ Generic9x5 => "minecraft:generic_9x5",
+ Generic9x6 => "minecraft:generic_9x6",
+ Generic3x3 => "minecraft:generic_3x3",
+ Crafter3x3 => "minecraft:crafter_3x3",
+ Anvil => "minecraft:anvil",
+ Beacon => "minecraft:beacon",
+ BlastFurnace => "minecraft:blast_furnace",
+ BrewingStand => "minecraft:brewing_stand",
+ Crafting => "minecraft:crafting",
+ Enchantment => "minecraft:enchantment",
+ Furnace => "minecraft:furnace",
+ Grindstone => "minecraft:grindstone",
+ Hopper => "minecraft:hopper",
+ Lectern => "minecraft:lectern",
+ Loom => "minecraft:loom",
+ Merchant => "minecraft:merchant",
+ ShulkerBox => "minecraft:shulker_box",
+ Smithing => "minecraft:smithing",
+ Smoker => "minecraft:smoker",
+ CartographyTable => "minecraft:cartography_table",
+ Stonecutter => "minecraft:stonecutter",
+}
+}
+
+registry! {
+/// An enum of every type of block in the game.
+///
+/// To represent a block *state*, use [`azalea_block::BlockState`] or
+/// [`azalea_block::BlockTrait`].
+///
+/// [`azalea_block::BlockState`]: https://docs.rs/azalea-block/latest/azalea_block/struct.BlockState.html
+/// [`azalea_block::BlockTrait`]: https://docs.rs/azalea-block/latest/azalea_block/trait.BlockTrait.html
+enum BlockKind {
+ Air => "minecraft:air",
+ Stone => "minecraft:stone",
+ Granite => "minecraft:granite",
+ PolishedGranite => "minecraft:polished_granite",
+ Diorite => "minecraft:diorite",
+ PolishedDiorite => "minecraft:polished_diorite",
+ Andesite => "minecraft:andesite",
+ PolishedAndesite => "minecraft:polished_andesite",
+ GrassBlock => "minecraft:grass_block",
+ Dirt => "minecraft:dirt",
+ CoarseDirt => "minecraft:coarse_dirt",
+ Podzol => "minecraft:podzol",
+ Cobblestone => "minecraft:cobblestone",
+ OakPlanks => "minecraft:oak_planks",
+ SprucePlanks => "minecraft:spruce_planks",
+ BirchPlanks => "minecraft:birch_planks",
+ JunglePlanks => "minecraft:jungle_planks",
+ AcaciaPlanks => "minecraft:acacia_planks",
+ CherryPlanks => "minecraft:cherry_planks",
+ DarkOakPlanks => "minecraft:dark_oak_planks",
+ PaleOakWood => "minecraft:pale_oak_wood",
+ PaleOakPlanks => "minecraft:pale_oak_planks",
+ MangrovePlanks => "minecraft:mangrove_planks",
+ BambooPlanks => "minecraft:bamboo_planks",
+ BambooMosaic => "minecraft:bamboo_mosaic",
+ OakSapling => "minecraft:oak_sapling",
+ SpruceSapling => "minecraft:spruce_sapling",
+ BirchSapling => "minecraft:birch_sapling",
+ JungleSapling => "minecraft:jungle_sapling",
+ AcaciaSapling => "minecraft:acacia_sapling",
+ CherrySapling => "minecraft:cherry_sapling",
+ DarkOakSapling => "minecraft:dark_oak_sapling",
+ PaleOakSapling => "minecraft:pale_oak_sapling",
+ MangrovePropagule => "minecraft:mangrove_propagule",
+ Bedrock => "minecraft:bedrock",
+ Water => "minecraft:water",
+ Lava => "minecraft:lava",
+ Sand => "minecraft:sand",
+ SuspiciousSand => "minecraft:suspicious_sand",
+ RedSand => "minecraft:red_sand",
+ Gravel => "minecraft:gravel",
+ SuspiciousGravel => "minecraft:suspicious_gravel",
+ GoldOre => "minecraft:gold_ore",
+ DeepslateGoldOre => "minecraft:deepslate_gold_ore",
+ IronOre => "minecraft:iron_ore",
+ DeepslateIronOre => "minecraft:deepslate_iron_ore",
+ CoalOre => "minecraft:coal_ore",
+ DeepslateCoalOre => "minecraft:deepslate_coal_ore",
+ NetherGoldOre => "minecraft:nether_gold_ore",
+ OakLog => "minecraft:oak_log",
+ SpruceLog => "minecraft:spruce_log",
+ BirchLog => "minecraft:birch_log",
+ JungleLog => "minecraft:jungle_log",
+ AcaciaLog => "minecraft:acacia_log",
+ CherryLog => "minecraft:cherry_log",
+ DarkOakLog => "minecraft:dark_oak_log",
+ PaleOakLog => "minecraft:pale_oak_log",
+ MangroveLog => "minecraft:mangrove_log",
+ MangroveRoots => "minecraft:mangrove_roots",
+ MuddyMangroveRoots => "minecraft:muddy_mangrove_roots",
+ BambooBlock => "minecraft:bamboo_block",
+ StrippedSpruceLog => "minecraft:stripped_spruce_log",
+ StrippedBirchLog => "minecraft:stripped_birch_log",
+ StrippedJungleLog => "minecraft:stripped_jungle_log",
+ StrippedAcaciaLog => "minecraft:stripped_acacia_log",
+ StrippedCherryLog => "minecraft:stripped_cherry_log",
+ StrippedDarkOakLog => "minecraft:stripped_dark_oak_log",
+ StrippedPaleOakLog => "minecraft:stripped_pale_oak_log",
+ StrippedOakLog => "minecraft:stripped_oak_log",
+ StrippedMangroveLog => "minecraft:stripped_mangrove_log",
+ StrippedBambooBlock => "minecraft:stripped_bamboo_block",
+ OakWood => "minecraft:oak_wood",
+ SpruceWood => "minecraft:spruce_wood",
+ BirchWood => "minecraft:birch_wood",
+ JungleWood => "minecraft:jungle_wood",
+ AcaciaWood => "minecraft:acacia_wood",
+ CherryWood => "minecraft:cherry_wood",
+ DarkOakWood => "minecraft:dark_oak_wood",
+ MangroveWood => "minecraft:mangrove_wood",
+ StrippedOakWood => "minecraft:stripped_oak_wood",
+ StrippedSpruceWood => "minecraft:stripped_spruce_wood",
+ StrippedBirchWood => "minecraft:stripped_birch_wood",
+ StrippedJungleWood => "minecraft:stripped_jungle_wood",
+ StrippedAcaciaWood => "minecraft:stripped_acacia_wood",
+ StrippedCherryWood => "minecraft:stripped_cherry_wood",
+ StrippedDarkOakWood => "minecraft:stripped_dark_oak_wood",
+ StrippedPaleOakWood => "minecraft:stripped_pale_oak_wood",
+ StrippedMangroveWood => "minecraft:stripped_mangrove_wood",
+ OakLeaves => "minecraft:oak_leaves",
+ SpruceLeaves => "minecraft:spruce_leaves",
+ BirchLeaves => "minecraft:birch_leaves",
+ JungleLeaves => "minecraft:jungle_leaves",
+ AcaciaLeaves => "minecraft:acacia_leaves",
+ CherryLeaves => "minecraft:cherry_leaves",
+ DarkOakLeaves => "minecraft:dark_oak_leaves",
+ PaleOakLeaves => "minecraft:pale_oak_leaves",
+ MangroveLeaves => "minecraft:mangrove_leaves",
+ AzaleaLeaves => "minecraft:azalea_leaves",
+ FloweringAzaleaLeaves => "minecraft:flowering_azalea_leaves",
+ Sponge => "minecraft:sponge",
+ WetSponge => "minecraft:wet_sponge",
+ Glass => "minecraft:glass",
+ LapisOre => "minecraft:lapis_ore",
+ DeepslateLapisOre => "minecraft:deepslate_lapis_ore",
+ LapisBlock => "minecraft:lapis_block",
+ Dispenser => "minecraft:dispenser",
+ Sandstone => "minecraft:sandstone",
+ ChiseledSandstone => "minecraft:chiseled_sandstone",
+ CutSandstone => "minecraft:cut_sandstone",
+ NoteBlock => "minecraft:note_block",
+ WhiteBed => "minecraft:white_bed",
+ OrangeBed => "minecraft:orange_bed",
+ MagentaBed => "minecraft:magenta_bed",
+ LightBlueBed => "minecraft:light_blue_bed",
+ YellowBed => "minecraft:yellow_bed",
+ LimeBed => "minecraft:lime_bed",
+ PinkBed => "minecraft:pink_bed",
+ GrayBed => "minecraft:gray_bed",
+ LightGrayBed => "minecraft:light_gray_bed",
+ CyanBed => "minecraft:cyan_bed",
+ PurpleBed => "minecraft:purple_bed",
+ BlueBed => "minecraft:blue_bed",
+ BrownBed => "minecraft:brown_bed",
+ GreenBed => "minecraft:green_bed",
+ RedBed => "minecraft:red_bed",
+ BlackBed => "minecraft:black_bed",
+ PoweredRail => "minecraft:powered_rail",
+ DetectorRail => "minecraft:detector_rail",
+ StickyPiston => "minecraft:sticky_piston",
+ Cobweb => "minecraft:cobweb",
+ ShortGrass => "minecraft:short_grass",
+ Fern => "minecraft:fern",
+ DeadBush => "minecraft:dead_bush",
+ Bush => "minecraft:bush",
+ ShortDryGrass => "minecraft:short_dry_grass",
+ TallDryGrass => "minecraft:tall_dry_grass",
+ Seagrass => "minecraft:seagrass",
+ TallSeagrass => "minecraft:tall_seagrass",
+ Piston => "minecraft:piston",
+ PistonHead => "minecraft:piston_head",
+ WhiteWool => "minecraft:white_wool",
+ OrangeWool => "minecraft:orange_wool",
+ MagentaWool => "minecraft:magenta_wool",
+ LightBlueWool => "minecraft:light_blue_wool",
+ YellowWool => "minecraft:yellow_wool",
+ LimeWool => "minecraft:lime_wool",
+ PinkWool => "minecraft:pink_wool",
+ GrayWool => "minecraft:gray_wool",
+ LightGrayWool => "minecraft:light_gray_wool",
+ CyanWool => "minecraft:cyan_wool",
+ PurpleWool => "minecraft:purple_wool",
+ BlueWool => "minecraft:blue_wool",
+ BrownWool => "minecraft:brown_wool",
+ GreenWool => "minecraft:green_wool",
+ RedWool => "minecraft:red_wool",
+ BlackWool => "minecraft:black_wool",
+ MovingPiston => "minecraft:moving_piston",
+ Dandelion => "minecraft:dandelion",
+ Torchflower => "minecraft:torchflower",
+ Poppy => "minecraft:poppy",
+ BlueOrchid => "minecraft:blue_orchid",
+ Allium => "minecraft:allium",
+ AzureBluet => "minecraft:azure_bluet",
+ RedTulip => "minecraft:red_tulip",
+ OrangeTulip => "minecraft:orange_tulip",
+ WhiteTulip => "minecraft:white_tulip",
+ PinkTulip => "minecraft:pink_tulip",
+ OxeyeDaisy => "minecraft:oxeye_daisy",
+ Cornflower => "minecraft:cornflower",
+ WitherRose => "minecraft:wither_rose",
+ LilyOfTheValley => "minecraft:lily_of_the_valley",
+ BrownMushroom => "minecraft:brown_mushroom",
+ RedMushroom => "minecraft:red_mushroom",
+ GoldBlock => "minecraft:gold_block",
+ IronBlock => "minecraft:iron_block",
+ Bricks => "minecraft:bricks",
+ Tnt => "minecraft:tnt",
+ Bookshelf => "minecraft:bookshelf",
+ ChiseledBookshelf => "minecraft:chiseled_bookshelf",
+ AcaciaShelf => "minecraft:acacia_shelf",
+ BambooShelf => "minecraft:bamboo_shelf",
+ BirchShelf => "minecraft:birch_shelf",
+ CherryShelf => "minecraft:cherry_shelf",
+ CrimsonShelf => "minecraft:crimson_shelf",
+ DarkOakShelf => "minecraft:dark_oak_shelf",
+ JungleShelf => "minecraft:jungle_shelf",
+ MangroveShelf => "minecraft:mangrove_shelf",
+ OakShelf => "minecraft:oak_shelf",
+ PaleOakShelf => "minecraft:pale_oak_shelf",
+ SpruceShelf => "minecraft:spruce_shelf",
+ WarpedShelf => "minecraft:warped_shelf",
+ MossyCobblestone => "minecraft:mossy_cobblestone",
+ Obsidian => "minecraft:obsidian",
+ Torch => "minecraft:torch",
+ WallTorch => "minecraft:wall_torch",
+ Fire => "minecraft:fire",
+ SoulFire => "minecraft:soul_fire",
+ Spawner => "minecraft:spawner",
+ CreakingHeart => "minecraft:creaking_heart",
+ OakStairs => "minecraft:oak_stairs",
+ Chest => "minecraft:chest",
+ RedstoneWire => "minecraft:redstone_wire",
+ DiamondOre => "minecraft:diamond_ore",
+ DeepslateDiamondOre => "minecraft:deepslate_diamond_ore",
+ DiamondBlock => "minecraft:diamond_block",
+ CraftingTable => "minecraft:crafting_table",
+ Wheat => "minecraft:wheat",
+ Farmland => "minecraft:farmland",
+ Furnace => "minecraft:furnace",
+ OakSign => "minecraft:oak_sign",
+ SpruceSign => "minecraft:spruce_sign",
+ BirchSign => "minecraft:birch_sign",
+ AcaciaSign => "minecraft:acacia_sign",
+ CherrySign => "minecraft:cherry_sign",
+ JungleSign => "minecraft:jungle_sign",
+ DarkOakSign => "minecraft:dark_oak_sign",
+ PaleOakSign => "minecraft:pale_oak_sign",
+ MangroveSign => "minecraft:mangrove_sign",
+ BambooSign => "minecraft:bamboo_sign",
+ OakDoor => "minecraft:oak_door",
+ Ladder => "minecraft:ladder",
+ Rail => "minecraft:rail",
+ CobblestoneStairs => "minecraft:cobblestone_stairs",
+ OakWallSign => "minecraft:oak_wall_sign",
+ SpruceWallSign => "minecraft:spruce_wall_sign",
+ BirchWallSign => "minecraft:birch_wall_sign",
+ AcaciaWallSign => "minecraft:acacia_wall_sign",
+ CherryWallSign => "minecraft:cherry_wall_sign",
+ JungleWallSign => "minecraft:jungle_wall_sign",
+ DarkOakWallSign => "minecraft:dark_oak_wall_sign",
+ PaleOakWallSign => "minecraft:pale_oak_wall_sign",
+ MangroveWallSign => "minecraft:mangrove_wall_sign",
+ BambooWallSign => "minecraft:bamboo_wall_sign",
+ OakHangingSign => "minecraft:oak_hanging_sign",
+ SpruceHangingSign => "minecraft:spruce_hanging_sign",
+ BirchHangingSign => "minecraft:birch_hanging_sign",
+ AcaciaHangingSign => "minecraft:acacia_hanging_sign",
+ CherryHangingSign => "minecraft:cherry_hanging_sign",
+ JungleHangingSign => "minecraft:jungle_hanging_sign",
+ DarkOakHangingSign => "minecraft:dark_oak_hanging_sign",
+ PaleOakHangingSign => "minecraft:pale_oak_hanging_sign",
+ CrimsonHangingSign => "minecraft:crimson_hanging_sign",
+ WarpedHangingSign => "minecraft:warped_hanging_sign",
+ MangroveHangingSign => "minecraft:mangrove_hanging_sign",
+ BambooHangingSign => "minecraft:bamboo_hanging_sign",
+ OakWallHangingSign => "minecraft:oak_wall_hanging_sign",
+ SpruceWallHangingSign => "minecraft:spruce_wall_hanging_sign",
+ BirchWallHangingSign => "minecraft:birch_wall_hanging_sign",
+ AcaciaWallHangingSign => "minecraft:acacia_wall_hanging_sign",
+ CherryWallHangingSign => "minecraft:cherry_wall_hanging_sign",
+ JungleWallHangingSign => "minecraft:jungle_wall_hanging_sign",
+ DarkOakWallHangingSign => "minecraft:dark_oak_wall_hanging_sign",
+ PaleOakWallHangingSign => "minecraft:pale_oak_wall_hanging_sign",
+ MangroveWallHangingSign => "minecraft:mangrove_wall_hanging_sign",
+ CrimsonWallHangingSign => "minecraft:crimson_wall_hanging_sign",
+ WarpedWallHangingSign => "minecraft:warped_wall_hanging_sign",
+ BambooWallHangingSign => "minecraft:bamboo_wall_hanging_sign",
+ Lever => "minecraft:lever",
+ StonePressurePlate => "minecraft:stone_pressure_plate",
+ IronDoor => "minecraft:iron_door",
+ OakPressurePlate => "minecraft:oak_pressure_plate",
+ SprucePressurePlate => "minecraft:spruce_pressure_plate",
+ BirchPressurePlate => "minecraft:birch_pressure_plate",
+ JunglePressurePlate => "minecraft:jungle_pressure_plate",
+ AcaciaPressurePlate => "minecraft:acacia_pressure_plate",
+ CherryPressurePlate => "minecraft:cherry_pressure_plate",
+ DarkOakPressurePlate => "minecraft:dark_oak_pressure_plate",
+ PaleOakPressurePlate => "minecraft:pale_oak_pressure_plate",
+ MangrovePressurePlate => "minecraft:mangrove_pressure_plate",
+ BambooPressurePlate => "minecraft:bamboo_pressure_plate",
+ RedstoneOre => "minecraft:redstone_ore",
+ DeepslateRedstoneOre => "minecraft:deepslate_redstone_ore",
+ RedstoneTorch => "minecraft:redstone_torch",
+ RedstoneWallTorch => "minecraft:redstone_wall_torch",
+ StoneButton => "minecraft:stone_button",
+ Snow => "minecraft:snow",
+ Ice => "minecraft:ice",
+ SnowBlock => "minecraft:snow_block",
+ Cactus => "minecraft:cactus",
+ CactusFlower => "minecraft:cactus_flower",
+ Clay => "minecraft:clay",
+ SugarCane => "minecraft:sugar_cane",
+ Jukebox => "minecraft:jukebox",
+ OakFence => "minecraft:oak_fence",
+ Netherrack => "minecraft:netherrack",
+ SoulSand => "minecraft:soul_sand",
+ SoulSoil => "minecraft:soul_soil",
+ Basalt => "minecraft:basalt",
+ PolishedBasalt => "minecraft:polished_basalt",
+ SoulTorch => "minecraft:soul_torch",
+ SoulWallTorch => "minecraft:soul_wall_torch",
+ CopperTorch => "minecraft:copper_torch",
+ CopperWallTorch => "minecraft:copper_wall_torch",
+ Glowstone => "minecraft:glowstone",
+ NetherPortal => "minecraft:nether_portal",
+ CarvedPumpkin => "minecraft:carved_pumpkin",
+ JackOLantern => "minecraft:jack_o_lantern",
+ Cake => "minecraft:cake",
+ Repeater => "minecraft:repeater",
+ WhiteStainedGlass => "minecraft:white_stained_glass",
+ OrangeStainedGlass => "minecraft:orange_stained_glass",
+ MagentaStainedGlass => "minecraft:magenta_stained_glass",
+ LightBlueStainedGlass => "minecraft:light_blue_stained_glass",
+ YellowStainedGlass => "minecraft:yellow_stained_glass",
+ LimeStainedGlass => "minecraft:lime_stained_glass",
+ PinkStainedGlass => "minecraft:pink_stained_glass",
+ GrayStainedGlass => "minecraft:gray_stained_glass",
+ LightGrayStainedGlass => "minecraft:light_gray_stained_glass",
+ CyanStainedGlass => "minecraft:cyan_stained_glass",
+ PurpleStainedGlass => "minecraft:purple_stained_glass",
+ BlueStainedGlass => "minecraft:blue_stained_glass",
+ BrownStainedGlass => "minecraft:brown_stained_glass",
+ GreenStainedGlass => "minecraft:green_stained_glass",
+ RedStainedGlass => "minecraft:red_stained_glass",
+ BlackStainedGlass => "minecraft:black_stained_glass",
+ OakTrapdoor => "minecraft:oak_trapdoor",
+ SpruceTrapdoor => "minecraft:spruce_trapdoor",
+ BirchTrapdoor => "minecraft:birch_trapdoor",
+ JungleTrapdoor => "minecraft:jungle_trapdoor",
+ AcaciaTrapdoor => "minecraft:acacia_trapdoor",
+ CherryTrapdoor => "minecraft:cherry_trapdoor",
+ DarkOakTrapdoor => "minecraft:dark_oak_trapdoor",
+ PaleOakTrapdoor => "minecraft:pale_oak_trapdoor",
+ MangroveTrapdoor => "minecraft:mangrove_trapdoor",
+ BambooTrapdoor => "minecraft:bamboo_trapdoor",
+ StoneBricks => "minecraft:stone_bricks",
+ MossyStoneBricks => "minecraft:mossy_stone_bricks",
+ CrackedStoneBricks => "minecraft:cracked_stone_bricks",
+ ChiseledStoneBricks => "minecraft:chiseled_stone_bricks",
+ PackedMud => "minecraft:packed_mud",
+ MudBricks => "minecraft:mud_bricks",
+ InfestedStone => "minecraft:infested_stone",
+ InfestedCobblestone => "minecraft:infested_cobblestone",
+ InfestedStoneBricks => "minecraft:infested_stone_bricks",
+ InfestedMossyStoneBricks => "minecraft:infested_mossy_stone_bricks",
+ InfestedCrackedStoneBricks => "minecraft:infested_cracked_stone_bricks",
+ InfestedChiseledStoneBricks => "minecraft:infested_chiseled_stone_bricks",
+ BrownMushroomBlock => "minecraft:brown_mushroom_block",
+ RedMushroomBlock => "minecraft:red_mushroom_block",
+ MushroomStem => "minecraft:mushroom_stem",
+ IronBars => "minecraft:iron_bars",
+ CopperBars => "minecraft:copper_bars",
+ ExposedCopperBars => "minecraft:exposed_copper_bars",
+ WeatheredCopperBars => "minecraft:weathered_copper_bars",
+ OxidizedCopperBars => "minecraft:oxidized_copper_bars",
+ WaxedCopperBars => "minecraft:waxed_copper_bars",
+ WaxedExposedCopperBars => "minecraft:waxed_exposed_copper_bars",
+ WaxedWeatheredCopperBars => "minecraft:waxed_weathered_copper_bars",
+ WaxedOxidizedCopperBars => "minecraft:waxed_oxidized_copper_bars",
+ IronChain => "minecraft:iron_chain",
+ CopperChain => "minecraft:copper_chain",
+ ExposedCopperChain => "minecraft:exposed_copper_chain",
+ WeatheredCopperChain => "minecraft:weathered_copper_chain",
+ OxidizedCopperChain => "minecraft:oxidized_copper_chain",
+ WaxedCopperChain => "minecraft:waxed_copper_chain",
+ WaxedExposedCopperChain => "minecraft:waxed_exposed_copper_chain",
+ WaxedWeatheredCopperChain => "minecraft:waxed_weathered_copper_chain",
+ WaxedOxidizedCopperChain => "minecraft:waxed_oxidized_copper_chain",
+ GlassPane => "minecraft:glass_pane",
+ Pumpkin => "minecraft:pumpkin",
+ Melon => "minecraft:melon",
+ AttachedPumpkinStem => "minecraft:attached_pumpkin_stem",
+ AttachedMelonStem => "minecraft:attached_melon_stem",
+ PumpkinStem => "minecraft:pumpkin_stem",
+ MelonStem => "minecraft:melon_stem",
+ Vine => "minecraft:vine",
+ GlowLichen => "minecraft:glow_lichen",
+ ResinClump => "minecraft:resin_clump",
+ OakFenceGate => "minecraft:oak_fence_gate",
+ BrickStairs => "minecraft:brick_stairs",
+ StoneBrickStairs => "minecraft:stone_brick_stairs",
+ MudBrickStairs => "minecraft:mud_brick_stairs",
+ Mycelium => "minecraft:mycelium",
+ LilyPad => "minecraft:lily_pad",
+ ResinBlock => "minecraft:resin_block",
+ ResinBricks => "minecraft:resin_bricks",
+ ResinBrickStairs => "minecraft:resin_brick_stairs",
+ ResinBrickSlab => "minecraft:resin_brick_slab",
+ ResinBrickWall => "minecraft:resin_brick_wall",
+ ChiseledResinBricks => "minecraft:chiseled_resin_bricks",
+ NetherBricks => "minecraft:nether_bricks",
+ NetherBrickFence => "minecraft:nether_brick_fence",
+ NetherBrickStairs => "minecraft:nether_brick_stairs",
+ NetherWart => "minecraft:nether_wart",
+ EnchantingTable => "minecraft:enchanting_table",
+ BrewingStand => "minecraft:brewing_stand",
+ Cauldron => "minecraft:cauldron",
+ WaterCauldron => "minecraft:water_cauldron",
+ LavaCauldron => "minecraft:lava_cauldron",
+ PowderSnowCauldron => "minecraft:powder_snow_cauldron",
+ EndPortal => "minecraft:end_portal",
+ EndPortalFrame => "minecraft:end_portal_frame",
+ EndStone => "minecraft:end_stone",
+ DragonEgg => "minecraft:dragon_egg",
+ RedstoneLamp => "minecraft:redstone_lamp",
+ Cocoa => "minecraft:cocoa",
+ SandstoneStairs => "minecraft:sandstone_stairs",
+ EmeraldOre => "minecraft:emerald_ore",
+ DeepslateEmeraldOre => "minecraft:deepslate_emerald_ore",
+ EnderChest => "minecraft:ender_chest",
+ TripwireHook => "minecraft:tripwire_hook",
+ Tripwire => "minecraft:tripwire",
+ EmeraldBlock => "minecraft:emerald_block",
+ SpruceStairs => "minecraft:spruce_stairs",
+ BirchStairs => "minecraft:birch_stairs",
+ JungleStairs => "minecraft:jungle_stairs",
+ CommandBlock => "minecraft:command_block",
+ Beacon => "minecraft:beacon",
+ CobblestoneWall => "minecraft:cobblestone_wall",
+ MossyCobblestoneWall => "minecraft:mossy_cobblestone_wall",
+ FlowerPot => "minecraft:flower_pot",
+ PottedTorchflower => "minecraft:potted_torchflower",
+ PottedOakSapling => "minecraft:potted_oak_sapling",
+ PottedSpruceSapling => "minecraft:potted_spruce_sapling",
+ PottedBirchSapling => "minecraft:potted_birch_sapling",
+ PottedJungleSapling => "minecraft:potted_jungle_sapling",
+ PottedAcaciaSapling => "minecraft:potted_acacia_sapling",
+ PottedCherrySapling => "minecraft:potted_cherry_sapling",
+ PottedDarkOakSapling => "minecraft:potted_dark_oak_sapling",
+ PottedPaleOakSapling => "minecraft:potted_pale_oak_sapling",
+ PottedMangrovePropagule => "minecraft:potted_mangrove_propagule",
+ PottedFern => "minecraft:potted_fern",
+ PottedDandelion => "minecraft:potted_dandelion",
+ PottedPoppy => "minecraft:potted_poppy",
+ PottedBlueOrchid => "minecraft:potted_blue_orchid",
+ PottedAllium => "minecraft:potted_allium",
+ PottedAzureBluet => "minecraft:potted_azure_bluet",
+ PottedRedTulip => "minecraft:potted_red_tulip",
+ PottedOrangeTulip => "minecraft:potted_orange_tulip",
+ PottedWhiteTulip => "minecraft:potted_white_tulip",
+ PottedPinkTulip => "minecraft:potted_pink_tulip",
+ PottedOxeyeDaisy => "minecraft:potted_oxeye_daisy",
+ PottedCornflower => "minecraft:potted_cornflower",
+ PottedLilyOfTheValley => "minecraft:potted_lily_of_the_valley",
+ PottedWitherRose => "minecraft:potted_wither_rose",
+ PottedRedMushroom => "minecraft:potted_red_mushroom",
+ PottedBrownMushroom => "minecraft:potted_brown_mushroom",
+ PottedDeadBush => "minecraft:potted_dead_bush",
+ PottedCactus => "minecraft:potted_cactus",
+ Carrots => "minecraft:carrots",
+ Potatoes => "minecraft:potatoes",
+ OakButton => "minecraft:oak_button",
+ SpruceButton => "minecraft:spruce_button",
+ BirchButton => "minecraft:birch_button",
+ JungleButton => "minecraft:jungle_button",
+ AcaciaButton => "minecraft:acacia_button",
+ CherryButton => "minecraft:cherry_button",
+ DarkOakButton => "minecraft:dark_oak_button",
+ PaleOakButton => "minecraft:pale_oak_button",
+ MangroveButton => "minecraft:mangrove_button",
+ BambooButton => "minecraft:bamboo_button",
+ SkeletonSkull => "minecraft:skeleton_skull",
+ SkeletonWallSkull => "minecraft:skeleton_wall_skull",
+ WitherSkeletonSkull => "minecraft:wither_skeleton_skull",
+ WitherSkeletonWallSkull => "minecraft:wither_skeleton_wall_skull",
+ ZombieHead => "minecraft:zombie_head",
+ ZombieWallHead => "minecraft:zombie_wall_head",
+ PlayerHead => "minecraft:player_head",
+ PlayerWallHead => "minecraft:player_wall_head",
+ CreeperHead => "minecraft:creeper_head",
+ CreeperWallHead => "minecraft:creeper_wall_head",
+ DragonHead => "minecraft:dragon_head",
+ DragonWallHead => "minecraft:dragon_wall_head",
+ PiglinHead => "minecraft:piglin_head",
+ PiglinWallHead => "minecraft:piglin_wall_head",
+ Anvil => "minecraft:anvil",
+ ChippedAnvil => "minecraft:chipped_anvil",
+ DamagedAnvil => "minecraft:damaged_anvil",
+ TrappedChest => "minecraft:trapped_chest",
+ LightWeightedPressurePlate => "minecraft:light_weighted_pressure_plate",
+ HeavyWeightedPressurePlate => "minecraft:heavy_weighted_pressure_plate",
+ Comparator => "minecraft:comparator",
+ DaylightDetector => "minecraft:daylight_detector",
+ RedstoneBlock => "minecraft:redstone_block",
+ NetherQuartzOre => "minecraft:nether_quartz_ore",
+ Hopper => "minecraft:hopper",
+ QuartzBlock => "minecraft:quartz_block",
+ ChiseledQuartzBlock => "minecraft:chiseled_quartz_block",
+ QuartzPillar => "minecraft:quartz_pillar",
+ QuartzStairs => "minecraft:quartz_stairs",
+ ActivatorRail => "minecraft:activator_rail",
+ Dropper => "minecraft:dropper",
+ WhiteTerracotta => "minecraft:white_terracotta",
+ OrangeTerracotta => "minecraft:orange_terracotta",
+ MagentaTerracotta => "minecraft:magenta_terracotta",
+ LightBlueTerracotta => "minecraft:light_blue_terracotta",
+ YellowTerracotta => "minecraft:yellow_terracotta",
+ LimeTerracotta => "minecraft:lime_terracotta",
+ PinkTerracotta => "minecraft:pink_terracotta",
+ GrayTerracotta => "minecraft:gray_terracotta",
+ LightGrayTerracotta => "minecraft:light_gray_terracotta",
+ CyanTerracotta => "minecraft:cyan_terracotta",
+ PurpleTerracotta => "minecraft:purple_terracotta",
+ BlueTerracotta => "minecraft:blue_terracotta",
+ BrownTerracotta => "minecraft:brown_terracotta",
+ GreenTerracotta => "minecraft:green_terracotta",
+ RedTerracotta => "minecraft:red_terracotta",
+ BlackTerracotta => "minecraft:black_terracotta",
+ WhiteStainedGlassPane => "minecraft:white_stained_glass_pane",
+ OrangeStainedGlassPane => "minecraft:orange_stained_glass_pane",
+ MagentaStainedGlassPane => "minecraft:magenta_stained_glass_pane",
+ LightBlueStainedGlassPane => "minecraft:light_blue_stained_glass_pane",
+ YellowStainedGlassPane => "minecraft:yellow_stained_glass_pane",
+ LimeStainedGlassPane => "minecraft:lime_stained_glass_pane",
+ PinkStainedGlassPane => "minecraft:pink_stained_glass_pane",
+ GrayStainedGlassPane => "minecraft:gray_stained_glass_pane",
+ LightGrayStainedGlassPane => "minecraft:light_gray_stained_glass_pane",
+ CyanStainedGlassPane => "minecraft:cyan_stained_glass_pane",
+ PurpleStainedGlassPane => "minecraft:purple_stained_glass_pane",
+ BlueStainedGlassPane => "minecraft:blue_stained_glass_pane",
+ BrownStainedGlassPane => "minecraft:brown_stained_glass_pane",
+ GreenStainedGlassPane => "minecraft:green_stained_glass_pane",
+ RedStainedGlassPane => "minecraft:red_stained_glass_pane",
+ BlackStainedGlassPane => "minecraft:black_stained_glass_pane",
+ AcaciaStairs => "minecraft:acacia_stairs",
+ CherryStairs => "minecraft:cherry_stairs",
+ DarkOakStairs => "minecraft:dark_oak_stairs",
+ PaleOakStairs => "minecraft:pale_oak_stairs",
+ MangroveStairs => "minecraft:mangrove_stairs",
+ BambooStairs => "minecraft:bamboo_stairs",
+ BambooMosaicStairs => "minecraft:bamboo_mosaic_stairs",
+ SlimeBlock => "minecraft:slime_block",
+ Barrier => "minecraft:barrier",
+ Light => "minecraft:light",
+ IronTrapdoor => "minecraft:iron_trapdoor",
+ Prismarine => "minecraft:prismarine",
+ PrismarineBricks => "minecraft:prismarine_bricks",
+ DarkPrismarine => "minecraft:dark_prismarine",
+ PrismarineStairs => "minecraft:prismarine_stairs",
+ PrismarineBrickStairs => "minecraft:prismarine_brick_stairs",
+ DarkPrismarineStairs => "minecraft:dark_prismarine_stairs",
+ PrismarineSlab => "minecraft:prismarine_slab",
+ PrismarineBrickSlab => "minecraft:prismarine_brick_slab",
+ DarkPrismarineSlab => "minecraft:dark_prismarine_slab",
+ SeaLantern => "minecraft:sea_lantern",
+ HayBlock => "minecraft:hay_block",
+ WhiteCarpet => "minecraft:white_carpet",
+ OrangeCarpet => "minecraft:orange_carpet",
+ MagentaCarpet => "minecraft:magenta_carpet",
+ LightBlueCarpet => "minecraft:light_blue_carpet",
+ YellowCarpet => "minecraft:yellow_carpet",
+ LimeCarpet => "minecraft:lime_carpet",
+ PinkCarpet => "minecraft:pink_carpet",
+ GrayCarpet => "minecraft:gray_carpet",
+ LightGrayCarpet => "minecraft:light_gray_carpet",
+ CyanCarpet => "minecraft:cyan_carpet",
+ PurpleCarpet => "minecraft:purple_carpet",
+ BlueCarpet => "minecraft:blue_carpet",
+ BrownCarpet => "minecraft:brown_carpet",
+ GreenCarpet => "minecraft:green_carpet",
+ RedCarpet => "minecraft:red_carpet",
+ BlackCarpet => "minecraft:black_carpet",
+ Terracotta => "minecraft:terracotta",
+ CoalBlock => "minecraft:coal_block",
+ PackedIce => "minecraft:packed_ice",
+ Sunflower => "minecraft:sunflower",
+ Lilac => "minecraft:lilac",
+ RoseBush => "minecraft:rose_bush",
+ Peony => "minecraft:peony",
+ TallGrass => "minecraft:tall_grass",
+ LargeFern => "minecraft:large_fern",
+ WhiteBanner => "minecraft:white_banner",
+ OrangeBanner => "minecraft:orange_banner",
+ MagentaBanner => "minecraft:magenta_banner",
+ LightBlueBanner => "minecraft:light_blue_banner",
+ YellowBanner => "minecraft:yellow_banner",
+ LimeBanner => "minecraft:lime_banner",
+ PinkBanner => "minecraft:pink_banner",
+ GrayBanner => "minecraft:gray_banner",
+ LightGrayBanner => "minecraft:light_gray_banner",
+ CyanBanner => "minecraft:cyan_banner",
+ PurpleBanner => "minecraft:purple_banner",
+ BlueBanner => "minecraft:blue_banner",
+ BrownBanner => "minecraft:brown_banner",
+ GreenBanner => "minecraft:green_banner",
+ RedBanner => "minecraft:red_banner",
+ BlackBanner => "minecraft:black_banner",
+ WhiteWallBanner => "minecraft:white_wall_banner",
+ OrangeWallBanner => "minecraft:orange_wall_banner",
+ MagentaWallBanner => "minecraft:magenta_wall_banner",
+ LightBlueWallBanner => "minecraft:light_blue_wall_banner",
+ YellowWallBanner => "minecraft:yellow_wall_banner",
+ LimeWallBanner => "minecraft:lime_wall_banner",
+ PinkWallBanner => "minecraft:pink_wall_banner",
+ GrayWallBanner => "minecraft:gray_wall_banner",
+ LightGrayWallBanner => "minecraft:light_gray_wall_banner",
+ CyanWallBanner => "minecraft:cyan_wall_banner",
+ PurpleWallBanner => "minecraft:purple_wall_banner",
+ BlueWallBanner => "minecraft:blue_wall_banner",
+ BrownWallBanner => "minecraft:brown_wall_banner",
+ GreenWallBanner => "minecraft:green_wall_banner",
+ RedWallBanner => "minecraft:red_wall_banner",
+ BlackWallBanner => "minecraft:black_wall_banner",
+ RedSandstone => "minecraft:red_sandstone",
+ ChiseledRedSandstone => "minecraft:chiseled_red_sandstone",
+ CutRedSandstone => "minecraft:cut_red_sandstone",
+ RedSandstoneStairs => "minecraft:red_sandstone_stairs",
+ OakSlab => "minecraft:oak_slab",
+ SpruceSlab => "minecraft:spruce_slab",
+ BirchSlab => "minecraft:birch_slab",
+ JungleSlab => "minecraft:jungle_slab",
+ AcaciaSlab => "minecraft:acacia_slab",
+ CherrySlab => "minecraft:cherry_slab",
+ DarkOakSlab => "minecraft:dark_oak_slab",
+ PaleOakSlab => "minecraft:pale_oak_slab",
+ MangroveSlab => "minecraft:mangrove_slab",
+ BambooSlab => "minecraft:bamboo_slab",
+ BambooMosaicSlab => "minecraft:bamboo_mosaic_slab",
+ StoneSlab => "minecraft:stone_slab",
+ SmoothStoneSlab => "minecraft:smooth_stone_slab",
+ SandstoneSlab => "minecraft:sandstone_slab",
+ CutSandstoneSlab => "minecraft:cut_sandstone_slab",
+ PetrifiedOakSlab => "minecraft:petrified_oak_slab",
+ CobblestoneSlab => "minecraft:cobblestone_slab",
+ BrickSlab => "minecraft:brick_slab",
+ StoneBrickSlab => "minecraft:stone_brick_slab",
+ MudBrickSlab => "minecraft:mud_brick_slab",
+ NetherBrickSlab => "minecraft:nether_brick_slab",
+ QuartzSlab => "minecraft:quartz_slab",
+ RedSandstoneSlab => "minecraft:red_sandstone_slab",
+ CutRedSandstoneSlab => "minecraft:cut_red_sandstone_slab",
+ PurpurSlab => "minecraft:purpur_slab",
+ SmoothStone => "minecraft:smooth_stone",
+ SmoothSandstone => "minecraft:smooth_sandstone",
+ SmoothQuartz => "minecraft:smooth_quartz",
+ SmoothRedSandstone => "minecraft:smooth_red_sandstone",
+ SpruceFenceGate => "minecraft:spruce_fence_gate",
+ BirchFenceGate => "minecraft:birch_fence_gate",
+ JungleFenceGate => "minecraft:jungle_fence_gate",
+ AcaciaFenceGate => "minecraft:acacia_fence_gate",
+ CherryFenceGate => "minecraft:cherry_fence_gate",
+ DarkOakFenceGate => "minecraft:dark_oak_fence_gate",
+ PaleOakFenceGate => "minecraft:pale_oak_fence_gate",
+ MangroveFenceGate => "minecraft:mangrove_fence_gate",
+ BambooFenceGate => "minecraft:bamboo_fence_gate",
+ SpruceFence => "minecraft:spruce_fence",
+ BirchFence => "minecraft:birch_fence",
+ JungleFence => "minecraft:jungle_fence",
+ AcaciaFence => "minecraft:acacia_fence",
+ CherryFence => "minecraft:cherry_fence",
+ DarkOakFence => "minecraft:dark_oak_fence",
+ PaleOakFence => "minecraft:pale_oak_fence",
+ MangroveFence => "minecraft:mangrove_fence",
+ BambooFence => "minecraft:bamboo_fence",
+ SpruceDoor => "minecraft:spruce_door",
+ BirchDoor => "minecraft:birch_door",
+ JungleDoor => "minecraft:jungle_door",
+ AcaciaDoor => "minecraft:acacia_door",
+ CherryDoor => "minecraft:cherry_door",
+ DarkOakDoor => "minecraft:dark_oak_door",
+ PaleOakDoor => "minecraft:pale_oak_door",
+ MangroveDoor => "minecraft:mangrove_door",
+ BambooDoor => "minecraft:bamboo_door",
+ EndRod => "minecraft:end_rod",
+ ChorusPlant => "minecraft:chorus_plant",
+ ChorusFlower => "minecraft:chorus_flower",
+ PurpurBlock => "minecraft:purpur_block",
+ PurpurPillar => "minecraft:purpur_pillar",
+ PurpurStairs => "minecraft:purpur_stairs",
+ EndStoneBricks => "minecraft:end_stone_bricks",
+ TorchflowerCrop => "minecraft:torchflower_crop",
+ PitcherCrop => "minecraft:pitcher_crop",
+ PitcherPlant => "minecraft:pitcher_plant",
+ Beetroots => "minecraft:beetroots",
+ DirtPath => "minecraft:dirt_path",
+ EndGateway => "minecraft:end_gateway",
+ RepeatingCommandBlock => "minecraft:repeating_command_block",
+ ChainCommandBlock => "minecraft:chain_command_block",
+ FrostedIce => "minecraft:frosted_ice",
+ MagmaBlock => "minecraft:magma_block",
+ NetherWartBlock => "minecraft:nether_wart_block",
+ RedNetherBricks => "minecraft:red_nether_bricks",
+ BoneBlock => "minecraft:bone_block",
+ StructureVoid => "minecraft:structure_void",
+ Observer => "minecraft:observer",
+ ShulkerBox => "minecraft:shulker_box",
+ WhiteShulkerBox => "minecraft:white_shulker_box",
+ OrangeShulkerBox => "minecraft:orange_shulker_box",
+ MagentaShulkerBox => "minecraft:magenta_shulker_box",
+ LightBlueShulkerBox => "minecraft:light_blue_shulker_box",
+ YellowShulkerBox => "minecraft:yellow_shulker_box",
+ LimeShulkerBox => "minecraft:lime_shulker_box",
+ PinkShulkerBox => "minecraft:pink_shulker_box",
+ GrayShulkerBox => "minecraft:gray_shulker_box",
+ LightGrayShulkerBox => "minecraft:light_gray_shulker_box",
+ CyanShulkerBox => "minecraft:cyan_shulker_box",
+ PurpleShulkerBox => "minecraft:purple_shulker_box",
+ BlueShulkerBox => "minecraft:blue_shulker_box",
+ BrownShulkerBox => "minecraft:brown_shulker_box",
+ GreenShulkerBox => "minecraft:green_shulker_box",
+ RedShulkerBox => "minecraft:red_shulker_box",
+ BlackShulkerBox => "minecraft:black_shulker_box",
+ WhiteGlazedTerracotta => "minecraft:white_glazed_terracotta",
+ OrangeGlazedTerracotta => "minecraft:orange_glazed_terracotta",
+ MagentaGlazedTerracotta => "minecraft:magenta_glazed_terracotta",
+ LightBlueGlazedTerracotta => "minecraft:light_blue_glazed_terracotta",
+ YellowGlazedTerracotta => "minecraft:yellow_glazed_terracotta",
+ LimeGlazedTerracotta => "minecraft:lime_glazed_terracotta",
+ PinkGlazedTerracotta => "minecraft:pink_glazed_terracotta",
+ GrayGlazedTerracotta => "minecraft:gray_glazed_terracotta",
+ LightGrayGlazedTerracotta => "minecraft:light_gray_glazed_terracotta",
+ CyanGlazedTerracotta => "minecraft:cyan_glazed_terracotta",
+ PurpleGlazedTerracotta => "minecraft:purple_glazed_terracotta",
+ BlueGlazedTerracotta => "minecraft:blue_glazed_terracotta",
+ BrownGlazedTerracotta => "minecraft:brown_glazed_terracotta",
+ GreenGlazedTerracotta => "minecraft:green_glazed_terracotta",
+ RedGlazedTerracotta => "minecraft:red_glazed_terracotta",
+ BlackGlazedTerracotta => "minecraft:black_glazed_terracotta",
+ WhiteConcrete => "minecraft:white_concrete",
+ OrangeConcrete => "minecraft:orange_concrete",
+ MagentaConcrete => "minecraft:magenta_concrete",
+ LightBlueConcrete => "minecraft:light_blue_concrete",
+ YellowConcrete => "minecraft:yellow_concrete",
+ LimeConcrete => "minecraft:lime_concrete",
+ PinkConcrete => "minecraft:pink_concrete",
+ GrayConcrete => "minecraft:gray_concrete",
+ LightGrayConcrete => "minecraft:light_gray_concrete",
+ CyanConcrete => "minecraft:cyan_concrete",
+ PurpleConcrete => "minecraft:purple_concrete",
+ BlueConcrete => "minecraft:blue_concrete",
+ BrownConcrete => "minecraft:brown_concrete",
+ GreenConcrete => "minecraft:green_concrete",
+ RedConcrete => "minecraft:red_concrete",
+ BlackConcrete => "minecraft:black_concrete",
+ WhiteConcretePowder => "minecraft:white_concrete_powder",
+ OrangeConcretePowder => "minecraft:orange_concrete_powder",
+ MagentaConcretePowder => "minecraft:magenta_concrete_powder",
+ LightBlueConcretePowder => "minecraft:light_blue_concrete_powder",
+ YellowConcretePowder => "minecraft:yellow_concrete_powder",
+ LimeConcretePowder => "minecraft:lime_concrete_powder",
+ PinkConcretePowder => "minecraft:pink_concrete_powder",
+ GrayConcretePowder => "minecraft:gray_concrete_powder",
+ LightGrayConcretePowder => "minecraft:light_gray_concrete_powder",
+ CyanConcretePowder => "minecraft:cyan_concrete_powder",
+ PurpleConcretePowder => "minecraft:purple_concrete_powder",
+ BlueConcretePowder => "minecraft:blue_concrete_powder",
+ BrownConcretePowder => "minecraft:brown_concrete_powder",
+ GreenConcretePowder => "minecraft:green_concrete_powder",
+ RedConcretePowder => "minecraft:red_concrete_powder",
+ BlackConcretePowder => "minecraft:black_concrete_powder",
+ Kelp => "minecraft:kelp",
+ KelpPlant => "minecraft:kelp_plant",
+ DriedKelpBlock => "minecraft:dried_kelp_block",
+ TurtleEgg => "minecraft:turtle_egg",
+ SnifferEgg => "minecraft:sniffer_egg",
+ DriedGhast => "minecraft:dried_ghast",
+ DeadTubeCoralBlock => "minecraft:dead_tube_coral_block",
+ DeadBrainCoralBlock => "minecraft:dead_brain_coral_block",
+ DeadBubbleCoralBlock => "minecraft:dead_bubble_coral_block",
+ DeadFireCoralBlock => "minecraft:dead_fire_coral_block",
+ DeadHornCoralBlock => "minecraft:dead_horn_coral_block",
+ TubeCoralBlock => "minecraft:tube_coral_block",
+ BrainCoralBlock => "minecraft:brain_coral_block",
+ BubbleCoralBlock => "minecraft:bubble_coral_block",
+ FireCoralBlock => "minecraft:fire_coral_block",
+ HornCoralBlock => "minecraft:horn_coral_block",
+ DeadTubeCoral => "minecraft:dead_tube_coral",
+ DeadBrainCoral => "minecraft:dead_brain_coral",
+ DeadBubbleCoral => "minecraft:dead_bubble_coral",
+ DeadFireCoral => "minecraft:dead_fire_coral",
+ DeadHornCoral => "minecraft:dead_horn_coral",
+ TubeCoral => "minecraft:tube_coral",
+ BrainCoral => "minecraft:brain_coral",
+ BubbleCoral => "minecraft:bubble_coral",
+ FireCoral => "minecraft:fire_coral",
+ HornCoral => "minecraft:horn_coral",
+ DeadTubeCoralFan => "minecraft:dead_tube_coral_fan",
+ DeadBrainCoralFan => "minecraft:dead_brain_coral_fan",
+ DeadBubbleCoralFan => "minecraft:dead_bubble_coral_fan",
+ DeadFireCoralFan => "minecraft:dead_fire_coral_fan",
+ DeadHornCoralFan => "minecraft:dead_horn_coral_fan",
+ TubeCoralFan => "minecraft:tube_coral_fan",
+ BrainCoralFan => "minecraft:brain_coral_fan",
+ BubbleCoralFan => "minecraft:bubble_coral_fan",
+ FireCoralFan => "minecraft:fire_coral_fan",
+ HornCoralFan => "minecraft:horn_coral_fan",
+ DeadTubeCoralWallFan => "minecraft:dead_tube_coral_wall_fan",
+ DeadBrainCoralWallFan => "minecraft:dead_brain_coral_wall_fan",
+ DeadBubbleCoralWallFan => "minecraft:dead_bubble_coral_wall_fan",
+ DeadFireCoralWallFan => "minecraft:dead_fire_coral_wall_fan",
+ DeadHornCoralWallFan => "minecraft:dead_horn_coral_wall_fan",
+ TubeCoralWallFan => "minecraft:tube_coral_wall_fan",
+ BrainCoralWallFan => "minecraft:brain_coral_wall_fan",
+ BubbleCoralWallFan => "minecraft:bubble_coral_wall_fan",
+ FireCoralWallFan => "minecraft:fire_coral_wall_fan",
+ HornCoralWallFan => "minecraft:horn_coral_wall_fan",
+ SeaPickle => "minecraft:sea_pickle",
+ BlueIce => "minecraft:blue_ice",
+ Conduit => "minecraft:conduit",
+ BambooSapling => "minecraft:bamboo_sapling",
+ Bamboo => "minecraft:bamboo",
+ PottedBamboo => "minecraft:potted_bamboo",
+ VoidAir => "minecraft:void_air",
+ CaveAir => "minecraft:cave_air",
+ BubbleColumn => "minecraft:bubble_column",
+ PolishedGraniteStairs => "minecraft:polished_granite_stairs",
+ SmoothRedSandstoneStairs => "minecraft:smooth_red_sandstone_stairs",
+ MossyStoneBrickStairs => "minecraft:mossy_stone_brick_stairs",
+ PolishedDioriteStairs => "minecraft:polished_diorite_stairs",
+ MossyCobblestoneStairs => "minecraft:mossy_cobblestone_stairs",
+ EndStoneBrickStairs => "minecraft:end_stone_brick_stairs",
+ StoneStairs => "minecraft:stone_stairs",
+ SmoothSandstoneStairs => "minecraft:smooth_sandstone_stairs",
+ SmoothQuartzStairs => "minecraft:smooth_quartz_stairs",
+ GraniteStairs => "minecraft:granite_stairs",
+ AndesiteStairs => "minecraft:andesite_stairs",
+ RedNetherBrickStairs => "minecraft:red_nether_brick_stairs",
+ PolishedAndesiteStairs => "minecraft:polished_andesite_stairs",
+ DioriteStairs => "minecraft:diorite_stairs",
+ PolishedGraniteSlab => "minecraft:polished_granite_slab",
+ SmoothRedSandstoneSlab => "minecraft:smooth_red_sandstone_slab",
+ MossyStoneBrickSlab => "minecraft:mossy_stone_brick_slab",
+ PolishedDioriteSlab => "minecraft:polished_diorite_slab",
+ MossyCobblestoneSlab => "minecraft:mossy_cobblestone_slab",
+ EndStoneBrickSlab => "minecraft:end_stone_brick_slab",
+ SmoothSandstoneSlab => "minecraft:smooth_sandstone_slab",
+ SmoothQuartzSlab => "minecraft:smooth_quartz_slab",
+ GraniteSlab => "minecraft:granite_slab",
+ AndesiteSlab => "minecraft:andesite_slab",
+ RedNetherBrickSlab => "minecraft:red_nether_brick_slab",
+ PolishedAndesiteSlab => "minecraft:polished_andesite_slab",
+ DioriteSlab => "minecraft:diorite_slab",
+ BrickWall => "minecraft:brick_wall",
+ PrismarineWall => "minecraft:prismarine_wall",
+ RedSandstoneWall => "minecraft:red_sandstone_wall",
+ MossyStoneBrickWall => "minecraft:mossy_stone_brick_wall",
+ GraniteWall => "minecraft:granite_wall",
+ StoneBrickWall => "minecraft:stone_brick_wall",
+ MudBrickWall => "minecraft:mud_brick_wall",
+ NetherBrickWall => "minecraft:nether_brick_wall",
+ AndesiteWall => "minecraft:andesite_wall",
+ RedNetherBrickWall => "minecraft:red_nether_brick_wall",
+ SandstoneWall => "minecraft:sandstone_wall",
+ EndStoneBrickWall => "minecraft:end_stone_brick_wall",
+ DioriteWall => "minecraft:diorite_wall",
+ Scaffolding => "minecraft:scaffolding",
+ Loom => "minecraft:loom",
+ Barrel => "minecraft:barrel",
+ Smoker => "minecraft:smoker",
+ BlastFurnace => "minecraft:blast_furnace",
+ CartographyTable => "minecraft:cartography_table",
+ FletchingTable => "minecraft:fletching_table",
+ Grindstone => "minecraft:grindstone",
+ Lectern => "minecraft:lectern",
+ SmithingTable => "minecraft:smithing_table",
+ Stonecutter => "minecraft:stonecutter",
+ Bell => "minecraft:bell",
+ Lantern => "minecraft:lantern",
+ SoulLantern => "minecraft:soul_lantern",
+ CopperLantern => "minecraft:copper_lantern",
+ ExposedCopperLantern => "minecraft:exposed_copper_lantern",
+ WeatheredCopperLantern => "minecraft:weathered_copper_lantern",
+ OxidizedCopperLantern => "minecraft:oxidized_copper_lantern",
+ WaxedCopperLantern => "minecraft:waxed_copper_lantern",
+ WaxedExposedCopperLantern => "minecraft:waxed_exposed_copper_lantern",
+ WaxedWeatheredCopperLantern => "minecraft:waxed_weathered_copper_lantern",
+ WaxedOxidizedCopperLantern => "minecraft:waxed_oxidized_copper_lantern",
+ Campfire => "minecraft:campfire",
+ SoulCampfire => "minecraft:soul_campfire",
+ SweetBerryBush => "minecraft:sweet_berry_bush",
+ WarpedStem => "minecraft:warped_stem",
+ StrippedWarpedStem => "minecraft:stripped_warped_stem",
+ WarpedHyphae => "minecraft:warped_hyphae",
+ StrippedWarpedHyphae => "minecraft:stripped_warped_hyphae",
+ WarpedNylium => "minecraft:warped_nylium",
+ WarpedFungus => "minecraft:warped_fungus",
+ WarpedWartBlock => "minecraft:warped_wart_block",
+ WarpedRoots => "minecraft:warped_roots",
+ NetherSprouts => "minecraft:nether_sprouts",
+ CrimsonStem => "minecraft:crimson_stem",
+ StrippedCrimsonStem => "minecraft:stripped_crimson_stem",
+ CrimsonHyphae => "minecraft:crimson_hyphae",
+ StrippedCrimsonHyphae => "minecraft:stripped_crimson_hyphae",
+ CrimsonNylium => "minecraft:crimson_nylium",
+ CrimsonFungus => "minecraft:crimson_fungus",
+ Shroomlight => "minecraft:shroomlight",
+ WeepingVines => "minecraft:weeping_vines",
+ WeepingVinesPlant => "minecraft:weeping_vines_plant",
+ TwistingVines => "minecraft:twisting_vines",
+ TwistingVinesPlant => "minecraft:twisting_vines_plant",
+ CrimsonRoots => "minecraft:crimson_roots",
+ CrimsonPlanks => "minecraft:crimson_planks",
+ WarpedPlanks => "minecraft:warped_planks",
+ CrimsonSlab => "minecraft:crimson_slab",
+ WarpedSlab => "minecraft:warped_slab",
+ CrimsonPressurePlate => "minecraft:crimson_pressure_plate",
+ WarpedPressurePlate => "minecraft:warped_pressure_plate",
+ CrimsonFence => "minecraft:crimson_fence",
+ WarpedFence => "minecraft:warped_fence",
+ CrimsonTrapdoor => "minecraft:crimson_trapdoor",
+ WarpedTrapdoor => "minecraft:warped_trapdoor",
+ CrimsonFenceGate => "minecraft:crimson_fence_gate",
+ WarpedFenceGate => "minecraft:warped_fence_gate",
+ CrimsonStairs => "minecraft:crimson_stairs",
+ WarpedStairs => "minecraft:warped_stairs",
+ CrimsonButton => "minecraft:crimson_button",
+ WarpedButton => "minecraft:warped_button",
+ CrimsonDoor => "minecraft:crimson_door",
+ WarpedDoor => "minecraft:warped_door",
+ CrimsonSign => "minecraft:crimson_sign",
+ WarpedSign => "minecraft:warped_sign",
+ CrimsonWallSign => "minecraft:crimson_wall_sign",
+ WarpedWallSign => "minecraft:warped_wall_sign",
+ StructureBlock => "minecraft:structure_block",
+ Jigsaw => "minecraft:jigsaw",
+ TestBlock => "minecraft:test_block",
+ TestInstanceBlock => "minecraft:test_instance_block",
+ Composter => "minecraft:composter",
+ Target => "minecraft:target",
+ BeeNest => "minecraft:bee_nest",
+ Beehive => "minecraft:beehive",
+ HoneyBlock => "minecraft:honey_block",
+ HoneycombBlock => "minecraft:honeycomb_block",
+ NetheriteBlock => "minecraft:netherite_block",
+ AncientDebris => "minecraft:ancient_debris",
+ CryingObsidian => "minecraft:crying_obsidian",
+ RespawnAnchor => "minecraft:respawn_anchor",
+ PottedCrimsonFungus => "minecraft:potted_crimson_fungus",
+ PottedWarpedFungus => "minecraft:potted_warped_fungus",
+ PottedCrimsonRoots => "minecraft:potted_crimson_roots",
+ PottedWarpedRoots => "minecraft:potted_warped_roots",
+ Lodestone => "minecraft:lodestone",
+ Blackstone => "minecraft:blackstone",
+ BlackstoneStairs => "minecraft:blackstone_stairs",
+ BlackstoneWall => "minecraft:blackstone_wall",
+ BlackstoneSlab => "minecraft:blackstone_slab",
+ PolishedBlackstone => "minecraft:polished_blackstone",
+ PolishedBlackstoneBricks => "minecraft:polished_blackstone_bricks",
+ CrackedPolishedBlackstoneBricks => "minecraft:cracked_polished_blackstone_bricks",
+ ChiseledPolishedBlackstone => "minecraft:chiseled_polished_blackstone",
+ PolishedBlackstoneBrickSlab => "minecraft:polished_blackstone_brick_slab",
+ PolishedBlackstoneBrickStairs => "minecraft:polished_blackstone_brick_stairs",
+ PolishedBlackstoneBrickWall => "minecraft:polished_blackstone_brick_wall",
+ GildedBlackstone => "minecraft:gilded_blackstone",
+ PolishedBlackstoneStairs => "minecraft:polished_blackstone_stairs",
+ PolishedBlackstoneSlab => "minecraft:polished_blackstone_slab",
+ PolishedBlackstonePressurePlate => "minecraft:polished_blackstone_pressure_plate",
+ PolishedBlackstoneButton => "minecraft:polished_blackstone_button",
+ PolishedBlackstoneWall => "minecraft:polished_blackstone_wall",
+ ChiseledNetherBricks => "minecraft:chiseled_nether_bricks",
+ CrackedNetherBricks => "minecraft:cracked_nether_bricks",
+ QuartzBricks => "minecraft:quartz_bricks",
+ Candle => "minecraft:candle",
+ WhiteCandle => "minecraft:white_candle",
+ OrangeCandle => "minecraft:orange_candle",
+ MagentaCandle => "minecraft:magenta_candle",
+ LightBlueCandle => "minecraft:light_blue_candle",
+ YellowCandle => "minecraft:yellow_candle",
+ LimeCandle => "minecraft:lime_candle",
+ PinkCandle => "minecraft:pink_candle",
+ GrayCandle => "minecraft:gray_candle",
+ LightGrayCandle => "minecraft:light_gray_candle",
+ CyanCandle => "minecraft:cyan_candle",
+ PurpleCandle => "minecraft:purple_candle",
+ BlueCandle => "minecraft:blue_candle",
+ BrownCandle => "minecraft:brown_candle",
+ GreenCandle => "minecraft:green_candle",
+ RedCandle => "minecraft:red_candle",
+ BlackCandle => "minecraft:black_candle",
+ CandleCake => "minecraft:candle_cake",
+ WhiteCandleCake => "minecraft:white_candle_cake",
+ OrangeCandleCake => "minecraft:orange_candle_cake",
+ MagentaCandleCake => "minecraft:magenta_candle_cake",
+ LightBlueCandleCake => "minecraft:light_blue_candle_cake",
+ YellowCandleCake => "minecraft:yellow_candle_cake",
+ LimeCandleCake => "minecraft:lime_candle_cake",
+ PinkCandleCake => "minecraft:pink_candle_cake",
+ GrayCandleCake => "minecraft:gray_candle_cake",
+ LightGrayCandleCake => "minecraft:light_gray_candle_cake",
+ CyanCandleCake => "minecraft:cyan_candle_cake",
+ PurpleCandleCake => "minecraft:purple_candle_cake",
+ BlueCandleCake => "minecraft:blue_candle_cake",
+ BrownCandleCake => "minecraft:brown_candle_cake",
+ GreenCandleCake => "minecraft:green_candle_cake",
+ RedCandleCake => "minecraft:red_candle_cake",
+ BlackCandleCake => "minecraft:black_candle_cake",
+ AmethystBlock => "minecraft:amethyst_block",
+ BuddingAmethyst => "minecraft:budding_amethyst",
+ AmethystCluster => "minecraft:amethyst_cluster",
+ LargeAmethystBud => "minecraft:large_amethyst_bud",
+ MediumAmethystBud => "minecraft:medium_amethyst_bud",
+ SmallAmethystBud => "minecraft:small_amethyst_bud",
+ Tuff => "minecraft:tuff",
+ TuffSlab => "minecraft:tuff_slab",
+ TuffStairs => "minecraft:tuff_stairs",
+ TuffWall => "minecraft:tuff_wall",
+ PolishedTuff => "minecraft:polished_tuff",
+ PolishedTuffSlab => "minecraft:polished_tuff_slab",
+ PolishedTuffStairs => "minecraft:polished_tuff_stairs",
+ PolishedTuffWall => "minecraft:polished_tuff_wall",
+ ChiseledTuff => "minecraft:chiseled_tuff",
+ TuffBricks => "minecraft:tuff_bricks",
+ TuffBrickSlab => "minecraft:tuff_brick_slab",
+ TuffBrickStairs => "minecraft:tuff_brick_stairs",
+ TuffBrickWall => "minecraft:tuff_brick_wall",
+ ChiseledTuffBricks => "minecraft:chiseled_tuff_bricks",
+ Calcite => "minecraft:calcite",
+ TintedGlass => "minecraft:tinted_glass",
+ PowderSnow => "minecraft:powder_snow",
+ SculkSensor => "minecraft:sculk_sensor",
+ CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
+ Sculk => "minecraft:sculk",
+ SculkVein => "minecraft:sculk_vein",
+ SculkCatalyst => "minecraft:sculk_catalyst",
+ SculkShrieker => "minecraft:sculk_shrieker",
+ CopperBlock => "minecraft:copper_block",
+ ExposedCopper => "minecraft:exposed_copper",
+ WeatheredCopper => "minecraft:weathered_copper",
+ OxidizedCopper => "minecraft:oxidized_copper",
+ CopperOre => "minecraft:copper_ore",
+ DeepslateCopperOre => "minecraft:deepslate_copper_ore",
+ OxidizedCutCopper => "minecraft:oxidized_cut_copper",
+ WeatheredCutCopper => "minecraft:weathered_cut_copper",
+ ExposedCutCopper => "minecraft:exposed_cut_copper",
+ CutCopper => "minecraft:cut_copper",
+ OxidizedChiseledCopper => "minecraft:oxidized_chiseled_copper",
+ WeatheredChiseledCopper => "minecraft:weathered_chiseled_copper",
+ ExposedChiseledCopper => "minecraft:exposed_chiseled_copper",
+ ChiseledCopper => "minecraft:chiseled_copper",
+ WaxedOxidizedChiseledCopper => "minecraft:waxed_oxidized_chiseled_copper",
+ WaxedWeatheredChiseledCopper => "minecraft:waxed_weathered_chiseled_copper",
+ WaxedExposedChiseledCopper => "minecraft:waxed_exposed_chiseled_copper",
+ WaxedChiseledCopper => "minecraft:waxed_chiseled_copper",
+ OxidizedCutCopperStairs => "minecraft:oxidized_cut_copper_stairs",
+ WeatheredCutCopperStairs => "minecraft:weathered_cut_copper_stairs",
+ ExposedCutCopperStairs => "minecraft:exposed_cut_copper_stairs",
+ CutCopperStairs => "minecraft:cut_copper_stairs",
+ OxidizedCutCopperSlab => "minecraft:oxidized_cut_copper_slab",
+ WeatheredCutCopperSlab => "minecraft:weathered_cut_copper_slab",
+ ExposedCutCopperSlab => "minecraft:exposed_cut_copper_slab",
+ CutCopperSlab => "minecraft:cut_copper_slab",
+ WaxedCopperBlock => "minecraft:waxed_copper_block",
+ WaxedWeatheredCopper => "minecraft:waxed_weathered_copper",
+ WaxedExposedCopper => "minecraft:waxed_exposed_copper",
+ WaxedOxidizedCopper => "minecraft:waxed_oxidized_copper",
+ WaxedOxidizedCutCopper => "minecraft:waxed_oxidized_cut_copper",
+ WaxedWeatheredCutCopper => "minecraft:waxed_weathered_cut_copper",
+ WaxedExposedCutCopper => "minecraft:waxed_exposed_cut_copper",
+ WaxedCutCopper => "minecraft:waxed_cut_copper",
+ WaxedOxidizedCutCopperStairs => "minecraft:waxed_oxidized_cut_copper_stairs",
+ WaxedWeatheredCutCopperStairs => "minecraft:waxed_weathered_cut_copper_stairs",
+ WaxedExposedCutCopperStairs => "minecraft:waxed_exposed_cut_copper_stairs",
+ WaxedCutCopperStairs => "minecraft:waxed_cut_copper_stairs",
+ WaxedOxidizedCutCopperSlab => "minecraft:waxed_oxidized_cut_copper_slab",
+ WaxedWeatheredCutCopperSlab => "minecraft:waxed_weathered_cut_copper_slab",
+ WaxedExposedCutCopperSlab => "minecraft:waxed_exposed_cut_copper_slab",
+ WaxedCutCopperSlab => "minecraft:waxed_cut_copper_slab",
+ CopperDoor => "minecraft:copper_door",
+ ExposedCopperDoor => "minecraft:exposed_copper_door",
+ OxidizedCopperDoor => "minecraft:oxidized_copper_door",
+ WeatheredCopperDoor => "minecraft:weathered_copper_door",
+ WaxedCopperDoor => "minecraft:waxed_copper_door",
+ WaxedExposedCopperDoor => "minecraft:waxed_exposed_copper_door",
+ WaxedOxidizedCopperDoor => "minecraft:waxed_oxidized_copper_door",
+ WaxedWeatheredCopperDoor => "minecraft:waxed_weathered_copper_door",
+ CopperTrapdoor => "minecraft:copper_trapdoor",
+ ExposedCopperTrapdoor => "minecraft:exposed_copper_trapdoor",
+ OxidizedCopperTrapdoor => "minecraft:oxidized_copper_trapdoor",
+ WeatheredCopperTrapdoor => "minecraft:weathered_copper_trapdoor",
+ WaxedCopperTrapdoor => "minecraft:waxed_copper_trapdoor",
+ WaxedExposedCopperTrapdoor => "minecraft:waxed_exposed_copper_trapdoor",
+ WaxedOxidizedCopperTrapdoor => "minecraft:waxed_oxidized_copper_trapdoor",
+ WaxedWeatheredCopperTrapdoor => "minecraft:waxed_weathered_copper_trapdoor",
+ CopperGrate => "minecraft:copper_grate",
+ ExposedCopperGrate => "minecraft:exposed_copper_grate",
+ WeatheredCopperGrate => "minecraft:weathered_copper_grate",
+ OxidizedCopperGrate => "minecraft:oxidized_copper_grate",
+ WaxedCopperGrate => "minecraft:waxed_copper_grate",
+ WaxedExposedCopperGrate => "minecraft:waxed_exposed_copper_grate",
+ WaxedWeatheredCopperGrate => "minecraft:waxed_weathered_copper_grate",
+ WaxedOxidizedCopperGrate => "minecraft:waxed_oxidized_copper_grate",
+ CopperBulb => "minecraft:copper_bulb",
+ ExposedCopperBulb => "minecraft:exposed_copper_bulb",
+ WeatheredCopperBulb => "minecraft:weathered_copper_bulb",
+ OxidizedCopperBulb => "minecraft:oxidized_copper_bulb",
+ WaxedCopperBulb => "minecraft:waxed_copper_bulb",
+ WaxedExposedCopperBulb => "minecraft:waxed_exposed_copper_bulb",
+ WaxedWeatheredCopperBulb => "minecraft:waxed_weathered_copper_bulb",
+ WaxedOxidizedCopperBulb => "minecraft:waxed_oxidized_copper_bulb",
+ CopperChest => "minecraft:copper_chest",
+ ExposedCopperChest => "minecraft:exposed_copper_chest",
+ WeatheredCopperChest => "minecraft:weathered_copper_chest",
+ OxidizedCopperChest => "minecraft:oxidized_copper_chest",
+ WaxedCopperChest => "minecraft:waxed_copper_chest",
+ WaxedExposedCopperChest => "minecraft:waxed_exposed_copper_chest",
+ WaxedWeatheredCopperChest => "minecraft:waxed_weathered_copper_chest",
+ WaxedOxidizedCopperChest => "minecraft:waxed_oxidized_copper_chest",
+ CopperGolemStatue => "minecraft:copper_golem_statue",
+ ExposedCopperGolemStatue => "minecraft:exposed_copper_golem_statue",
+ WeatheredCopperGolemStatue => "minecraft:weathered_copper_golem_statue",
+ OxidizedCopperGolemStatue => "minecraft:oxidized_copper_golem_statue",
+ WaxedCopperGolemStatue => "minecraft:waxed_copper_golem_statue",
+ WaxedExposedCopperGolemStatue => "minecraft:waxed_exposed_copper_golem_statue",
+ WaxedWeatheredCopperGolemStatue => "minecraft:waxed_weathered_copper_golem_statue",
+ WaxedOxidizedCopperGolemStatue => "minecraft:waxed_oxidized_copper_golem_statue",
+ LightningRod => "minecraft:lightning_rod",
+ ExposedLightningRod => "minecraft:exposed_lightning_rod",
+ WeatheredLightningRod => "minecraft:weathered_lightning_rod",
+ OxidizedLightningRod => "minecraft:oxidized_lightning_rod",
+ WaxedLightningRod => "minecraft:waxed_lightning_rod",
+ WaxedExposedLightningRod => "minecraft:waxed_exposed_lightning_rod",
+ WaxedWeatheredLightningRod => "minecraft:waxed_weathered_lightning_rod",
+ WaxedOxidizedLightningRod => "minecraft:waxed_oxidized_lightning_rod",
+ PointedDripstone => "minecraft:pointed_dripstone",
+ DripstoneBlock => "minecraft:dripstone_block",
+ CaveVines => "minecraft:cave_vines",
+ CaveVinesPlant => "minecraft:cave_vines_plant",
+ SporeBlossom => "minecraft:spore_blossom",
+ Azalea => "minecraft:azalea",
+ FloweringAzalea => "minecraft:flowering_azalea",
+ MossCarpet => "minecraft:moss_carpet",
+ PinkPetals => "minecraft:pink_petals",
+ Wildflowers => "minecraft:wildflowers",
+ LeafLitter => "minecraft:leaf_litter",
+ MossBlock => "minecraft:moss_block",
+ BigDripleaf => "minecraft:big_dripleaf",
+ BigDripleafStem => "minecraft:big_dripleaf_stem",
+ SmallDripleaf => "minecraft:small_dripleaf",
+ HangingRoots => "minecraft:hanging_roots",
+ RootedDirt => "minecraft:rooted_dirt",
+ Mud => "minecraft:mud",
+ Deepslate => "minecraft:deepslate",
+ CobbledDeepslate => "minecraft:cobbled_deepslate",
+ CobbledDeepslateStairs => "minecraft:cobbled_deepslate_stairs",
+ CobbledDeepslateSlab => "minecraft:cobbled_deepslate_slab",
+ CobbledDeepslateWall => "minecraft:cobbled_deepslate_wall",
+ PolishedDeepslate => "minecraft:polished_deepslate",
+ PolishedDeepslateStairs => "minecraft:polished_deepslate_stairs",
+ PolishedDeepslateSlab => "minecraft:polished_deepslate_slab",
+ PolishedDeepslateWall => "minecraft:polished_deepslate_wall",
+ DeepslateTiles => "minecraft:deepslate_tiles",
+ DeepslateTileStairs => "minecraft:deepslate_tile_stairs",
+ DeepslateTileSlab => "minecraft:deepslate_tile_slab",
+ DeepslateTileWall => "minecraft:deepslate_tile_wall",
+ DeepslateBricks => "minecraft:deepslate_bricks",
+ DeepslateBrickStairs => "minecraft:deepslate_brick_stairs",
+ DeepslateBrickSlab => "minecraft:deepslate_brick_slab",
+ DeepslateBrickWall => "minecraft:deepslate_brick_wall",
+ ChiseledDeepslate => "minecraft:chiseled_deepslate",
+ CrackedDeepslateBricks => "minecraft:cracked_deepslate_bricks",
+ CrackedDeepslateTiles => "minecraft:cracked_deepslate_tiles",
+ InfestedDeepslate => "minecraft:infested_deepslate",
+ SmoothBasalt => "minecraft:smooth_basalt",
+ RawIronBlock => "minecraft:raw_iron_block",
+ RawCopperBlock => "minecraft:raw_copper_block",
+ RawGoldBlock => "minecraft:raw_gold_block",
+ PottedAzaleaBush => "minecraft:potted_azalea_bush",
+ PottedFloweringAzaleaBush => "minecraft:potted_flowering_azalea_bush",
+ OchreFroglight => "minecraft:ochre_froglight",
+ VerdantFroglight => "minecraft:verdant_froglight",
+ PearlescentFroglight => "minecraft:pearlescent_froglight",
+ Frogspawn => "minecraft:frogspawn",
+ ReinforcedDeepslate => "minecraft:reinforced_deepslate",
+ DecoratedPot => "minecraft:decorated_pot",
+ Crafter => "minecraft:crafter",
+ TrialSpawner => "minecraft:trial_spawner",
+ Vault => "minecraft:vault",
+ HeavyCore => "minecraft:heavy_core",
+ PaleMossBlock => "minecraft:pale_moss_block",
+ PaleMossCarpet => "minecraft:pale_moss_carpet",
+ PaleHangingMoss => "minecraft:pale_hanging_moss",
+ OpenEyeblossom => "minecraft:open_eyeblossom",
+ ClosedEyeblossom => "minecraft:closed_eyeblossom",
+ PottedOpenEyeblossom => "minecraft:potted_open_eyeblossom",
+ PottedClosedEyeblossom => "minecraft:potted_closed_eyeblossom",
+ FireflyBush => "minecraft:firefly_bush",
+}
+}
+
+registry! {
+enum WorldgenPoolAliasBinding {
+ Random => "minecraft:random",
+ RandomGroup => "minecraft:random_group",
+ Direct => "minecraft:direct",
+}
+}
+
+registry! {
+enum TriggerKind {
+ Impossible => "minecraft:impossible",
+ PlayerKilledEntity => "minecraft:player_killed_entity",
+ EntityKilledPlayer => "minecraft:entity_killed_player",
+ EnterBlock => "minecraft:enter_block",
+ InventoryChanged => "minecraft:inventory_changed",
+ RecipeUnlocked => "minecraft:recipe_unlocked",
+ PlayerHurtEntity => "minecraft:player_hurt_entity",
+ EntityHurtPlayer => "minecraft:entity_hurt_player",
+ EnchantedItem => "minecraft:enchanted_item",
+ FilledBucket => "minecraft:filled_bucket",
+ BrewedPotion => "minecraft:brewed_potion",
+ ConstructBeacon => "minecraft:construct_beacon",
+ UsedEnderEye => "minecraft:used_ender_eye",
+ SummonedEntity => "minecraft:summoned_entity",
+ BredAnimals => "minecraft:bred_animals",
+ Location => "minecraft:location",
+ SleptInBed => "minecraft:slept_in_bed",
+ CuredZombieVillager => "minecraft:cured_zombie_villager",
+ VillagerTrade => "minecraft:villager_trade",
+ ItemDurabilityChanged => "minecraft:item_durability_changed",
+ Levitation => "minecraft:levitation",
+ ChangedDimension => "minecraft:changed_dimension",
+ Tick => "minecraft:tick",
+ TameAnimal => "minecraft:tame_animal",
+ PlacedBlock => "minecraft:placed_block",
+ ConsumeItem => "minecraft:consume_item",
+ EffectsChanged => "minecraft:effects_changed",
+ UsedTotem => "minecraft:used_totem",
+ NetherTravel => "minecraft:nether_travel",
+ FishingRodHooked => "minecraft:fishing_rod_hooked",
+ ChanneledLightning => "minecraft:channeled_lightning",
+ ShotCrossbow => "minecraft:shot_crossbow",
+ SpearMobs => "minecraft:spear_mobs",
+ KilledByArrow => "minecraft:killed_by_arrow",
+ HeroOfTheVillage => "minecraft:hero_of_the_village",
+ VoluntaryExile => "minecraft:voluntary_exile",
+ SlideDownBlock => "minecraft:slide_down_block",
+ BeeNestDestroyed => "minecraft:bee_nest_destroyed",
+ TargetHit => "minecraft:target_hit",
+ ItemUsedOnBlock => "minecraft:item_used_on_block",
+ DefaultBlockUse => "minecraft:default_block_use",
+ AnyBlockUse => "minecraft:any_block_use",
+ PlayerGeneratesContainerLoot => "minecraft:player_generates_container_loot",
+ ThrownItemPickedUpByEntity => "minecraft:thrown_item_picked_up_by_entity",
+ ThrownItemPickedUpByPlayer => "minecraft:thrown_item_picked_up_by_player",
+ PlayerInteractedWithEntity => "minecraft:player_interacted_with_entity",
+ PlayerShearedEquipment => "minecraft:player_sheared_equipment",
+ StartedRiding => "minecraft:started_riding",
+ LightningStrike => "minecraft:lightning_strike",
+ UsingItem => "minecraft:using_item",
+ FallFromHeight => "minecraft:fall_from_height",
+ RideEntityInLava => "minecraft:ride_entity_in_lava",
+ KillMobNearSculkCatalyst => "minecraft:kill_mob_near_sculk_catalyst",
+ AllayDropItemOnBlock => "minecraft:allay_drop_item_on_block",
+ AvoidVibration => "minecraft:avoid_vibration",
+ RecipeCrafted => "minecraft:recipe_crafted",
+ CrafterRecipeCrafted => "minecraft:crafter_recipe_crafted",
+ FallAfterExplosion => "minecraft:fall_after_explosion",
+}
+}
+
+registry! {
+enum NumberFormatKind {
+ Blank => "minecraft:blank",
+ Styled => "minecraft:styled",
+ Fixed => "minecraft:fixed",
+}
+}
+
+registry! {
+enum DataComponentKind {
+ CustomData => "minecraft:custom_data",
+ MaxStackSize => "minecraft:max_stack_size",
+ MaxDamage => "minecraft:max_damage",
+ Damage => "minecraft:damage",
+ Unbreakable => "minecraft:unbreakable",
+ UseEffects => "minecraft:use_effects",
+ CustomName => "minecraft:custom_name",
+ MinimumAttackCharge => "minecraft:minimum_attack_charge",
+ DamageType => "minecraft:damage_type",
+ ItemName => "minecraft:item_name",
+ ItemModel => "minecraft:item_model",
+ Lore => "minecraft:lore",
+ Rarity => "minecraft:rarity",
+ Enchantments => "minecraft:enchantments",
+ CanPlaceOn => "minecraft:can_place_on",
+ CanBreak => "minecraft:can_break",
+ AttributeModifiers => "minecraft:attribute_modifiers",
+ CustomModelData => "minecraft:custom_model_data",
+ TooltipDisplay => "minecraft:tooltip_display",
+ RepairCost => "minecraft:repair_cost",
+ CreativeSlotLock => "minecraft:creative_slot_lock",
+ EnchantmentGlintOverride => "minecraft:enchantment_glint_override",
+ IntangibleProjectile => "minecraft:intangible_projectile",
+ Food => "minecraft:food",
+ Consumable => "minecraft:consumable",
+ UseRemainder => "minecraft:use_remainder",
+ UseCooldown => "minecraft:use_cooldown",
+ DamageResistant => "minecraft:damage_resistant",
+ Tool => "minecraft:tool",
+ Weapon => "minecraft:weapon",
+ AttackRange => "minecraft:attack_range",
+ Enchantable => "minecraft:enchantable",
+ Equippable => "minecraft:equippable",
+ Repairable => "minecraft:repairable",
+ Glider => "minecraft:glider",
+ TooltipStyle => "minecraft:tooltip_style",
+ DeathProtection => "minecraft:death_protection",
+ BlocksAttacks => "minecraft:blocks_attacks",
+ PiercingWeapon => "minecraft:piercing_weapon",
+ KineticWeapon => "minecraft:kinetic_weapon",
+ SwingAnimation => "minecraft:swing_animation",
+ StoredEnchantments => "minecraft:stored_enchantments",
+ DyedColor => "minecraft:dyed_color",
+ MapColor => "minecraft:map_color",
+ MapId => "minecraft:map_id",
+ MapDecorations => "minecraft:map_decorations",
+ MapPostProcessing => "minecraft:map_post_processing",
+ ChargedProjectiles => "minecraft:charged_projectiles",
+ BundleContents => "minecraft:bundle_contents",
+ PotionContents => "minecraft:potion_contents",
+ PotionDurationScale => "minecraft:potion_duration_scale",
+ SuspiciousStewEffects => "minecraft:suspicious_stew_effects",
+ WritableBookContent => "minecraft:writable_book_content",
+ WrittenBookContent => "minecraft:written_book_content",
+ Trim => "minecraft:trim",
+ DebugStickState => "minecraft:debug_stick_state",
+ EntityData => "minecraft:entity_data",
+ BucketEntityData => "minecraft:bucket_entity_data",
+ BlockEntityData => "minecraft:block_entity_data",
+ Instrument => "minecraft:instrument",
+ ProvidesTrimMaterial => "minecraft:provides_trim_material",
+ OminousBottleAmplifier => "minecraft:ominous_bottle_amplifier",
+ JukeboxPlayable => "minecraft:jukebox_playable",
+ ProvidesBannerPatterns => "minecraft:provides_banner_patterns",
+ Recipes => "minecraft:recipes",
+ LodestoneTracker => "minecraft:lodestone_tracker",
+ FireworkExplosion => "minecraft:firework_explosion",
+ Fireworks => "minecraft:fireworks",
+ Profile => "minecraft:profile",
+ NoteBlockSound => "minecraft:note_block_sound",
+ BannerPatterns => "minecraft:banner_patterns",
+ BaseColor => "minecraft:base_color",
+ PotDecorations => "minecraft:pot_decorations",
+ Container => "minecraft:container",
+ BlockState => "minecraft:block_state",
+ Bees => "minecraft:bees",
+ Lock => "minecraft:lock",
+ ContainerLoot => "minecraft:container_loot",
+ BreakSound => "minecraft:break_sound",
+ VillagerVariant => "minecraft:villager/variant",
+ WolfVariant => "minecraft:wolf/variant",
+ WolfSoundVariant => "minecraft:wolf/sound_variant",
+ WolfCollar => "minecraft:wolf/collar",
+ FoxVariant => "minecraft:fox/variant",
+ SalmonSize => "minecraft:salmon/size",
+ ParrotVariant => "minecraft:parrot/variant",
+ TropicalFishPattern => "minecraft:tropical_fish/pattern",
+ TropicalFishBaseColor => "minecraft:tropical_fish/base_color",
+ TropicalFishPatternColor => "minecraft:tropical_fish/pattern_color",
+ MooshroomVariant => "minecraft:mooshroom/variant",
+ RabbitVariant => "minecraft:rabbit/variant",
+ PigVariant => "minecraft:pig/variant",
+ CowVariant => "minecraft:cow/variant",
+ ChickenVariant => "minecraft:chicken/variant",
+ ZombieNautilusVariant => "minecraft:zombie_nautilus/variant",
+ FrogVariant => "minecraft:frog/variant",
+ HorseVariant => "minecraft:horse/variant",
+ PaintingVariant => "minecraft:painting/variant",
+ LlamaVariant => "minecraft:llama/variant",
+ AxolotlVariant => "minecraft:axolotl/variant",
+ CatVariant => "minecraft:cat/variant",
+ CatCollar => "minecraft:cat/collar",
+ SheepColor => "minecraft:sheep/color",
+ ShulkerColor => "minecraft:shulker/color",
+}
+}
+
+registry! {
+enum EntitySubPredicateKind {
+ Lightning => "minecraft:lightning",
+ FishingHook => "minecraft:fishing_hook",
+ Player => "minecraft:player",
+ Slime => "minecraft:slime",
+ Raider => "minecraft:raider",
+ Sheep => "minecraft:sheep",
+}
+}
+
+registry! {
+enum MapDecorationKind {
+ Player => "minecraft:player",
+ Frame => "minecraft:frame",
+ RedMarker => "minecraft:red_marker",
+ BlueMarker => "minecraft:blue_marker",
+ TargetX => "minecraft:target_x",
+ TargetPoint => "minecraft:target_point",
+ PlayerOffMap => "minecraft:player_off_map",
+ PlayerOffLimits => "minecraft:player_off_limits",
+ Mansion => "minecraft:mansion",
+ Monument => "minecraft:monument",
+ BannerWhite => "minecraft:banner_white",
+ BannerOrange => "minecraft:banner_orange",
+ BannerMagenta => "minecraft:banner_magenta",
+ BannerLightBlue => "minecraft:banner_light_blue",
+ BannerYellow => "minecraft:banner_yellow",
+ BannerLime => "minecraft:banner_lime",
+ BannerPink => "minecraft:banner_pink",
+ BannerGray => "minecraft:banner_gray",
+ BannerLightGray => "minecraft:banner_light_gray",
+ BannerCyan => "minecraft:banner_cyan",
+ BannerPurple => "minecraft:banner_purple",
+ BannerBlue => "minecraft:banner_blue",
+ BannerBrown => "minecraft:banner_brown",
+ BannerGreen => "minecraft:banner_green",
+ BannerRed => "minecraft:banner_red",
+ BannerBlack => "minecraft:banner_black",
+ RedX => "minecraft:red_x",
+ VillageDesert => "minecraft:village_desert",
+ VillagePlains => "minecraft:village_plains",
+ VillageSavanna => "minecraft:village_savanna",
+ VillageSnowy => "minecraft:village_snowy",
+ VillageTaiga => "minecraft:village_taiga",
+ JungleTemple => "minecraft:jungle_temple",
+ SwampHut => "minecraft:swamp_hut",
+ TrialChambers => "minecraft:trial_chambers",
+}
+}
+
+registry! {
+enum EnchantmentEffectComponentKind {
+ DamageProtection => "minecraft:damage_protection",
+ DamageImmunity => "minecraft:damage_immunity",
+ Damage => "minecraft:damage",
+ SmashDamagePerFallenBlock => "minecraft:smash_damage_per_fallen_block",
+ Knockback => "minecraft:knockback",
+ ArmorEffectiveness => "minecraft:armor_effectiveness",
+ PostAttack => "minecraft:post_attack",
+ PostPiercingAttack => "minecraft:post_piercing_attack",
+ HitBlock => "minecraft:hit_block",
+ ItemDamage => "minecraft:item_damage",
+ Attributes => "minecraft:attributes",
+ EquipmentDrops => "minecraft:equipment_drops",
+ LocationChanged => "minecraft:location_changed",
+ Tick => "minecraft:tick",
+ AmmoUse => "minecraft:ammo_use",
+ ProjectilePiercing => "minecraft:projectile_piercing",
+ ProjectileSpawned => "minecraft:projectile_spawned",
+ ProjectileSpread => "minecraft:projectile_spread",
+ ProjectileCount => "minecraft:projectile_count",
+ TridentReturnAcceleration => "minecraft:trident_return_acceleration",
+ FishingTimeReduction => "minecraft:fishing_time_reduction",
+ FishingLuckBonus => "minecraft:fishing_luck_bonus",
+ BlockExperience => "minecraft:block_experience",
+ MobExperience => "minecraft:mob_experience",
+ RepairWithXp => "minecraft:repair_with_xp",
+ CrossbowChargeTime => "minecraft:crossbow_charge_time",
+ CrossbowChargingSounds => "minecraft:crossbow_charging_sounds",
+ TridentSound => "minecraft:trident_sound",
+ PreventEquipmentDrop => "minecraft:prevent_equipment_drop",
+ PreventArmorChange => "minecraft:prevent_armor_change",
+ TridentSpinAttackStrength => "minecraft:trident_spin_attack_strength",
+}
+}
+
+registry! {
+enum EnchantmentEntityEffectKind {
+ AllOf => "minecraft:all_of",
+ ApplyMobEffect => "minecraft:apply_mob_effect",
+ ChangeItemDamage => "minecraft:change_item_damage",
+ DamageEntity => "minecraft:damage_entity",
+ Explode => "minecraft:explode",
+ Ignite => "minecraft:ignite",
+ ApplyImpulse => "minecraft:apply_impulse",
+ ApplyExhaustion => "minecraft:apply_exhaustion",
+ PlaySound => "minecraft:play_sound",
+ ReplaceBlock => "minecraft:replace_block",
+ ReplaceDisk => "minecraft:replace_disk",
+ RunFunction => "minecraft:run_function",
+ SetBlockProperties => "minecraft:set_block_properties",
+ SpawnParticles => "minecraft:spawn_particles",
+ SummonEntity => "minecraft:summon_entity",
+}
+}
+
+registry! {
+enum EnchantmentLevelBasedValueKind {
+ Clamped => "minecraft:clamped",
+ Fraction => "minecraft:fraction",
+ LevelsSquared => "minecraft:levels_squared",
+ Linear => "minecraft:linear",
+ Exponent => "minecraft:exponent",
+ Lookup => "minecraft:lookup",
+}
+}
+
+registry! {
+enum EnchantmentLocationBasedEffectKind {
+ AllOf => "minecraft:all_of",
+ ApplyMobEffect => "minecraft:apply_mob_effect",
+ Attribute => "minecraft:attribute",
+ ChangeItemDamage => "minecraft:change_item_damage",
+ DamageEntity => "minecraft:damage_entity",
+ Explode => "minecraft:explode",
+ Ignite => "minecraft:ignite",
+ ApplyImpulse => "minecraft:apply_impulse",
+ ApplyExhaustion => "minecraft:apply_exhaustion",
+ PlaySound => "minecraft:play_sound",
+ ReplaceBlock => "minecraft:replace_block",
+ ReplaceDisk => "minecraft:replace_disk",
+ RunFunction => "minecraft:run_function",
+ SetBlockProperties => "minecraft:set_block_properties",
+ SpawnParticles => "minecraft:spawn_particles",
+ SummonEntity => "minecraft:summon_entity",
+}
+}
+
+registry! {
+enum EnchantmentProviderKind {
+ ByCost => "minecraft:by_cost",
+ ByCostWithDifficulty => "minecraft:by_cost_with_difficulty",
+ Single => "minecraft:single",
+}
+}
+
+registry! {
+enum EnchantmentValueEffectKind {
+ Add => "minecraft:add",
+ AllOf => "minecraft:all_of",
+ Multiply => "minecraft:multiply",
+ RemoveBinomial => "minecraft:remove_binomial",
+ Exponential => "minecraft:exponential",
+ Set => "minecraft:set",
+}
+}
+
+registry! {
+enum DecoratedPotPattern {
+ Angler => "minecraft:angler",
+ Archer => "minecraft:archer",
+ ArmsUp => "minecraft:arms_up",
+ Blade => "minecraft:blade",
+ Brewer => "minecraft:brewer",
+ Burn => "minecraft:burn",
+ Danger => "minecraft:danger",
+ Explorer => "minecraft:explorer",
+ Flow => "minecraft:flow",
+ Friend => "minecraft:friend",
+ Guster => "minecraft:guster",
+ Heart => "minecraft:heart",
+ Heartbreak => "minecraft:heartbreak",
+ Howl => "minecraft:howl",
+ Miner => "minecraft:miner",
+ Mourner => "minecraft:mourner",
+ Plenty => "minecraft:plenty",
+ Prize => "minecraft:prize",
+ Scrape => "minecraft:scrape",
+ Sheaf => "minecraft:sheaf",
+ Shelter => "minecraft:shelter",
+ Skull => "minecraft:skull",
+ Snort => "minecraft:snort",
+ Blank => "minecraft:blank",
+}
+}
+
+registry! {
+enum ConsumeEffectKind {
+ ApplyEffects => "minecraft:apply_effects",
+ RemoveEffects => "minecraft:remove_effects",
+ ClearAllEffects => "minecraft:clear_all_effects",
+ TeleportRandomly => "minecraft:teleport_randomly",
+ PlaySound => "minecraft:play_sound",
+}
+}
+
+registry! {
+enum RecipeBookCategory {
+ CraftingBuildingBlocks => "minecraft:crafting_building_blocks",
+ CraftingRedstone => "minecraft:crafting_redstone",
+ CraftingEquipment => "minecraft:crafting_equipment",
+ CraftingMisc => "minecraft:crafting_misc",
+ FurnaceFood => "minecraft:furnace_food",
+ FurnaceBlocks => "minecraft:furnace_blocks",
+ FurnaceMisc => "minecraft:furnace_misc",
+ BlastFurnaceBlocks => "minecraft:blast_furnace_blocks",
+ BlastFurnaceMisc => "minecraft:blast_furnace_misc",
+ SmokerFood => "minecraft:smoker_food",
+ Stonecutter => "minecraft:stonecutter",
+ Smithing => "minecraft:smithing",
+ Campfire => "minecraft:campfire",
+}
+}
+
+registry! {
+enum RecipeDisplay {
+ CraftingShapeless => "minecraft:crafting_shapeless",
+ CraftingShaped => "minecraft:crafting_shaped",
+ Furnace => "minecraft:furnace",
+ Stonecutter => "minecraft:stonecutter",
+ Smithing => "minecraft:smithing",
+}
+}
+
+registry! {
+enum SlotDisplay {
+ Empty => "minecraft:empty",
+ AnyFuel => "minecraft:any_fuel",
+ Item => "minecraft:item",
+ ItemStack => "minecraft:item_stack",
+ Tag => "minecraft:tag",
+ SmithingTrim => "minecraft:smithing_trim",
+ WithRemainder => "minecraft:with_remainder",
+ Composite => "minecraft:composite",
+}
+}
+
+registry! {
+enum TicketKind {
+ PlayerSpawn => "minecraft:player_spawn",
+ SpawnSearch => "minecraft:spawn_search",
+ Dragon => "minecraft:dragon",
+ PlayerLoading => "minecraft:player_loading",
+ PlayerSimulation => "minecraft:player_simulation",
+ Forced => "minecraft:forced",
+ Portal => "minecraft:portal",
+ EnderPearl => "minecraft:ender_pearl",
+ Unknown => "minecraft:unknown",
+}
+}
+
+registry! {
+enum TestEnvironmentDefinitionKind {
+ AllOf => "minecraft:all_of",
+ GameRules => "minecraft:game_rules",
+ TimeOfDay => "minecraft:time_of_day",
+ Weather => "minecraft:weather",
+ Function => "minecraft:function",
+}
+}
+
+registry! {
+enum TestFunction {
+ AlwaysPass => "minecraft:always_pass",
+}
+}
+
+registry! {
+enum TestInstanceKind {
+ BlockBased => "minecraft:block_based",
+ Function => "minecraft:function",
+}
+}
+
+registry! {
+enum DataComponentPredicateKind {
+ Damage => "minecraft:damage",
+ Enchantments => "minecraft:enchantments",
+ StoredEnchantments => "minecraft:stored_enchantments",
+ PotionContents => "minecraft:potion_contents",
+ CustomData => "minecraft:custom_data",
+ Container => "minecraft:container",
+ BundleContents => "minecraft:bundle_contents",
+ FireworkExplosion => "minecraft:firework_explosion",
+ Fireworks => "minecraft:fireworks",
+ WritableBookContent => "minecraft:writable_book_content",
+ WrittenBookContent => "minecraft:written_book_content",
+ AttributeModifiers => "minecraft:attribute_modifiers",
+ Trim => "minecraft:trim",
+ JukeboxPlayable => "minecraft:jukebox_playable",
+}
+}
+
+registry! {
+enum SpawnConditionKind {
+ Structure => "minecraft:structure",
+ MoonBrightness => "minecraft:moon_brightness",
+ Biome => "minecraft:biome",
+}
+}
+
+registry! {
+enum DialogBodyKind {
+ Item => "minecraft:item",
+ PlainMessage => "minecraft:plain_message",
+}
+}
+
+registry! {
+enum DialogKind {
+ Notice => "minecraft:notice",
+ ServerLinks => "minecraft:server_links",
+ DialogList => "minecraft:dialog_list",
+ MultiAction => "minecraft:multi_action",
+ Confirmation => "minecraft:confirmation",
+}
+}
+
+registry! {
+enum InputControlKind {
+ Boolean => "minecraft:boolean",
+ NumberRange => "minecraft:number_range",
+ SingleOption => "minecraft:single_option",
+ Text => "minecraft:text",
+}
+}
+
+registry! {
+enum DialogActionKind {
+ OpenUrl => "minecraft:open_url",
+ RunCommand => "minecraft:run_command",
+ SuggestCommand => "minecraft:suggest_command",
+ ShowDialog => "minecraft:show_dialog",
+ ChangePage => "minecraft:change_page",
+ CopyToClipboard => "minecraft:copy_to_clipboard",
+ Custom => "minecraft:custom",
+ DynamicRunCommand => "minecraft:dynamic/run_command",
+ DynamicCustom => "minecraft:dynamic/custom",
+}
+}
+
+registry! {
+enum DebugSubscription {
+ DedicatedServerTickTime => "minecraft:dedicated_server_tick_time",
+ Bees => "minecraft:bees",
+ Brains => "minecraft:brains",
+ Breezes => "minecraft:breezes",
+ GoalSelectors => "minecraft:goal_selectors",
+ EntityPaths => "minecraft:entity_paths",
+ EntityBlockIntersections => "minecraft:entity_block_intersections",
+ BeeHives => "minecraft:bee_hives",
+ Pois => "minecraft:pois",
+ RedstoneWireOrientations => "minecraft:redstone_wire_orientations",
+ VillageSections => "minecraft:village_sections",
+ Raids => "minecraft:raids",
+ Structures => "minecraft:structures",
+ GameEventListeners => "minecraft:game_event_listeners",
+ NeighborUpdates => "minecraft:neighbor_updates",
+ GameEvents => "minecraft:game_events",
+}
+}
+
+registry! {
+enum IncomingRpcMethods {
+ Allowlist => "minecraft:allowlist",
+ AllowlistSet => "minecraft:allowlist/set",
+ AllowlistAdd => "minecraft:allowlist/add",
+ AllowlistRemove => "minecraft:allowlist/remove",
+ AllowlistClear => "minecraft:allowlist/clear",
+ Bans => "minecraft:bans",
+ BansSet => "minecraft:bans/set",
+ BansAdd => "minecraft:bans/add",
+ BansRemove => "minecraft:bans/remove",
+ BansClear => "minecraft:bans/clear",
+ IpBans => "minecraft:ip_bans",
+ IpBansSet => "minecraft:ip_bans/set",
+ IpBansAdd => "minecraft:ip_bans/add",
+ IpBansRemove => "minecraft:ip_bans/remove",
+ IpBansClear => "minecraft:ip_bans/clear",
+ Players => "minecraft:players",
+ PlayersKick => "minecraft:players/kick",
+ Operators => "minecraft:operators",
+ OperatorsSet => "minecraft:operators/set",
+ OperatorsAdd => "minecraft:operators/add",
+ OperatorsRemove => "minecraft:operators/remove",
+ OperatorsClear => "minecraft:operators/clear",
+ ServerStatus => "minecraft:server/status",
+ ServerSave => "minecraft:server/save",
+ ServerStop => "minecraft:server/stop",
+ ServerSystemMessage => "minecraft:server/system_message",
+ ServersettingsAutosave => "minecraft:serversettings/autosave",
+ ServersettingsAutosaveSet => "minecraft:serversettings/autosave/set",
+ ServersettingsDifficulty => "minecraft:serversettings/difficulty",
+ ServersettingsDifficultySet => "minecraft:serversettings/difficulty/set",
+ ServersettingsEnforceAllowlist => "minecraft:serversettings/enforce_allowlist",
+ ServersettingsEnforceAllowlistSet => "minecraft:serversettings/enforce_allowlist/set",
+ ServersettingsUseAllowlist => "minecraft:serversettings/use_allowlist",
+ ServersettingsUseAllowlistSet => "minecraft:serversettings/use_allowlist/set",
+ ServersettingsMaxPlayers => "minecraft:serversettings/max_players",
+ ServersettingsMaxPlayersSet => "minecraft:serversettings/max_players/set",
+ ServersettingsPauseWhenEmptySeconds => "minecraft:serversettings/pause_when_empty_seconds",
+ ServersettingsPauseWhenEmptySecondsSet => "minecraft:serversettings/pause_when_empty_seconds/set",
+ ServersettingsPlayerIdleTimeout => "minecraft:serversettings/player_idle_timeout",
+ ServersettingsPlayerIdleTimeoutSet => "minecraft:serversettings/player_idle_timeout/set",
+ ServersettingsAllowFlight => "minecraft:serversettings/allow_flight",
+ ServersettingsAllowFlightSet => "minecraft:serversettings/allow_flight/set",
+ ServersettingsMotd => "minecraft:serversettings/motd",
+ ServersettingsMotdSet => "minecraft:serversettings/motd/set",
+ ServersettingsSpawnProtectionRadius => "minecraft:serversettings/spawn_protection_radius",
+ ServersettingsSpawnProtectionRadiusSet => "minecraft:serversettings/spawn_protection_radius/set",
+ ServersettingsForceGameMode => "minecraft:serversettings/force_game_mode",
+ ServersettingsForceGameModeSet => "minecraft:serversettings/force_game_mode/set",
+ ServersettingsGameMode => "minecraft:serversettings/game_mode",
+ ServersettingsGameModeSet => "minecraft:serversettings/game_mode/set",
+ ServersettingsViewDistance => "minecraft:serversettings/view_distance",
+ ServersettingsViewDistanceSet => "minecraft:serversettings/view_distance/set",
+ ServersettingsSimulationDistance => "minecraft:serversettings/simulation_distance",
+ ServersettingsSimulationDistanceSet => "minecraft:serversettings/simulation_distance/set",
+ ServersettingsAcceptTransfers => "minecraft:serversettings/accept_transfers",
+ ServersettingsAcceptTransfersSet => "minecraft:serversettings/accept_transfers/set",
+ ServersettingsStatusHeartbeatInterval => "minecraft:serversettings/status_heartbeat_interval",
+ ServersettingsStatusHeartbeatIntervalSet => "minecraft:serversettings/status_heartbeat_interval/set",
+ ServersettingsOperatorUserPermissionLevel => "minecraft:serversettings/operator_user_permission_level",
+ ServersettingsOperatorUserPermissionLevelSet => "minecraft:serversettings/operator_user_permission_level/set",
+ ServersettingsHideOnlinePlayers => "minecraft:serversettings/hide_online_players",
+ ServersettingsHideOnlinePlayersSet => "minecraft:serversettings/hide_online_players/set",
+ ServersettingsStatusReplies => "minecraft:serversettings/status_replies",
+ ServersettingsStatusRepliesSet => "minecraft:serversettings/status_replies/set",
+ ServersettingsEntityBroadcastRange => "minecraft:serversettings/entity_broadcast_range",
+ ServersettingsEntityBroadcastRangeSet => "minecraft:serversettings/entity_broadcast_range/set",
+ Gamerules => "minecraft:gamerules",
+ GamerulesUpdate => "minecraft:gamerules/update",
+ RpcDiscover => "minecraft:rpc.discover",
+}
+}
+
+registry! {
+enum OutgoingRpcMethods {
+ NotificationServerStarted => "minecraft:notification/server/started",
+ NotificationServerStopping => "minecraft:notification/server/stopping",
+ NotificationServerSaving => "minecraft:notification/server/saving",
+ NotificationServerSaved => "minecraft:notification/server/saved",
+ NotificationServerActivity => "minecraft:notification/server/activity",
+ NotificationPlayersJoined => "minecraft:notification/players/joined",
+ NotificationPlayersLeft => "minecraft:notification/players/left",
+ NotificationOperatorsAdded => "minecraft:notification/operators/added",
+ NotificationOperatorsRemoved => "minecraft:notification/operators/removed",
+ NotificationAllowlistAdded => "minecraft:notification/allowlist/added",
+ NotificationAllowlistRemoved => "minecraft:notification/allowlist/removed",
+ NotificationIpBansAdded => "minecraft:notification/ip_bans/added",
+ NotificationIpBansRemoved => "minecraft:notification/ip_bans/removed",
+ NotificationBansAdded => "minecraft:notification/bans/added",
+ NotificationBansRemoved => "minecraft:notification/bans/removed",
+ NotificationGamerulesUpdated => "minecraft:notification/gamerules/updated",
+ NotificationServerStatus => "minecraft:notification/server/status",
+}
+}
+
+registry! {
+enum AttributeKind {
+ Boolean => "minecraft:boolean",
+ TriState => "minecraft:tri_state",
+ Float => "minecraft:float",
+ AngleDegrees => "minecraft:angle_degrees",
+ RgbColor => "minecraft:rgb_color",
+ ArgbColor => "minecraft:argb_color",
+ MoonPhase => "minecraft:moon_phase",
+ Activity => "minecraft:activity",
+ BedRule => "minecraft:bed_rule",
+ Particle => "minecraft:particle",
+ AmbientParticles => "minecraft:ambient_particles",
+ BackgroundMusic => "minecraft:background_music",
+ AmbientSounds => "minecraft:ambient_sounds",
+}
+}
+
+registry! {
+enum EnvironmentAttribute {
+ VisualFogColor => "minecraft:visual/fog_color",
+ VisualFogStartDistance => "minecraft:visual/fog_start_distance",
+ VisualFogEndDistance => "minecraft:visual/fog_end_distance",
+ VisualSkyFogEndDistance => "minecraft:visual/sky_fog_end_distance",
+ VisualCloudFogEndDistance => "minecraft:visual/cloud_fog_end_distance",
+ VisualWaterFogColor => "minecraft:visual/water_fog_color",
+ VisualWaterFogStartDistance => "minecraft:visual/water_fog_start_distance",
+ VisualWaterFogEndDistance => "minecraft:visual/water_fog_end_distance",
+ VisualSkyColor => "minecraft:visual/sky_color",
+ VisualSunriseSunsetColor => "minecraft:visual/sunrise_sunset_color",
+ VisualCloudColor => "minecraft:visual/cloud_color",
+ VisualCloudHeight => "minecraft:visual/cloud_height",
+ VisualSunAngle => "minecraft:visual/sun_angle",
+ VisualMoonAngle => "minecraft:visual/moon_angle",
+ VisualStarAngle => "minecraft:visual/star_angle",
+ VisualMoonPhase => "minecraft:visual/moon_phase",
+ VisualStarBrightness => "minecraft:visual/star_brightness",
+ VisualSkyLightColor => "minecraft:visual/sky_light_color",
+ VisualSkyLightFactor => "minecraft:visual/sky_light_factor",
+ VisualDefaultDripstoneParticle => "minecraft:visual/default_dripstone_particle",
+ VisualAmbientParticles => "minecraft:visual/ambient_particles",
+ AudioBackgroundMusic => "minecraft:audio/background_music",
+ AudioMusicVolume => "minecraft:audio/music_volume",
+ AudioAmbientSounds => "minecraft:audio/ambient_sounds",
+ AudioFireflyBushSounds => "minecraft:audio/firefly_bush_sounds",
+ GameplaySkyLightLevel => "minecraft:gameplay/sky_light_level",
+ GameplayCanStartRaid => "minecraft:gameplay/can_start_raid",
+ GameplayWaterEvaporates => "minecraft:gameplay/water_evaporates",
+ GameplayBedRule => "minecraft:gameplay/bed_rule",
+ GameplayRespawnAnchorWorks => "minecraft:gameplay/respawn_anchor_works",
+ GameplayNetherPortalSpawnsPiglin => "minecraft:gameplay/nether_portal_spawns_piglin",
+ GameplayFastLava => "minecraft:gameplay/fast_lava",
+ GameplayIncreasedFireBurnout => "minecraft:gameplay/increased_fire_burnout",
+ GameplayEyeblossomOpen => "minecraft:gameplay/eyeblossom_open",
+ GameplayTurtleEggHatchChance => "minecraft:gameplay/turtle_egg_hatch_chance",
+ GameplayPiglinsZombify => "minecraft:gameplay/piglins_zombify",
+ GameplaySnowGolemMelts => "minecraft:gameplay/snow_golem_melts",
+ GameplayCreakingActive => "minecraft:gameplay/creaking_active",
+ GameplaySurfaceSlimeSpawnChance => "minecraft:gameplay/surface_slime_spawn_chance",
+ GameplayCatWakingUpGiftChance => "minecraft:gameplay/cat_waking_up_gift_chance",
+ GameplayBeesStayInHive => "minecraft:gameplay/bees_stay_in_hive",
+ GameplayMonstersBurn => "minecraft:gameplay/monsters_burn",
+ GameplayCanPillagerPatrolSpawn => "minecraft:gameplay/can_pillager_patrol_spawn",
+ GameplayVillagerActivity => "minecraft:gameplay/villager_activity",
+ GameplayBabyVillagerActivity => "minecraft:gameplay/baby_villager_activity",
+}
+}
+
+registry! {
+enum GameRule {
+ AdvanceTime => "minecraft:advance_time",
+ AdvanceWeather => "minecraft:advance_weather",
+ AllowEnteringNetherUsingPortals => "minecraft:allow_entering_nether_using_portals",
+ BlockDrops => "minecraft:block_drops",
+ BlockExplosionDropDecay => "minecraft:block_explosion_drop_decay",
+ CommandBlocksWork => "minecraft:command_blocks_work",
+ CommandBlockOutput => "minecraft:command_block_output",
+ DrowningDamage => "minecraft:drowning_damage",
+ ElytraMovementCheck => "minecraft:elytra_movement_check",
+ EnderPearlsVanishOnDeath => "minecraft:ender_pearls_vanish_on_death",
+ EntityDrops => "minecraft:entity_drops",
+ FallDamage => "minecraft:fall_damage",
+ FireDamage => "minecraft:fire_damage",
+ FireSpreadRadiusAroundPlayer => "minecraft:fire_spread_radius_around_player",
+ ForgiveDeadPlayers => "minecraft:forgive_dead_players",
+ FreezeDamage => "minecraft:freeze_damage",
+ GlobalSoundEvents => "minecraft:global_sound_events",
+ ImmediateRespawn => "minecraft:immediate_respawn",
+ KeepInventory => "minecraft:keep_inventory",
+ LavaSourceConversion => "minecraft:lava_source_conversion",
+ LimitedCrafting => "minecraft:limited_crafting",
+ LocatorBar => "minecraft:locator_bar",
+ LogAdminCommands => "minecraft:log_admin_commands",
+ MaxBlockModifications => "minecraft:max_block_modifications",
+ MaxCommandForks => "minecraft:max_command_forks",
+ MaxCommandSequenceLength => "minecraft:max_command_sequence_length",
+ MaxEntityCramming => "minecraft:max_entity_cramming",
+ MaxMinecartSpeed => "minecraft:max_minecart_speed",
+ MaxSnowAccumulationHeight => "minecraft:max_snow_accumulation_height",
+ MobDrops => "minecraft:mob_drops",
+ MobExplosionDropDecay => "minecraft:mob_explosion_drop_decay",
+ MobGriefing => "minecraft:mob_griefing",
+ NaturalHealthRegeneration => "minecraft:natural_health_regeneration",
+ PlayerMovementCheck => "minecraft:player_movement_check",
+ PlayersNetherPortalCreativeDelay => "minecraft:players_nether_portal_creative_delay",
+ PlayersNetherPortalDefaultDelay => "minecraft:players_nether_portal_default_delay",
+ PlayersSleepingPercentage => "minecraft:players_sleeping_percentage",
+ ProjectilesCanBreakBlocks => "minecraft:projectiles_can_break_blocks",
+ Pvp => "minecraft:pvp",
+ Raids => "minecraft:raids",
+ RandomTickSpeed => "minecraft:random_tick_speed",
+ ReducedDebugInfo => "minecraft:reduced_debug_info",
+ RespawnRadius => "minecraft:respawn_radius",
+ SendCommandFeedback => "minecraft:send_command_feedback",
+ ShowAdvancementMessages => "minecraft:show_advancement_messages",
+ ShowDeathMessages => "minecraft:show_death_messages",
+ SpawnerBlocksWork => "minecraft:spawner_blocks_work",
+ SpawnMobs => "minecraft:spawn_mobs",
+ SpawnMonsters => "minecraft:spawn_monsters",
+ SpawnPatrols => "minecraft:spawn_patrols",
+ SpawnPhantoms => "minecraft:spawn_phantoms",
+ SpawnWanderingTraders => "minecraft:spawn_wandering_traders",
+ SpawnWardens => "minecraft:spawn_wardens",
+ SpectatorsGenerateChunks => "minecraft:spectators_generate_chunks",
+ SpreadVines => "minecraft:spread_vines",
+ TntExplodes => "minecraft:tnt_explodes",
+ TntExplosionDropDecay => "minecraft:tnt_explosion_drop_decay",
+ UniversalAnger => "minecraft:universal_anger",
+ WaterSourceConversion => "minecraft:water_source_conversion",
+}
+}
+
+registry! {
+enum PermissionCheckKind {
+ AlwaysPass => "minecraft:always_pass",
+ Require => "minecraft:require",
+}
+}
+
+registry! {
+enum PermissionKind {
+ Atom => "minecraft:atom",
+ CommandLevel => "minecraft:command_level",
+}
+}
+
+registry! {
+enum SlotSourceKind {
+ Group => "minecraft:group",
+ Filtered => "minecraft:filtered",
+ LimitSlots => "minecraft:limit_slots",
+ SlotRange => "minecraft:slot_range",
+ Contents => "minecraft:contents",
+ Empty => "minecraft:empty",
+}
+}
+
+registry! {
+enum AbstractBlockKind {
+ Block => "minecraft:block",
+ Air => "minecraft:air",
+ Amethyst => "minecraft:amethyst",
+ AmethystCluster => "minecraft:amethyst_cluster",
+ Anvil => "minecraft:anvil",
+ AttachedStem => "minecraft:attached_stem",
+ Azalea => "minecraft:azalea",
+ BambooSapling => "minecraft:bamboo_sapling",
+ BambooStalk => "minecraft:bamboo_stalk",
+ Banner => "minecraft:banner",
+ Barrel => "minecraft:barrel",
+ Barrier => "minecraft:barrier",
+ BaseCoralFan => "minecraft:base_coral_fan",
+ BaseCoralPlant => "minecraft:base_coral_plant",
+ BaseCoralWallFan => "minecraft:base_coral_wall_fan",
+ Beacon => "minecraft:beacon",
+ Bed => "minecraft:bed",
+ Beehive => "minecraft:beehive",
+ Beetroot => "minecraft:beetroot",
+ Bell => "minecraft:bell",
+ BigDripleaf => "minecraft:big_dripleaf",
+ BigDripleafStem => "minecraft:big_dripleaf_stem",
+ BlastFurnace => "minecraft:blast_furnace",
+ BrewingStand => "minecraft:brewing_stand",
+ Brushable => "minecraft:brushable",
+ BubbleColumn => "minecraft:bubble_column",
+ BuddingAmethyst => "minecraft:budding_amethyst",
+ Bush => "minecraft:bush",
+ Button => "minecraft:button",
+ Cactus => "minecraft:cactus",
+ CactusFlower => "minecraft:cactus_flower",
+ Cake => "minecraft:cake",
+ CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
+ Campfire => "minecraft:campfire",
+ CandleCake => "minecraft:candle_cake",
+ Candle => "minecraft:candle",
+ Carpet => "minecraft:carpet",
+ Carrot => "minecraft:carrot",
+ CartographyTable => "minecraft:cartography_table",
+ Cauldron => "minecraft:cauldron",
+ CaveVines => "minecraft:cave_vines",
+ CaveVinesPlant => "minecraft:cave_vines_plant",
+ CeilingHangingSign => "minecraft:ceiling_hanging_sign",
+ Chain => "minecraft:chain",
+ Chest => "minecraft:chest",
+ ChiseledBookShelf => "minecraft:chiseled_book_shelf",
+ ChorusFlower => "minecraft:chorus_flower",
+ ChorusPlant => "minecraft:chorus_plant",
+ Cocoa => "minecraft:cocoa",
+ ColoredFalling => "minecraft:colored_falling",
+ Command => "minecraft:command",
+ Comparator => "minecraft:comparator",
+ Composter => "minecraft:composter",
+ ConcretePowder => "minecraft:concrete_powder",
+ Conduit => "minecraft:conduit",
+ CopperBulbBlock => "minecraft:copper_bulb_block",
+ CopperChest => "minecraft:copper_chest",
+ CopperGolemStatue => "minecraft:copper_golem_statue",
+ Coral => "minecraft:coral",
+ CoralFan => "minecraft:coral_fan",
+ CoralPlant => "minecraft:coral_plant",
+ CoralWallFan => "minecraft:coral_wall_fan",
+ Crafter => "minecraft:crafter",
+ CraftingTable => "minecraft:crafting_table",
+ Crop => "minecraft:crop",
+ CryingObsidian => "minecraft:crying_obsidian",
+ DaylightDetector => "minecraft:daylight_detector",
+ DryVegetation => "minecraft:dry_vegetation",
+ DecoratedPot => "minecraft:decorated_pot",
+ DetectorRail => "minecraft:detector_rail",
+ DirtPath => "minecraft:dirt_path",
+ Dispenser => "minecraft:dispenser",
+ Door => "minecraft:door",
+ DoublePlant => "minecraft:double_plant",
+ DragonEgg => "minecraft:dragon_egg",
+ DriedGhast => "minecraft:dried_ghast",
+ DropExperience => "minecraft:drop_experience",
+ Dropper => "minecraft:dropper",
+ EnchantmentTable => "minecraft:enchantment_table",
+ EnderChest => "minecraft:ender_chest",
+ EndGateway => "minecraft:end_gateway",
+ EndPortal => "minecraft:end_portal",
+ EndPortalFrame => "minecraft:end_portal_frame",
+ EndRod => "minecraft:end_rod",
+ Eyeblossom => "minecraft:eyeblossom",
+ Farm => "minecraft:farm",
+ BonemealableFeaturePlacer => "minecraft:bonemealable_feature_placer",
+ Fence => "minecraft:fence",
+ FenceGate => "minecraft:fence_gate",
+ Fire => "minecraft:fire",
+ FireflyBush => "minecraft:firefly_bush",
+ Flower => "minecraft:flower",
+ FlowerPot => "minecraft:flower_pot",
+ Frogspawn => "minecraft:frogspawn",
+ FrostedIce => "minecraft:frosted_ice",
+ Fungus => "minecraft:fungus",
+ Furnace => "minecraft:furnace",
+ GlazedTerracotta => "minecraft:glazed_terracotta",
+ GlowLichen => "minecraft:glow_lichen",
+ Grass => "minecraft:grass",
+ Grindstone => "minecraft:grindstone",
+ HalfTransparent => "minecraft:half_transparent",
+ HangingMoss => "minecraft:hanging_moss",
+ HangingRoots => "minecraft:hanging_roots",
+ Hay => "minecraft:hay",
+ HeavyCore => "minecraft:heavy_core",
+ Honey => "minecraft:honey",
+ Hopper => "minecraft:hopper",
+ HugeMushroom => "minecraft:huge_mushroom",
+ Ice => "minecraft:ice",
+ Infested => "minecraft:infested",
+ InfestedRotatedPillar => "minecraft:infested_rotated_pillar",
+ IronBars => "minecraft:iron_bars",
+ JackOLantern => "minecraft:jack_o_lantern",
+ Jigsaw => "minecraft:jigsaw",
+ Jukebox => "minecraft:jukebox",
+ Kelp => "minecraft:kelp",
+ KelpPlant => "minecraft:kelp_plant",
+ Ladder => "minecraft:ladder",
+ Lantern => "minecraft:lantern",
+ LavaCauldron => "minecraft:lava_cauldron",
+ LayeredCauldron => "minecraft:layered_cauldron",
+ LeafLitter => "minecraft:leaf_litter",
+ Lectern => "minecraft:lectern",
+ Lever => "minecraft:lever",
+ Light => "minecraft:light",
+ LightningRod => "minecraft:lightning_rod",
+ Liquid => "minecraft:liquid",
+ Loom => "minecraft:loom",
+ Magma => "minecraft:magma",
+ MangroveLeaves => "minecraft:mangrove_leaves",
+ MangrovePropagule => "minecraft:mangrove_propagule",
+ MangroveRoots => "minecraft:mangrove_roots",
+ MossyCarpet => "minecraft:mossy_carpet",
+ MovingPiston => "minecraft:moving_piston",
+ Mud => "minecraft:mud",
+ Multiface => "minecraft:multiface",
+ Mushroom => "minecraft:mushroom",
+ Mycelium => "minecraft:mycelium",
+ NetherPortal => "minecraft:nether_portal",
+ Netherrack => "minecraft:netherrack",
+ NetherSprouts => "minecraft:nether_sprouts",
+ NetherWart => "minecraft:nether_wart",
+ Note => "minecraft:note",
+ Nylium => "minecraft:nylium",
+ Observer => "minecraft:observer",
+ Piglinwallskull => "minecraft:piglinwallskull",
+ FlowerBed => "minecraft:flower_bed",
+ PistonBase => "minecraft:piston_base",
+ PistonHead => "minecraft:piston_head",
+ PitcherCrop => "minecraft:pitcher_crop",
+ PlayerHead => "minecraft:player_head",
+ PlayerWallHead => "minecraft:player_wall_head",
+ PointedDripstone => "minecraft:pointed_dripstone",
+ Potato => "minecraft:potato",
+ PowderSnow => "minecraft:powder_snow",
+ Powered => "minecraft:powered",
+ PoweredRail => "minecraft:powered_rail",
+ PressurePlate => "minecraft:pressure_plate",
+ Pumpkin => "minecraft:pumpkin",
+ Rail => "minecraft:rail",
+ RedstoneLamp => "minecraft:redstone_lamp",
+ RedstoneOre => "minecraft:redstone_ore",
+ RedstoneTorch => "minecraft:redstone_torch",
+ RedstoneWallTorch => "minecraft:redstone_wall_torch",
+ RedstoneWire => "minecraft:redstone_wire",
+ Repeater => "minecraft:repeater",
+ RespawnAnchor => "minecraft:respawn_anchor",
+ RootedDirt => "minecraft:rooted_dirt",
+ Roots => "minecraft:roots",
+ RotatedPillar => "minecraft:rotated_pillar",
+ Sapling => "minecraft:sapling",
+ Sand => "minecraft:sand",
+ Scaffolding => "minecraft:scaffolding",
+ SculkCatalyst => "minecraft:sculk_catalyst",
+ Sculk => "minecraft:sculk",
+ SculkSensor => "minecraft:sculk_sensor",
+ SculkShrieker => "minecraft:sculk_shrieker",
+ SculkVein => "minecraft:sculk_vein",
+ Seagrass => "minecraft:seagrass",
+ SeaPickle => "minecraft:sea_pickle",
+ Shelf => "minecraft:shelf",
+ ShortDryGrass => "minecraft:short_dry_grass",
+ ShulkerBox => "minecraft:shulker_box",
+ Skull => "minecraft:skull",
+ Slab => "minecraft:slab",
+ Slime => "minecraft:slime",
+ SmallDripleaf => "minecraft:small_dripleaf",
+ SmithingTable => "minecraft:smithing_table",
+ Smoker => "minecraft:smoker",
+ SnifferEgg => "minecraft:sniffer_egg",
+ SnowLayer => "minecraft:snow_layer",
+ SnowyDirt => "minecraft:snowy_dirt",
+ SoulFire => "minecraft:soul_fire",
+ SoulSand => "minecraft:soul_sand",
+ Spawner => "minecraft:spawner",
+ CreakingHeart => "minecraft:creaking_heart",
+ Sponge => "minecraft:sponge",
+ SporeBlossom => "minecraft:spore_blossom",
+ StainedGlassPane => "minecraft:stained_glass_pane",
+ StainedGlass => "minecraft:stained_glass",
+ Stair => "minecraft:stair",
+ StandingSign => "minecraft:standing_sign",
+ Stem => "minecraft:stem",
+ Stonecutter => "minecraft:stonecutter",
+ Structure => "minecraft:structure",
+ StructureVoid => "minecraft:structure_void",
+ SugarCane => "minecraft:sugar_cane",
+ SweetBerryBush => "minecraft:sweet_berry_bush",
+ TallDryGrass => "minecraft:tall_dry_grass",
+ TallFlower => "minecraft:tall_flower",
+ TallGrass => "minecraft:tall_grass",
+ TallSeagrass => "minecraft:tall_seagrass",
+ Target => "minecraft:target",
+ Test => "minecraft:test",
+ TestInstance => "minecraft:test_instance",
+ TintedGlass => "minecraft:tinted_glass",
+ TintedParticleLeaves => "minecraft:tinted_particle_leaves",
+ Tnt => "minecraft:tnt",
+ TorchflowerCrop => "minecraft:torchflower_crop",
+ Torch => "minecraft:torch",
+ Transparent => "minecraft:transparent",
+ Trapdoor => "minecraft:trapdoor",
+ TrappedChest => "minecraft:trapped_chest",
+ TrialSpawner => "minecraft:trial_spawner",
+ TripWireHook => "minecraft:trip_wire_hook",
+ Tripwire => "minecraft:tripwire",
+ TurtleEgg => "minecraft:turtle_egg",
+ TwistingVinesPlant => "minecraft:twisting_vines_plant",
+ TwistingVines => "minecraft:twisting_vines",
+ UntintedParticleLeaves => "minecraft:untinted_particle_leaves",
+ Vault => "minecraft:vault",
+ Vine => "minecraft:vine",
+ WallBanner => "minecraft:wall_banner",
+ WallHangingSign => "minecraft:wall_hanging_sign",
+ WallSign => "minecraft:wall_sign",
+ WallSkull => "minecraft:wall_skull",
+ WallTorch => "minecraft:wall_torch",
+ Wall => "minecraft:wall",
+ Waterlily => "minecraft:waterlily",
+ WaterloggedTransparent => "minecraft:waterlogged_transparent",
+ WeatheringCopperBar => "minecraft:weathering_copper_bar",
+ WeatheringCopperBulb => "minecraft:weathering_copper_bulb",
+ WeatheringCopperChain => "minecraft:weathering_copper_chain",
+ WeatheringCopperChest => "minecraft:weathering_copper_chest",
+ WeatheringCopperDoor => "minecraft:weathering_copper_door",
+ WeatheringCopperFull => "minecraft:weathering_copper_full",
+ WeatheringCopperGolemStatue => "minecraft:weathering_copper_golem_statue",
+ WeatheringCopperGrate => "minecraft:weathering_copper_grate",
+ WeatheringCopperSlab => "minecraft:weathering_copper_slab",
+ WeatheringCopperStair => "minecraft:weathering_copper_stair",
+ WeatheringCopperTrapDoor => "minecraft:weathering_copper_trap_door",
+ WeatheringLantern => "minecraft:weathering_lantern",
+ WeatheringLightningRod => "minecraft:weathering_lightning_rod",
+ Web => "minecraft:web",
+ WeepingVinesPlant => "minecraft:weeping_vines_plant",
+ WeepingVines => "minecraft:weeping_vines",
+ WeightedPressurePlate => "minecraft:weighted_pressure_plate",
+ WetSponge => "minecraft:wet_sponge",
+ WitherRose => "minecraft:wither_rose",
+ WitherSkull => "minecraft:wither_skull",
+ WitherWallSkull => "minecraft:wither_wall_skull",
+ WoolCarpet => "minecraft:wool_carpet",
+}
+}
+
+registry! {
+/// Every type of item in the game.
+///
+/// You might find it useful in some cases to check for categories of items
+/// with [`azalea_registry::tags::items`](crate::tags::items), like this
+///
+/// ```
+/// let item = azalea_registry::Item::OakLog;
+/// let is_log = azalea_registry::tags::items::LOGS.contains(&item);
+/// assert!(is_log);
+enum ItemKind {
+ Air => "minecraft:air",
+ Stone => "minecraft:stone",
+ Granite => "minecraft:granite",
+ PolishedGranite => "minecraft:polished_granite",
+ Diorite => "minecraft:diorite",
+ PolishedDiorite => "minecraft:polished_diorite",
+ Andesite => "minecraft:andesite",
+ PolishedAndesite => "minecraft:polished_andesite",
+ Deepslate => "minecraft:deepslate",
+ CobbledDeepslate => "minecraft:cobbled_deepslate",
+ PolishedDeepslate => "minecraft:polished_deepslate",
+ Calcite => "minecraft:calcite",
+ Tuff => "minecraft:tuff",
+ TuffSlab => "minecraft:tuff_slab",
+ TuffStairs => "minecraft:tuff_stairs",
+ TuffWall => "minecraft:tuff_wall",
+ ChiseledTuff => "minecraft:chiseled_tuff",
+ PolishedTuff => "minecraft:polished_tuff",
+ PolishedTuffSlab => "minecraft:polished_tuff_slab",
+ PolishedTuffStairs => "minecraft:polished_tuff_stairs",
+ PolishedTuffWall => "minecraft:polished_tuff_wall",
+ TuffBricks => "minecraft:tuff_bricks",
+ TuffBrickSlab => "minecraft:tuff_brick_slab",
+ TuffBrickStairs => "minecraft:tuff_brick_stairs",
+ TuffBrickWall => "minecraft:tuff_brick_wall",
+ ChiseledTuffBricks => "minecraft:chiseled_tuff_bricks",
+ DripstoneBlock => "minecraft:dripstone_block",
+ GrassBlock => "minecraft:grass_block",
+ Dirt => "minecraft:dirt",
+ CoarseDirt => "minecraft:coarse_dirt",
+ Podzol => "minecraft:podzol",
+ RootedDirt => "minecraft:rooted_dirt",
+ Mud => "minecraft:mud",
+ CrimsonNylium => "minecraft:crimson_nylium",
+ WarpedNylium => "minecraft:warped_nylium",
+ Cobblestone => "minecraft:cobblestone",
+ OakPlanks => "minecraft:oak_planks",
+ SprucePlanks => "minecraft:spruce_planks",
+ BirchPlanks => "minecraft:birch_planks",
+ JunglePlanks => "minecraft:jungle_planks",
+ AcaciaPlanks => "minecraft:acacia_planks",
+ CherryPlanks => "minecraft:cherry_planks",
+ DarkOakPlanks => "minecraft:dark_oak_planks",
+ PaleOakPlanks => "minecraft:pale_oak_planks",
+ MangrovePlanks => "minecraft:mangrove_planks",
+ BambooPlanks => "minecraft:bamboo_planks",
+ CrimsonPlanks => "minecraft:crimson_planks",
+ WarpedPlanks => "minecraft:warped_planks",
+ BambooMosaic => "minecraft:bamboo_mosaic",
+ OakSapling => "minecraft:oak_sapling",
+ SpruceSapling => "minecraft:spruce_sapling",
+ BirchSapling => "minecraft:birch_sapling",
+ JungleSapling => "minecraft:jungle_sapling",
+ AcaciaSapling => "minecraft:acacia_sapling",
+ CherrySapling => "minecraft:cherry_sapling",
+ DarkOakSapling => "minecraft:dark_oak_sapling",
+ PaleOakSapling => "minecraft:pale_oak_sapling",
+ MangrovePropagule => "minecraft:mangrove_propagule",
+ Bedrock => "minecraft:bedrock",
+ Sand => "minecraft:sand",
+ SuspiciousSand => "minecraft:suspicious_sand",
+ SuspiciousGravel => "minecraft:suspicious_gravel",
+ RedSand => "minecraft:red_sand",
+ Gravel => "minecraft:gravel",
+ CoalOre => "minecraft:coal_ore",
+ DeepslateCoalOre => "minecraft:deepslate_coal_ore",
+ IronOre => "minecraft:iron_ore",
+ DeepslateIronOre => "minecraft:deepslate_iron_ore",
+ CopperOre => "minecraft:copper_ore",
+ DeepslateCopperOre => "minecraft:deepslate_copper_ore",
+ GoldOre => "minecraft:gold_ore",
+ DeepslateGoldOre => "minecraft:deepslate_gold_ore",
+ RedstoneOre => "minecraft:redstone_ore",
+ DeepslateRedstoneOre => "minecraft:deepslate_redstone_ore",
+ EmeraldOre => "minecraft:emerald_ore",
+ DeepslateEmeraldOre => "minecraft:deepslate_emerald_ore",
+ LapisOre => "minecraft:lapis_ore",
+ DeepslateLapisOre => "minecraft:deepslate_lapis_ore",
+ DiamondOre => "minecraft:diamond_ore",
+ DeepslateDiamondOre => "minecraft:deepslate_diamond_ore",
+ NetherGoldOre => "minecraft:nether_gold_ore",
+ NetherQuartzOre => "minecraft:nether_quartz_ore",
+ AncientDebris => "minecraft:ancient_debris",
+ CoalBlock => "minecraft:coal_block",
+ RawIronBlock => "minecraft:raw_iron_block",
+ RawCopperBlock => "minecraft:raw_copper_block",
+ RawGoldBlock => "minecraft:raw_gold_block",
+ HeavyCore => "minecraft:heavy_core",
+ AmethystBlock => "minecraft:amethyst_block",
+ BuddingAmethyst => "minecraft:budding_amethyst",
+ IronBlock => "minecraft:iron_block",
+ CopperBlock => "minecraft:copper_block",
+ GoldBlock => "minecraft:gold_block",
+ DiamondBlock => "minecraft:diamond_block",
+ NetheriteBlock => "minecraft:netherite_block",
+ ExposedCopper => "minecraft:exposed_copper",
+ WeatheredCopper => "minecraft:weathered_copper",
+ OxidizedCopper => "minecraft:oxidized_copper",
+ ChiseledCopper => "minecraft:chiseled_copper",
+ ExposedChiseledCopper => "minecraft:exposed_chiseled_copper",
+ WeatheredChiseledCopper => "minecraft:weathered_chiseled_copper",
+ OxidizedChiseledCopper => "minecraft:oxidized_chiseled_copper",
+ CutCopper => "minecraft:cut_copper",
+ ExposedCutCopper => "minecraft:exposed_cut_copper",
+ WeatheredCutCopper => "minecraft:weathered_cut_copper",
+ OxidizedCutCopper => "minecraft:oxidized_cut_copper",
+ CutCopperStairs => "minecraft:cut_copper_stairs",
+ ExposedCutCopperStairs => "minecraft:exposed_cut_copper_stairs",
+ WeatheredCutCopperStairs => "minecraft:weathered_cut_copper_stairs",
+ OxidizedCutCopperStairs => "minecraft:oxidized_cut_copper_stairs",
+ CutCopperSlab => "minecraft:cut_copper_slab",
+ ExposedCutCopperSlab => "minecraft:exposed_cut_copper_slab",
+ WeatheredCutCopperSlab => "minecraft:weathered_cut_copper_slab",
+ OxidizedCutCopperSlab => "minecraft:oxidized_cut_copper_slab",
+ WaxedCopperBlock => "minecraft:waxed_copper_block",
+ WaxedExposedCopper => "minecraft:waxed_exposed_copper",
+ WaxedWeatheredCopper => "minecraft:waxed_weathered_copper",
+ WaxedOxidizedCopper => "minecraft:waxed_oxidized_copper",
+ WaxedChiseledCopper => "minecraft:waxed_chiseled_copper",
+ WaxedExposedChiseledCopper => "minecraft:waxed_exposed_chiseled_copper",
+ WaxedWeatheredChiseledCopper => "minecraft:waxed_weathered_chiseled_copper",
+ WaxedOxidizedChiseledCopper => "minecraft:waxed_oxidized_chiseled_copper",
+ WaxedCutCopper => "minecraft:waxed_cut_copper",
+ WaxedExposedCutCopper => "minecraft:waxed_exposed_cut_copper",
+ WaxedWeatheredCutCopper => "minecraft:waxed_weathered_cut_copper",
+ WaxedOxidizedCutCopper => "minecraft:waxed_oxidized_cut_copper",
+ WaxedCutCopperStairs => "minecraft:waxed_cut_copper_stairs",
+ WaxedExposedCutCopperStairs => "minecraft:waxed_exposed_cut_copper_stairs",
+ WaxedWeatheredCutCopperStairs => "minecraft:waxed_weathered_cut_copper_stairs",
+ WaxedOxidizedCutCopperStairs => "minecraft:waxed_oxidized_cut_copper_stairs",
+ WaxedCutCopperSlab => "minecraft:waxed_cut_copper_slab",
+ WaxedExposedCutCopperSlab => "minecraft:waxed_exposed_cut_copper_slab",
+ WaxedWeatheredCutCopperSlab => "minecraft:waxed_weathered_cut_copper_slab",
+ WaxedOxidizedCutCopperSlab => "minecraft:waxed_oxidized_cut_copper_slab",
+ OakLog => "minecraft:oak_log",
+ SpruceLog => "minecraft:spruce_log",
+ BirchLog => "minecraft:birch_log",
+ JungleLog => "minecraft:jungle_log",
+ AcaciaLog => "minecraft:acacia_log",
+ CherryLog => "minecraft:cherry_log",
+ PaleOakLog => "minecraft:pale_oak_log",
+ DarkOakLog => "minecraft:dark_oak_log",
+ MangroveLog => "minecraft:mangrove_log",
+ MangroveRoots => "minecraft:mangrove_roots",
+ MuddyMangroveRoots => "minecraft:muddy_mangrove_roots",
+ CrimsonStem => "minecraft:crimson_stem",
+ WarpedStem => "minecraft:warped_stem",
+ BambooBlock => "minecraft:bamboo_block",
+ StrippedOakLog => "minecraft:stripped_oak_log",
+ StrippedSpruceLog => "minecraft:stripped_spruce_log",
+ StrippedBirchLog => "minecraft:stripped_birch_log",
+ StrippedJungleLog => "minecraft:stripped_jungle_log",
+ StrippedAcaciaLog => "minecraft:stripped_acacia_log",
+ StrippedCherryLog => "minecraft:stripped_cherry_log",
+ StrippedDarkOakLog => "minecraft:stripped_dark_oak_log",
+ StrippedPaleOakLog => "minecraft:stripped_pale_oak_log",
+ StrippedMangroveLog => "minecraft:stripped_mangrove_log",
+ StrippedCrimsonStem => "minecraft:stripped_crimson_stem",
+ StrippedWarpedStem => "minecraft:stripped_warped_stem",
+ StrippedOakWood => "minecraft:stripped_oak_wood",
+ StrippedSpruceWood => "minecraft:stripped_spruce_wood",
+ StrippedBirchWood => "minecraft:stripped_birch_wood",
+ StrippedJungleWood => "minecraft:stripped_jungle_wood",
+ StrippedAcaciaWood => "minecraft:stripped_acacia_wood",
+ StrippedCherryWood => "minecraft:stripped_cherry_wood",
+ StrippedDarkOakWood => "minecraft:stripped_dark_oak_wood",
+ StrippedPaleOakWood => "minecraft:stripped_pale_oak_wood",
+ StrippedMangroveWood => "minecraft:stripped_mangrove_wood",
+ StrippedCrimsonHyphae => "minecraft:stripped_crimson_hyphae",
+ StrippedWarpedHyphae => "minecraft:stripped_warped_hyphae",
+ StrippedBambooBlock => "minecraft:stripped_bamboo_block",
+ OakWood => "minecraft:oak_wood",
+ SpruceWood => "minecraft:spruce_wood",
+ BirchWood => "minecraft:birch_wood",
+ JungleWood => "minecraft:jungle_wood",
+ AcaciaWood => "minecraft:acacia_wood",
+ CherryWood => "minecraft:cherry_wood",
+ PaleOakWood => "minecraft:pale_oak_wood",
+ DarkOakWood => "minecraft:dark_oak_wood",
+ MangroveWood => "minecraft:mangrove_wood",
+ CrimsonHyphae => "minecraft:crimson_hyphae",
+ WarpedHyphae => "minecraft:warped_hyphae",
+ OakLeaves => "minecraft:oak_leaves",
+ SpruceLeaves => "minecraft:spruce_leaves",
+ BirchLeaves => "minecraft:birch_leaves",
+ JungleLeaves => "minecraft:jungle_leaves",
+ AcaciaLeaves => "minecraft:acacia_leaves",
+ CherryLeaves => "minecraft:cherry_leaves",
+ DarkOakLeaves => "minecraft:dark_oak_leaves",
+ PaleOakLeaves => "minecraft:pale_oak_leaves",
+ MangroveLeaves => "minecraft:mangrove_leaves",
+ AzaleaLeaves => "minecraft:azalea_leaves",
+ FloweringAzaleaLeaves => "minecraft:flowering_azalea_leaves",
+ Sponge => "minecraft:sponge",
+ WetSponge => "minecraft:wet_sponge",
+ Glass => "minecraft:glass",
+ TintedGlass => "minecraft:tinted_glass",
+ LapisBlock => "minecraft:lapis_block",
+ Sandstone => "minecraft:sandstone",
+ ChiseledSandstone => "minecraft:chiseled_sandstone",
+ CutSandstone => "minecraft:cut_sandstone",
+ Cobweb => "minecraft:cobweb",
+ ShortGrass => "minecraft:short_grass",
+ Fern => "minecraft:fern",
+ Bush => "minecraft:bush",
+ Azalea => "minecraft:azalea",
+ FloweringAzalea => "minecraft:flowering_azalea",
+ DeadBush => "minecraft:dead_bush",
+ FireflyBush => "minecraft:firefly_bush",
+ ShortDryGrass => "minecraft:short_dry_grass",
+ TallDryGrass => "minecraft:tall_dry_grass",
+ Seagrass => "minecraft:seagrass",
+ SeaPickle => "minecraft:sea_pickle",
+ WhiteWool => "minecraft:white_wool",
+ OrangeWool => "minecraft:orange_wool",
+ MagentaWool => "minecraft:magenta_wool",
+ LightBlueWool => "minecraft:light_blue_wool",
+ YellowWool => "minecraft:yellow_wool",
+ LimeWool => "minecraft:lime_wool",
+ PinkWool => "minecraft:pink_wool",
+ GrayWool => "minecraft:gray_wool",
+ LightGrayWool => "minecraft:light_gray_wool",
+ CyanWool => "minecraft:cyan_wool",
+ PurpleWool => "minecraft:purple_wool",
+ BlueWool => "minecraft:blue_wool",
+ BrownWool => "minecraft:brown_wool",
+ GreenWool => "minecraft:green_wool",
+ RedWool => "minecraft:red_wool",
+ BlackWool => "minecraft:black_wool",
+ Dandelion => "minecraft:dandelion",
+ OpenEyeblossom => "minecraft:open_eyeblossom",
+ ClosedEyeblossom => "minecraft:closed_eyeblossom",
+ Poppy => "minecraft:poppy",
+ BlueOrchid => "minecraft:blue_orchid",
+ Allium => "minecraft:allium",
+ AzureBluet => "minecraft:azure_bluet",
+ RedTulip => "minecraft:red_tulip",
+ OrangeTulip => "minecraft:orange_tulip",
+ WhiteTulip => "minecraft:white_tulip",
+ PinkTulip => "minecraft:pink_tulip",
+ OxeyeDaisy => "minecraft:oxeye_daisy",
+ Cornflower => "minecraft:cornflower",
+ LilyOfTheValley => "minecraft:lily_of_the_valley",
+ WitherRose => "minecraft:wither_rose",
+ Torchflower => "minecraft:torchflower",
+ PitcherPlant => "minecraft:pitcher_plant",
+ SporeBlossom => "minecraft:spore_blossom",
+ BrownMushroom => "minecraft:brown_mushroom",
+ RedMushroom => "minecraft:red_mushroom",
+ CrimsonFungus => "minecraft:crimson_fungus",
+ WarpedFungus => "minecraft:warped_fungus",
+ CrimsonRoots => "minecraft:crimson_roots",
+ WarpedRoots => "minecraft:warped_roots",
+ NetherSprouts => "minecraft:nether_sprouts",
+ WeepingVines => "minecraft:weeping_vines",
+ TwistingVines => "minecraft:twisting_vines",
+ SugarCane => "minecraft:sugar_cane",
+ Kelp => "minecraft:kelp",
+ PinkPetals => "minecraft:pink_petals",
+ Wildflowers => "minecraft:wildflowers",
+ LeafLitter => "minecraft:leaf_litter",
+ MossCarpet => "minecraft:moss_carpet",
+ MossBlock => "minecraft:moss_block",
+ PaleMossCarpet => "minecraft:pale_moss_carpet",
+ PaleHangingMoss => "minecraft:pale_hanging_moss",
+ PaleMossBlock => "minecraft:pale_moss_block",
+ HangingRoots => "minecraft:hanging_roots",
+ BigDripleaf => "minecraft:big_dripleaf",
+ SmallDripleaf => "minecraft:small_dripleaf",
+ Bamboo => "minecraft:bamboo",
+ OakSlab => "minecraft:oak_slab",
+ SpruceSlab => "minecraft:spruce_slab",
+ BirchSlab => "minecraft:birch_slab",
+ JungleSlab => "minecraft:jungle_slab",
+ AcaciaSlab => "minecraft:acacia_slab",
+ CherrySlab => "minecraft:cherry_slab",
+ DarkOakSlab => "minecraft:dark_oak_slab",
+ PaleOakSlab => "minecraft:pale_oak_slab",
+ MangroveSlab => "minecraft:mangrove_slab",
+ BambooSlab => "minecraft:bamboo_slab",
+ BambooMosaicSlab => "minecraft:bamboo_mosaic_slab",
+ CrimsonSlab => "minecraft:crimson_slab",
+ WarpedSlab => "minecraft:warped_slab",
+ StoneSlab => "minecraft:stone_slab",
+ SmoothStoneSlab => "minecraft:smooth_stone_slab",
+ SandstoneSlab => "minecraft:sandstone_slab",
+ CutSandstoneSlab => "minecraft:cut_sandstone_slab",
+ PetrifiedOakSlab => "minecraft:petrified_oak_slab",
+ CobblestoneSlab => "minecraft:cobblestone_slab",
+ BrickSlab => "minecraft:brick_slab",
+ StoneBrickSlab => "minecraft:stone_brick_slab",
+ MudBrickSlab => "minecraft:mud_brick_slab",
+ NetherBrickSlab => "minecraft:nether_brick_slab",
+ QuartzSlab => "minecraft:quartz_slab",
+ RedSandstoneSlab => "minecraft:red_sandstone_slab",
+ CutRedSandstoneSlab => "minecraft:cut_red_sandstone_slab",
+ PurpurSlab => "minecraft:purpur_slab",
+ PrismarineSlab => "minecraft:prismarine_slab",
+ PrismarineBrickSlab => "minecraft:prismarine_brick_slab",
+ DarkPrismarineSlab => "minecraft:dark_prismarine_slab",
+ SmoothQuartz => "minecraft:smooth_quartz",
+ SmoothRedSandstone => "minecraft:smooth_red_sandstone",
+ SmoothSandstone => "minecraft:smooth_sandstone",
+ SmoothStone => "minecraft:smooth_stone",
+ Bricks => "minecraft:bricks",
+ AcaciaShelf => "minecraft:acacia_shelf",
+ BambooShelf => "minecraft:bamboo_shelf",
+ BirchShelf => "minecraft:birch_shelf",
+ CherryShelf => "minecraft:cherry_shelf",
+ CrimsonShelf => "minecraft:crimson_shelf",
+ DarkOakShelf => "minecraft:dark_oak_shelf",
+ JungleShelf => "minecraft:jungle_shelf",
+ MangroveShelf => "minecraft:mangrove_shelf",
+ OakShelf => "minecraft:oak_shelf",
+ PaleOakShelf => "minecraft:pale_oak_shelf",
+ SpruceShelf => "minecraft:spruce_shelf",
+ WarpedShelf => "minecraft:warped_shelf",
+ Bookshelf => "minecraft:bookshelf",
+ ChiseledBookshelf => "minecraft:chiseled_bookshelf",
+ DecoratedPot => "minecraft:decorated_pot",
+ MossyCobblestone => "minecraft:mossy_cobblestone",
+ Obsidian => "minecraft:obsidian",
+ Torch => "minecraft:torch",
+ EndRod => "minecraft:end_rod",
+ ChorusPlant => "minecraft:chorus_plant",
+ ChorusFlower => "minecraft:chorus_flower",
+ PurpurBlock => "minecraft:purpur_block",
+ PurpurPillar => "minecraft:purpur_pillar",
+ PurpurStairs => "minecraft:purpur_stairs",
+ Spawner => "minecraft:spawner",
+ CreakingHeart => "minecraft:creaking_heart",
+ Chest => "minecraft:chest",
+ CraftingTable => "minecraft:crafting_table",
+ Farmland => "minecraft:farmland",
+ Furnace => "minecraft:furnace",
+ Ladder => "minecraft:ladder",
+ CobblestoneStairs => "minecraft:cobblestone_stairs",
+ Snow => "minecraft:snow",
+ Ice => "minecraft:ice",
+ SnowBlock => "minecraft:snow_block",
+ Cactus => "minecraft:cactus",
+ CactusFlower => "minecraft:cactus_flower",
+ Clay => "minecraft:clay",
+ Jukebox => "minecraft:jukebox",
+ OakFence => "minecraft:oak_fence",
+ SpruceFence => "minecraft:spruce_fence",
+ BirchFence => "minecraft:birch_fence",
+ JungleFence => "minecraft:jungle_fence",
+ AcaciaFence => "minecraft:acacia_fence",
+ CherryFence => "minecraft:cherry_fence",
+ DarkOakFence => "minecraft:dark_oak_fence",
+ PaleOakFence => "minecraft:pale_oak_fence",
+ MangroveFence => "minecraft:mangrove_fence",
+ BambooFence => "minecraft:bamboo_fence",
+ CrimsonFence => "minecraft:crimson_fence",
+ WarpedFence => "minecraft:warped_fence",
+ Pumpkin => "minecraft:pumpkin",
+ CarvedPumpkin => "minecraft:carved_pumpkin",
+ JackOLantern => "minecraft:jack_o_lantern",
+ Netherrack => "minecraft:netherrack",
+ SoulSand => "minecraft:soul_sand",
+ SoulSoil => "minecraft:soul_soil",
+ Basalt => "minecraft:basalt",
+ PolishedBasalt => "minecraft:polished_basalt",
+ SmoothBasalt => "minecraft:smooth_basalt",
+ SoulTorch => "minecraft:soul_torch",
+ CopperTorch => "minecraft:copper_torch",
+ Glowstone => "minecraft:glowstone",
+ InfestedStone => "minecraft:infested_stone",
+ InfestedCobblestone => "minecraft:infested_cobblestone",
+ InfestedStoneBricks => "minecraft:infested_stone_bricks",
+ InfestedMossyStoneBricks => "minecraft:infested_mossy_stone_bricks",
+ InfestedCrackedStoneBricks => "minecraft:infested_cracked_stone_bricks",
+ InfestedChiseledStoneBricks => "minecraft:infested_chiseled_stone_bricks",
+ InfestedDeepslate => "minecraft:infested_deepslate",
+ StoneBricks => "minecraft:stone_bricks",
+ MossyStoneBricks => "minecraft:mossy_stone_bricks",
+ CrackedStoneBricks => "minecraft:cracked_stone_bricks",
+ ChiseledStoneBricks => "minecraft:chiseled_stone_bricks",
+ PackedMud => "minecraft:packed_mud",
+ MudBricks => "minecraft:mud_bricks",
+ DeepslateBricks => "minecraft:deepslate_bricks",
+ CrackedDeepslateBricks => "minecraft:cracked_deepslate_bricks",
+ DeepslateTiles => "minecraft:deepslate_tiles",
+ CrackedDeepslateTiles => "minecraft:cracked_deepslate_tiles",
+ ChiseledDeepslate => "minecraft:chiseled_deepslate",
+ ReinforcedDeepslate => "minecraft:reinforced_deepslate",
+ BrownMushroomBlock => "minecraft:brown_mushroom_block",
+ RedMushroomBlock => "minecraft:red_mushroom_block",
+ MushroomStem => "minecraft:mushroom_stem",
+ IronBars => "minecraft:iron_bars",
+ CopperBars => "minecraft:copper_bars",
+ ExposedCopperBars => "minecraft:exposed_copper_bars",
+ WeatheredCopperBars => "minecraft:weathered_copper_bars",
+ OxidizedCopperBars => "minecraft:oxidized_copper_bars",
+ WaxedCopperBars => "minecraft:waxed_copper_bars",
+ WaxedExposedCopperBars => "minecraft:waxed_exposed_copper_bars",
+ WaxedWeatheredCopperBars => "minecraft:waxed_weathered_copper_bars",
+ WaxedOxidizedCopperBars => "minecraft:waxed_oxidized_copper_bars",
+ IronChain => "minecraft:iron_chain",
+ CopperChain => "minecraft:copper_chain",
+ ExposedCopperChain => "minecraft:exposed_copper_chain",
+ WeatheredCopperChain => "minecraft:weathered_copper_chain",
+ OxidizedCopperChain => "minecraft:oxidized_copper_chain",
+ WaxedCopperChain => "minecraft:waxed_copper_chain",
+ WaxedExposedCopperChain => "minecraft:waxed_exposed_copper_chain",
+ WaxedWeatheredCopperChain => "minecraft:waxed_weathered_copper_chain",
+ WaxedOxidizedCopperChain => "minecraft:waxed_oxidized_copper_chain",
+ GlassPane => "minecraft:glass_pane",
+ Melon => "minecraft:melon",
+ Vine => "minecraft:vine",
+ GlowLichen => "minecraft:glow_lichen",
+ ResinClump => "minecraft:resin_clump",
+ ResinBlock => "minecraft:resin_block",
+ ResinBricks => "minecraft:resin_bricks",
+ ResinBrickStairs => "minecraft:resin_brick_stairs",
+ ResinBrickSlab => "minecraft:resin_brick_slab",
+ ResinBrickWall => "minecraft:resin_brick_wall",
+ ChiseledResinBricks => "minecraft:chiseled_resin_bricks",
+ BrickStairs => "minecraft:brick_stairs",
+ StoneBrickStairs => "minecraft:stone_brick_stairs",
+ MudBrickStairs => "minecraft:mud_brick_stairs",
+ Mycelium => "minecraft:mycelium",
+ LilyPad => "minecraft:lily_pad",
+ NetherBricks => "minecraft:nether_bricks",
+ CrackedNetherBricks => "minecraft:cracked_nether_bricks",
+ ChiseledNetherBricks => "minecraft:chiseled_nether_bricks",
+ NetherBrickFence => "minecraft:nether_brick_fence",
+ NetherBrickStairs => "minecraft:nether_brick_stairs",
+ Sculk => "minecraft:sculk",
+ SculkVein => "minecraft:sculk_vein",
+ SculkCatalyst => "minecraft:sculk_catalyst",
+ SculkShrieker => "minecraft:sculk_shrieker",
+ EnchantingTable => "minecraft:enchanting_table",
+ EndPortalFrame => "minecraft:end_portal_frame",
+ EndStone => "minecraft:end_stone",
+ EndStoneBricks => "minecraft:end_stone_bricks",
+ DragonEgg => "minecraft:dragon_egg",
+ SandstoneStairs => "minecraft:sandstone_stairs",
+ EnderChest => "minecraft:ender_chest",
+ EmeraldBlock => "minecraft:emerald_block",
+ OakStairs => "minecraft:oak_stairs",
+ SpruceStairs => "minecraft:spruce_stairs",
+ BirchStairs => "minecraft:birch_stairs",
+ JungleStairs => "minecraft:jungle_stairs",
+ AcaciaStairs => "minecraft:acacia_stairs",
+ CherryStairs => "minecraft:cherry_stairs",
+ DarkOakStairs => "minecraft:dark_oak_stairs",
+ PaleOakStairs => "minecraft:pale_oak_stairs",
+ MangroveStairs => "minecraft:mangrove_stairs",
+ BambooStairs => "minecraft:bamboo_stairs",
+ BambooMosaicStairs => "minecraft:bamboo_mosaic_stairs",
+ CrimsonStairs => "minecraft:crimson_stairs",
+ WarpedStairs => "minecraft:warped_stairs",
+ CommandBlock => "minecraft:command_block",
+ Beacon => "minecraft:beacon",
+ CobblestoneWall => "minecraft:cobblestone_wall",
+ MossyCobblestoneWall => "minecraft:mossy_cobblestone_wall",
+ BrickWall => "minecraft:brick_wall",
+ PrismarineWall => "minecraft:prismarine_wall",
+ RedSandstoneWall => "minecraft:red_sandstone_wall",
+ MossyStoneBrickWall => "minecraft:mossy_stone_brick_wall",
+ GraniteWall => "minecraft:granite_wall",
+ StoneBrickWall => "minecraft:stone_brick_wall",
+ MudBrickWall => "minecraft:mud_brick_wall",
+ NetherBrickWall => "minecraft:nether_brick_wall",
+ AndesiteWall => "minecraft:andesite_wall",
+ RedNetherBrickWall => "minecraft:red_nether_brick_wall",
+ SandstoneWall => "minecraft:sandstone_wall",
+ EndStoneBrickWall => "minecraft:end_stone_brick_wall",
+ DioriteWall => "minecraft:diorite_wall",
+ BlackstoneWall => "minecraft:blackstone_wall",
+ PolishedBlackstoneWall => "minecraft:polished_blackstone_wall",
+ PolishedBlackstoneBrickWall => "minecraft:polished_blackstone_brick_wall",
+ CobbledDeepslateWall => "minecraft:cobbled_deepslate_wall",
+ PolishedDeepslateWall => "minecraft:polished_deepslate_wall",
+ DeepslateBrickWall => "minecraft:deepslate_brick_wall",
+ DeepslateTileWall => "minecraft:deepslate_tile_wall",
+ Anvil => "minecraft:anvil",
+ ChippedAnvil => "minecraft:chipped_anvil",
+ DamagedAnvil => "minecraft:damaged_anvil",
+ ChiseledQuartzBlock => "minecraft:chiseled_quartz_block",
+ QuartzBlock => "minecraft:quartz_block",
+ QuartzBricks => "minecraft:quartz_bricks",
+ QuartzPillar => "minecraft:quartz_pillar",
+ QuartzStairs => "minecraft:quartz_stairs",
+ WhiteTerracotta => "minecraft:white_terracotta",
+ OrangeTerracotta => "minecraft:orange_terracotta",
+ MagentaTerracotta => "minecraft:magenta_terracotta",
+ LightBlueTerracotta => "minecraft:light_blue_terracotta",
+ YellowTerracotta => "minecraft:yellow_terracotta",
+ LimeTerracotta => "minecraft:lime_terracotta",
+ PinkTerracotta => "minecraft:pink_terracotta",
+ GrayTerracotta => "minecraft:gray_terracotta",
+ LightGrayTerracotta => "minecraft:light_gray_terracotta",
+ CyanTerracotta => "minecraft:cyan_terracotta",
+ PurpleTerracotta => "minecraft:purple_terracotta",
+ BlueTerracotta => "minecraft:blue_terracotta",
+ BrownTerracotta => "minecraft:brown_terracotta",
+ GreenTerracotta => "minecraft:green_terracotta",
+ RedTerracotta => "minecraft:red_terracotta",
+ BlackTerracotta => "minecraft:black_terracotta",
+ Barrier => "minecraft:barrier",
+ Light => "minecraft:light",
+ HayBlock => "minecraft:hay_block",
+ WhiteCarpet => "minecraft:white_carpet",
+ OrangeCarpet => "minecraft:orange_carpet",
+ MagentaCarpet => "minecraft:magenta_carpet",
+ LightBlueCarpet => "minecraft:light_blue_carpet",
+ YellowCarpet => "minecraft:yellow_carpet",
+ LimeCarpet => "minecraft:lime_carpet",
+ PinkCarpet => "minecraft:pink_carpet",
+ GrayCarpet => "minecraft:gray_carpet",
+ LightGrayCarpet => "minecraft:light_gray_carpet",
+ CyanCarpet => "minecraft:cyan_carpet",
+ PurpleCarpet => "minecraft:purple_carpet",
+ BlueCarpet => "minecraft:blue_carpet",
+ BrownCarpet => "minecraft:brown_carpet",
+ GreenCarpet => "minecraft:green_carpet",
+ RedCarpet => "minecraft:red_carpet",
+ BlackCarpet => "minecraft:black_carpet",
+ Terracotta => "minecraft:terracotta",
+ PackedIce => "minecraft:packed_ice",
+ DirtPath => "minecraft:dirt_path",
+ Sunflower => "minecraft:sunflower",
+ Lilac => "minecraft:lilac",
+ RoseBush => "minecraft:rose_bush",
+ Peony => "minecraft:peony",
+ TallGrass => "minecraft:tall_grass",
+ LargeFern => "minecraft:large_fern",
+ WhiteStainedGlass => "minecraft:white_stained_glass",
+ OrangeStainedGlass => "minecraft:orange_stained_glass",
+ MagentaStainedGlass => "minecraft:magenta_stained_glass",
+ LightBlueStainedGlass => "minecraft:light_blue_stained_glass",
+ YellowStainedGlass => "minecraft:yellow_stained_glass",
+ LimeStainedGlass => "minecraft:lime_stained_glass",
+ PinkStainedGlass => "minecraft:pink_stained_glass",
+ GrayStainedGlass => "minecraft:gray_stained_glass",
+ LightGrayStainedGlass => "minecraft:light_gray_stained_glass",
+ CyanStainedGlass => "minecraft:cyan_stained_glass",
+ PurpleStainedGlass => "minecraft:purple_stained_glass",
+ BlueStainedGlass => "minecraft:blue_stained_glass",
+ BrownStainedGlass => "minecraft:brown_stained_glass",
+ GreenStainedGlass => "minecraft:green_stained_glass",
+ RedStainedGlass => "minecraft:red_stained_glass",
+ BlackStainedGlass => "minecraft:black_stained_glass",
+ WhiteStainedGlassPane => "minecraft:white_stained_glass_pane",
+ OrangeStainedGlassPane => "minecraft:orange_stained_glass_pane",
+ MagentaStainedGlassPane => "minecraft:magenta_stained_glass_pane",
+ LightBlueStainedGlassPane => "minecraft:light_blue_stained_glass_pane",
+ YellowStainedGlassPane => "minecraft:yellow_stained_glass_pane",
+ LimeStainedGlassPane => "minecraft:lime_stained_glass_pane",
+ PinkStainedGlassPane => "minecraft:pink_stained_glass_pane",
+ GrayStainedGlassPane => "minecraft:gray_stained_glass_pane",
+ LightGrayStainedGlassPane => "minecraft:light_gray_stained_glass_pane",
+ CyanStainedGlassPane => "minecraft:cyan_stained_glass_pane",
+ PurpleStainedGlassPane => "minecraft:purple_stained_glass_pane",
+ BlueStainedGlassPane => "minecraft:blue_stained_glass_pane",
+ BrownStainedGlassPane => "minecraft:brown_stained_glass_pane",
+ GreenStainedGlassPane => "minecraft:green_stained_glass_pane",
+ RedStainedGlassPane => "minecraft:red_stained_glass_pane",
+ BlackStainedGlassPane => "minecraft:black_stained_glass_pane",
+ Prismarine => "minecraft:prismarine",
+ PrismarineBricks => "minecraft:prismarine_bricks",
+ DarkPrismarine => "minecraft:dark_prismarine",
+ PrismarineStairs => "minecraft:prismarine_stairs",
+ PrismarineBrickStairs => "minecraft:prismarine_brick_stairs",
+ DarkPrismarineStairs => "minecraft:dark_prismarine_stairs",
+ SeaLantern => "minecraft:sea_lantern",
+ RedSandstone => "minecraft:red_sandstone",
+ ChiseledRedSandstone => "minecraft:chiseled_red_sandstone",
+ CutRedSandstone => "minecraft:cut_red_sandstone",
+ RedSandstoneStairs => "minecraft:red_sandstone_stairs",
+ RepeatingCommandBlock => "minecraft:repeating_command_block",
+ ChainCommandBlock => "minecraft:chain_command_block",
+ MagmaBlock => "minecraft:magma_block",
+ NetherWartBlock => "minecraft:nether_wart_block",
+ WarpedWartBlock => "minecraft:warped_wart_block",
+ RedNetherBricks => "minecraft:red_nether_bricks",
+ BoneBlock => "minecraft:bone_block",
+ StructureVoid => "minecraft:structure_void",
+ ShulkerBox => "minecraft:shulker_box",
+ WhiteShulkerBox => "minecraft:white_shulker_box",
+ OrangeShulkerBox => "minecraft:orange_shulker_box",
+ MagentaShulkerBox => "minecraft:magenta_shulker_box",
+ LightBlueShulkerBox => "minecraft:light_blue_shulker_box",
+ YellowShulkerBox => "minecraft:yellow_shulker_box",
+ LimeShulkerBox => "minecraft:lime_shulker_box",
+ PinkShulkerBox => "minecraft:pink_shulker_box",
+ GrayShulkerBox => "minecraft:gray_shulker_box",
+ LightGrayShulkerBox => "minecraft:light_gray_shulker_box",
+ CyanShulkerBox => "minecraft:cyan_shulker_box",
+ PurpleShulkerBox => "minecraft:purple_shulker_box",
+ BlueShulkerBox => "minecraft:blue_shulker_box",
+ BrownShulkerBox => "minecraft:brown_shulker_box",
+ GreenShulkerBox => "minecraft:green_shulker_box",
+ RedShulkerBox => "minecraft:red_shulker_box",
+ BlackShulkerBox => "minecraft:black_shulker_box",
+ WhiteGlazedTerracotta => "minecraft:white_glazed_terracotta",
+ OrangeGlazedTerracotta => "minecraft:orange_glazed_terracotta",
+ MagentaGlazedTerracotta => "minecraft:magenta_glazed_terracotta",
+ LightBlueGlazedTerracotta => "minecraft:light_blue_glazed_terracotta",
+ YellowGlazedTerracotta => "minecraft:yellow_glazed_terracotta",
+ LimeGlazedTerracotta => "minecraft:lime_glazed_terracotta",
+ PinkGlazedTerracotta => "minecraft:pink_glazed_terracotta",
+ GrayGlazedTerracotta => "minecraft:gray_glazed_terracotta",
+ LightGrayGlazedTerracotta => "minecraft:light_gray_glazed_terracotta",
+ CyanGlazedTerracotta => "minecraft:cyan_glazed_terracotta",
+ PurpleGlazedTerracotta => "minecraft:purple_glazed_terracotta",
+ BlueGlazedTerracotta => "minecraft:blue_glazed_terracotta",
+ BrownGlazedTerracotta => "minecraft:brown_glazed_terracotta",
+ GreenGlazedTerracotta => "minecraft:green_glazed_terracotta",
+ RedGlazedTerracotta => "minecraft:red_glazed_terracotta",
+ BlackGlazedTerracotta => "minecraft:black_glazed_terracotta",
+ WhiteConcrete => "minecraft:white_concrete",
+ OrangeConcrete => "minecraft:orange_concrete",
+ MagentaConcrete => "minecraft:magenta_concrete",
+ LightBlueConcrete => "minecraft:light_blue_concrete",
+ YellowConcrete => "minecraft:yellow_concrete",
+ LimeConcrete => "minecraft:lime_concrete",
+ PinkConcrete => "minecraft:pink_concrete",
+ GrayConcrete => "minecraft:gray_concrete",
+ LightGrayConcrete => "minecraft:light_gray_concrete",
+ CyanConcrete => "minecraft:cyan_concrete",
+ PurpleConcrete => "minecraft:purple_concrete",
+ BlueConcrete => "minecraft:blue_concrete",
+ BrownConcrete => "minecraft:brown_concrete",
+ GreenConcrete => "minecraft:green_concrete",
+ RedConcrete => "minecraft:red_concrete",
+ BlackConcrete => "minecraft:black_concrete",
+ WhiteConcretePowder => "minecraft:white_concrete_powder",
+ OrangeConcretePowder => "minecraft:orange_concrete_powder",
+ MagentaConcretePowder => "minecraft:magenta_concrete_powder",
+ LightBlueConcretePowder => "minecraft:light_blue_concrete_powder",
+ YellowConcretePowder => "minecraft:yellow_concrete_powder",
+ LimeConcretePowder => "minecraft:lime_concrete_powder",
+ PinkConcretePowder => "minecraft:pink_concrete_powder",
+ GrayConcretePowder => "minecraft:gray_concrete_powder",
+ LightGrayConcretePowder => "minecraft:light_gray_concrete_powder",
+ CyanConcretePowder => "minecraft:cyan_concrete_powder",
+ PurpleConcretePowder => "minecraft:purple_concrete_powder",
+ BlueConcretePowder => "minecraft:blue_concrete_powder",
+ BrownConcretePowder => "minecraft:brown_concrete_powder",
+ GreenConcretePowder => "minecraft:green_concrete_powder",
+ RedConcretePowder => "minecraft:red_concrete_powder",
+ BlackConcretePowder => "minecraft:black_concrete_powder",
+ TurtleEgg => "minecraft:turtle_egg",
+ SnifferEgg => "minecraft:sniffer_egg",
+ DriedGhast => "minecraft:dried_ghast",
+ DeadTubeCoralBlock => "minecraft:dead_tube_coral_block",
+ DeadBrainCoralBlock => "minecraft:dead_brain_coral_block",
+ DeadBubbleCoralBlock => "minecraft:dead_bubble_coral_block",
+ DeadFireCoralBlock => "minecraft:dead_fire_coral_block",
+ DeadHornCoralBlock => "minecraft:dead_horn_coral_block",
+ TubeCoralBlock => "minecraft:tube_coral_block",
+ BrainCoralBlock => "minecraft:brain_coral_block",
+ BubbleCoralBlock => "minecraft:bubble_coral_block",
+ FireCoralBlock => "minecraft:fire_coral_block",
+ HornCoralBlock => "minecraft:horn_coral_block",
+ TubeCoral => "minecraft:tube_coral",
+ BrainCoral => "minecraft:brain_coral",
+ BubbleCoral => "minecraft:bubble_coral",
+ FireCoral => "minecraft:fire_coral",
+ HornCoral => "minecraft:horn_coral",
+ DeadBrainCoral => "minecraft:dead_brain_coral",
+ DeadBubbleCoral => "minecraft:dead_bubble_coral",
+ DeadFireCoral => "minecraft:dead_fire_coral",
+ DeadHornCoral => "minecraft:dead_horn_coral",
+ DeadTubeCoral => "minecraft:dead_tube_coral",
+ TubeCoralFan => "minecraft:tube_coral_fan",
+ BrainCoralFan => "minecraft:brain_coral_fan",
+ BubbleCoralFan => "minecraft:bubble_coral_fan",
+ FireCoralFan => "minecraft:fire_coral_fan",
+ HornCoralFan => "minecraft:horn_coral_fan",
+ DeadTubeCoralFan => "minecraft:dead_tube_coral_fan",
+ DeadBrainCoralFan => "minecraft:dead_brain_coral_fan",
+ DeadBubbleCoralFan => "minecraft:dead_bubble_coral_fan",
+ DeadFireCoralFan => "minecraft:dead_fire_coral_fan",
+ DeadHornCoralFan => "minecraft:dead_horn_coral_fan",
+ BlueIce => "minecraft:blue_ice",
+ Conduit => "minecraft:conduit",
+ PolishedGraniteStairs => "minecraft:polished_granite_stairs",
+ SmoothRedSandstoneStairs => "minecraft:smooth_red_sandstone_stairs",
+ MossyStoneBrickStairs => "minecraft:mossy_stone_brick_stairs",
+ PolishedDioriteStairs => "minecraft:polished_diorite_stairs",
+ MossyCobblestoneStairs => "minecraft:mossy_cobblestone_stairs",
+ EndStoneBrickStairs => "minecraft:end_stone_brick_stairs",
+ StoneStairs => "minecraft:stone_stairs",
+ SmoothSandstoneStairs => "minecraft:smooth_sandstone_stairs",
+ SmoothQuartzStairs => "minecraft:smooth_quartz_stairs",
+ GraniteStairs => "minecraft:granite_stairs",
+ AndesiteStairs => "minecraft:andesite_stairs",
+ RedNetherBrickStairs => "minecraft:red_nether_brick_stairs",
+ PolishedAndesiteStairs => "minecraft:polished_andesite_stairs",
+ DioriteStairs => "minecraft:diorite_stairs",
+ CobbledDeepslateStairs => "minecraft:cobbled_deepslate_stairs",
+ PolishedDeepslateStairs => "minecraft:polished_deepslate_stairs",
+ DeepslateBrickStairs => "minecraft:deepslate_brick_stairs",
+ DeepslateTileStairs => "minecraft:deepslate_tile_stairs",
+ PolishedGraniteSlab => "minecraft:polished_granite_slab",
+ SmoothRedSandstoneSlab => "minecraft:smooth_red_sandstone_slab",
+ MossyStoneBrickSlab => "minecraft:mossy_stone_brick_slab",
+ PolishedDioriteSlab => "minecraft:polished_diorite_slab",
+ MossyCobblestoneSlab => "minecraft:mossy_cobblestone_slab",
+ EndStoneBrickSlab => "minecraft:end_stone_brick_slab",
+ SmoothSandstoneSlab => "minecraft:smooth_sandstone_slab",
+ SmoothQuartzSlab => "minecraft:smooth_quartz_slab",
+ GraniteSlab => "minecraft:granite_slab",
+ AndesiteSlab => "minecraft:andesite_slab",
+ RedNetherBrickSlab => "minecraft:red_nether_brick_slab",
+ PolishedAndesiteSlab => "minecraft:polished_andesite_slab",
+ DioriteSlab => "minecraft:diorite_slab",
+ CobbledDeepslateSlab => "minecraft:cobbled_deepslate_slab",
+ PolishedDeepslateSlab => "minecraft:polished_deepslate_slab",
+ DeepslateBrickSlab => "minecraft:deepslate_brick_slab",
+ DeepslateTileSlab => "minecraft:deepslate_tile_slab",
+ Scaffolding => "minecraft:scaffolding",
+ Redstone => "minecraft:redstone",
+ RedstoneTorch => "minecraft:redstone_torch",
+ RedstoneBlock => "minecraft:redstone_block",
+ Repeater => "minecraft:repeater",
+ Comparator => "minecraft:comparator",
+ Piston => "minecraft:piston",
+ StickyPiston => "minecraft:sticky_piston",
+ SlimeBlock => "minecraft:slime_block",
+ HoneyBlock => "minecraft:honey_block",
+ Observer => "minecraft:observer",
+ Hopper => "minecraft:hopper",
+ Dispenser => "minecraft:dispenser",
+ Dropper => "minecraft:dropper",
+ Lectern => "minecraft:lectern",
+ Target => "minecraft:target",
+ Lever => "minecraft:lever",
+ LightningRod => "minecraft:lightning_rod",
+ ExposedLightningRod => "minecraft:exposed_lightning_rod",
+ WeatheredLightningRod => "minecraft:weathered_lightning_rod",
+ OxidizedLightningRod => "minecraft:oxidized_lightning_rod",
+ WaxedLightningRod => "minecraft:waxed_lightning_rod",
+ WaxedExposedLightningRod => "minecraft:waxed_exposed_lightning_rod",
+ WaxedWeatheredLightningRod => "minecraft:waxed_weathered_lightning_rod",
+ WaxedOxidizedLightningRod => "minecraft:waxed_oxidized_lightning_rod",
+ DaylightDetector => "minecraft:daylight_detector",
+ SculkSensor => "minecraft:sculk_sensor",
+ CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
+ TripwireHook => "minecraft:tripwire_hook",
+ TrappedChest => "minecraft:trapped_chest",
+ Tnt => "minecraft:tnt",
+ RedstoneLamp => "minecraft:redstone_lamp",
+ NoteBlock => "minecraft:note_block",
+ StoneButton => "minecraft:stone_button",
+ PolishedBlackstoneButton => "minecraft:polished_blackstone_button",
+ OakButton => "minecraft:oak_button",
+ SpruceButton => "minecraft:spruce_button",
+ BirchButton => "minecraft:birch_button",
+ JungleButton => "minecraft:jungle_button",
+ AcaciaButton => "minecraft:acacia_button",
+ CherryButton => "minecraft:cherry_button",
+ DarkOakButton => "minecraft:dark_oak_button",
+ PaleOakButton => "minecraft:pale_oak_button",
+ MangroveButton => "minecraft:mangrove_button",
+ BambooButton => "minecraft:bamboo_button",
+ CrimsonButton => "minecraft:crimson_button",
+ WarpedButton => "minecraft:warped_button",
+ StonePressurePlate => "minecraft:stone_pressure_plate",
+ PolishedBlackstonePressurePlate => "minecraft:polished_blackstone_pressure_plate",
+ LightWeightedPressurePlate => "minecraft:light_weighted_pressure_plate",
+ HeavyWeightedPressurePlate => "minecraft:heavy_weighted_pressure_plate",
+ OakPressurePlate => "minecraft:oak_pressure_plate",
+ SprucePressurePlate => "minecraft:spruce_pressure_plate",
+ BirchPressurePlate => "minecraft:birch_pressure_plate",
+ JunglePressurePlate => "minecraft:jungle_pressure_plate",
+ AcaciaPressurePlate => "minecraft:acacia_pressure_plate",
+ CherryPressurePlate => "minecraft:cherry_pressure_plate",
+ DarkOakPressurePlate => "minecraft:dark_oak_pressure_plate",
+ PaleOakPressurePlate => "minecraft:pale_oak_pressure_plate",
+ MangrovePressurePlate => "minecraft:mangrove_pressure_plate",
+ BambooPressurePlate => "minecraft:bamboo_pressure_plate",
+ CrimsonPressurePlate => "minecraft:crimson_pressure_plate",
+ WarpedPressurePlate => "minecraft:warped_pressure_plate",
+ IronDoor => "minecraft:iron_door",
+ OakDoor => "minecraft:oak_door",
+ SpruceDoor => "minecraft:spruce_door",
+ BirchDoor => "minecraft:birch_door",
+ JungleDoor => "minecraft:jungle_door",
+ AcaciaDoor => "minecraft:acacia_door",
+ CherryDoor => "minecraft:cherry_door",
+ DarkOakDoor => "minecraft:dark_oak_door",
+ PaleOakDoor => "minecraft:pale_oak_door",
+ MangroveDoor => "minecraft:mangrove_door",
+ BambooDoor => "minecraft:bamboo_door",
+ CrimsonDoor => "minecraft:crimson_door",
+ WarpedDoor => "minecraft:warped_door",
+ CopperDoor => "minecraft:copper_door",
+ ExposedCopperDoor => "minecraft:exposed_copper_door",
+ WeatheredCopperDoor => "minecraft:weathered_copper_door",
+ OxidizedCopperDoor => "minecraft:oxidized_copper_door",
+ WaxedCopperDoor => "minecraft:waxed_copper_door",
+ WaxedExposedCopperDoor => "minecraft:waxed_exposed_copper_door",
+ WaxedWeatheredCopperDoor => "minecraft:waxed_weathered_copper_door",
+ WaxedOxidizedCopperDoor => "minecraft:waxed_oxidized_copper_door",
+ IronTrapdoor => "minecraft:iron_trapdoor",
+ OakTrapdoor => "minecraft:oak_trapdoor",
+ SpruceTrapdoor => "minecraft:spruce_trapdoor",
+ BirchTrapdoor => "minecraft:birch_trapdoor",
+ JungleTrapdoor => "minecraft:jungle_trapdoor",
+ AcaciaTrapdoor => "minecraft:acacia_trapdoor",
+ CherryTrapdoor => "minecraft:cherry_trapdoor",
+ DarkOakTrapdoor => "minecraft:dark_oak_trapdoor",
+ PaleOakTrapdoor => "minecraft:pale_oak_trapdoor",
+ MangroveTrapdoor => "minecraft:mangrove_trapdoor",
+ BambooTrapdoor => "minecraft:bamboo_trapdoor",
+ CrimsonTrapdoor => "minecraft:crimson_trapdoor",
+ WarpedTrapdoor => "minecraft:warped_trapdoor",
+ CopperTrapdoor => "minecraft:copper_trapdoor",
+ ExposedCopperTrapdoor => "minecraft:exposed_copper_trapdoor",
+ WeatheredCopperTrapdoor => "minecraft:weathered_copper_trapdoor",
+ OxidizedCopperTrapdoor => "minecraft:oxidized_copper_trapdoor",
+ WaxedCopperTrapdoor => "minecraft:waxed_copper_trapdoor",
+ WaxedExposedCopperTrapdoor => "minecraft:waxed_exposed_copper_trapdoor",
+ WaxedWeatheredCopperTrapdoor => "minecraft:waxed_weathered_copper_trapdoor",
+ WaxedOxidizedCopperTrapdoor => "minecraft:waxed_oxidized_copper_trapdoor",
+ OakFenceGate => "minecraft:oak_fence_gate",
+ SpruceFenceGate => "minecraft:spruce_fence_gate",
+ BirchFenceGate => "minecraft:birch_fence_gate",
+ JungleFenceGate => "minecraft:jungle_fence_gate",
+ AcaciaFenceGate => "minecraft:acacia_fence_gate",
+ CherryFenceGate => "minecraft:cherry_fence_gate",
+ DarkOakFenceGate => "minecraft:dark_oak_fence_gate",
+ PaleOakFenceGate => "minecraft:pale_oak_fence_gate",
+ MangroveFenceGate => "minecraft:mangrove_fence_gate",
+ BambooFenceGate => "minecraft:bamboo_fence_gate",
+ CrimsonFenceGate => "minecraft:crimson_fence_gate",
+ WarpedFenceGate => "minecraft:warped_fence_gate",
+ PoweredRail => "minecraft:powered_rail",
+ DetectorRail => "minecraft:detector_rail",
+ Rail => "minecraft:rail",
+ ActivatorRail => "minecraft:activator_rail",
+ Saddle => "minecraft:saddle",
+ WhiteHarness => "minecraft:white_harness",
+ OrangeHarness => "minecraft:orange_harness",
+ MagentaHarness => "minecraft:magenta_harness",
+ LightBlueHarness => "minecraft:light_blue_harness",
+ YellowHarness => "minecraft:yellow_harness",
+ LimeHarness => "minecraft:lime_harness",
+ PinkHarness => "minecraft:pink_harness",
+ GrayHarness => "minecraft:gray_harness",
+ LightGrayHarness => "minecraft:light_gray_harness",
+ CyanHarness => "minecraft:cyan_harness",
+ PurpleHarness => "minecraft:purple_harness",
+ BlueHarness => "minecraft:blue_harness",
+ BrownHarness => "minecraft:brown_harness",
+ GreenHarness => "minecraft:green_harness",
+ RedHarness => "minecraft:red_harness",
+ BlackHarness => "minecraft:black_harness",
+ Minecart => "minecraft:minecart",
+ ChestMinecart => "minecraft:chest_minecart",
+ FurnaceMinecart => "minecraft:furnace_minecart",
+ TntMinecart => "minecraft:tnt_minecart",
+ HopperMinecart => "minecraft:hopper_minecart",
+ CarrotOnAStick => "minecraft:carrot_on_a_stick",
+ WarpedFungusOnAStick => "minecraft:warped_fungus_on_a_stick",
+ PhantomMembrane => "minecraft:phantom_membrane",
+ Elytra => "minecraft:elytra",
+ OakBoat => "minecraft:oak_boat",
+ OakChestBoat => "minecraft:oak_chest_boat",
+ SpruceBoat => "minecraft:spruce_boat",
+ SpruceChestBoat => "minecraft:spruce_chest_boat",
+ BirchBoat => "minecraft:birch_boat",
+ BirchChestBoat => "minecraft:birch_chest_boat",
+ JungleBoat => "minecraft:jungle_boat",
+ JungleChestBoat => "minecraft:jungle_chest_boat",
+ AcaciaBoat => "minecraft:acacia_boat",
+ AcaciaChestBoat => "minecraft:acacia_chest_boat",
+ CherryBoat => "minecraft:cherry_boat",
+ CherryChestBoat => "minecraft:cherry_chest_boat",
+ DarkOakBoat => "minecraft:dark_oak_boat",
+ DarkOakChestBoat => "minecraft:dark_oak_chest_boat",
+ PaleOakBoat => "minecraft:pale_oak_boat",
+ PaleOakChestBoat => "minecraft:pale_oak_chest_boat",
+ MangroveBoat => "minecraft:mangrove_boat",
+ MangroveChestBoat => "minecraft:mangrove_chest_boat",
+ BambooRaft => "minecraft:bamboo_raft",
+ BambooChestRaft => "minecraft:bamboo_chest_raft",
+ StructureBlock => "minecraft:structure_block",
+ Jigsaw => "minecraft:jigsaw",
+ TestBlock => "minecraft:test_block",
+ TestInstanceBlock => "minecraft:test_instance_block",
+ TurtleHelmet => "minecraft:turtle_helmet",
+ TurtleScute => "minecraft:turtle_scute",
+ ArmadilloScute => "minecraft:armadillo_scute",
+ WolfArmor => "minecraft:wolf_armor",
+ FlintAndSteel => "minecraft:flint_and_steel",
+ Bowl => "minecraft:bowl",
+ Apple => "minecraft:apple",
+ Bow => "minecraft:bow",
+ Arrow => "minecraft:arrow",
+ Coal => "minecraft:coal",
+ Charcoal => "minecraft:charcoal",
+ Diamond => "minecraft:diamond",
+ Emerald => "minecraft:emerald",
+ LapisLazuli => "minecraft:lapis_lazuli",
+ Quartz => "minecraft:quartz",
+ AmethystShard => "minecraft:amethyst_shard",
+ RawIron => "minecraft:raw_iron",
+ IronIngot => "minecraft:iron_ingot",
+ RawCopper => "minecraft:raw_copper",
+ CopperIngot => "minecraft:copper_ingot",
+ RawGold => "minecraft:raw_gold",
+ GoldIngot => "minecraft:gold_ingot",
+ NetheriteIngot => "minecraft:netherite_ingot",
+ NetheriteScrap => "minecraft:netherite_scrap",
+ WoodenSword => "minecraft:wooden_sword",
+ WoodenShovel => "minecraft:wooden_shovel",
+ WoodenPickaxe => "minecraft:wooden_pickaxe",
+ WoodenAxe => "minecraft:wooden_axe",
+ WoodenHoe => "minecraft:wooden_hoe",
+ CopperSword => "minecraft:copper_sword",
+ CopperShovel => "minecraft:copper_shovel",
+ CopperPickaxe => "minecraft:copper_pickaxe",
+ CopperAxe => "minecraft:copper_axe",
+ CopperHoe => "minecraft:copper_hoe",
+ StoneSword => "minecraft:stone_sword",
+ StoneShovel => "minecraft:stone_shovel",
+ StonePickaxe => "minecraft:stone_pickaxe",
+ StoneAxe => "minecraft:stone_axe",
+ StoneHoe => "minecraft:stone_hoe",
+ GoldenSword => "minecraft:golden_sword",
+ GoldenShovel => "minecraft:golden_shovel",
+ GoldenPickaxe => "minecraft:golden_pickaxe",
+ GoldenAxe => "minecraft:golden_axe",
+ GoldenHoe => "minecraft:golden_hoe",
+ IronSword => "minecraft:iron_sword",
+ IronShovel => "minecraft:iron_shovel",
+ IronPickaxe => "minecraft:iron_pickaxe",
+ IronAxe => "minecraft:iron_axe",
+ IronHoe => "minecraft:iron_hoe",
+ DiamondSword => "minecraft:diamond_sword",
+ DiamondShovel => "minecraft:diamond_shovel",
+ DiamondPickaxe => "minecraft:diamond_pickaxe",
+ DiamondAxe => "minecraft:diamond_axe",
+ DiamondHoe => "minecraft:diamond_hoe",
+ NetheriteSword => "minecraft:netherite_sword",
+ NetheriteShovel => "minecraft:netherite_shovel",
+ NetheritePickaxe => "minecraft:netherite_pickaxe",
+ NetheriteAxe => "minecraft:netherite_axe",
+ NetheriteHoe => "minecraft:netherite_hoe",
+ Stick => "minecraft:stick",
+ MushroomStew => "minecraft:mushroom_stew",
+ String => "minecraft:string",
+ Feather => "minecraft:feather",
+ Gunpowder => "minecraft:gunpowder",
+ WheatSeeds => "minecraft:wheat_seeds",
+ Wheat => "minecraft:wheat",
+ Bread => "minecraft:bread",
+ LeatherHelmet => "minecraft:leather_helmet",
+ LeatherChestplate => "minecraft:leather_chestplate",
+ LeatherLeggings => "minecraft:leather_leggings",
+ LeatherBoots => "minecraft:leather_boots",
+ CopperHelmet => "minecraft:copper_helmet",
+ CopperChestplate => "minecraft:copper_chestplate",
+ CopperLeggings => "minecraft:copper_leggings",
+ CopperBoots => "minecraft:copper_boots",
+ ChainmailHelmet => "minecraft:chainmail_helmet",
+ ChainmailChestplate => "minecraft:chainmail_chestplate",
+ ChainmailLeggings => "minecraft:chainmail_leggings",
+ ChainmailBoots => "minecraft:chainmail_boots",
+ IronHelmet => "minecraft:iron_helmet",
+ IronChestplate => "minecraft:iron_chestplate",
+ IronLeggings => "minecraft:iron_leggings",
+ IronBoots => "minecraft:iron_boots",
+ DiamondHelmet => "minecraft:diamond_helmet",
+ DiamondChestplate => "minecraft:diamond_chestplate",
+ DiamondLeggings => "minecraft:diamond_leggings",
+ DiamondBoots => "minecraft:diamond_boots",
+ GoldenHelmet => "minecraft:golden_helmet",
+ GoldenChestplate => "minecraft:golden_chestplate",
+ GoldenLeggings => "minecraft:golden_leggings",
+ GoldenBoots => "minecraft:golden_boots",
+ NetheriteHelmet => "minecraft:netherite_helmet",
+ NetheriteChestplate => "minecraft:netherite_chestplate",
+ NetheriteLeggings => "minecraft:netherite_leggings",
+ NetheriteBoots => "minecraft:netherite_boots",
+ Flint => "minecraft:flint",
+ Porkchop => "minecraft:porkchop",
+ CookedPorkchop => "minecraft:cooked_porkchop",
+ Painting => "minecraft:painting",
+ GoldenApple => "minecraft:golden_apple",
+ EnchantedGoldenApple => "minecraft:enchanted_golden_apple",
+ OakSign => "minecraft:oak_sign",
+ SpruceSign => "minecraft:spruce_sign",
+ BirchSign => "minecraft:birch_sign",
+ JungleSign => "minecraft:jungle_sign",
+ AcaciaSign => "minecraft:acacia_sign",
+ CherrySign => "minecraft:cherry_sign",
+ DarkOakSign => "minecraft:dark_oak_sign",
+ PaleOakSign => "minecraft:pale_oak_sign",
+ MangroveSign => "minecraft:mangrove_sign",
+ BambooSign => "minecraft:bamboo_sign",
+ CrimsonSign => "minecraft:crimson_sign",
+ WarpedSign => "minecraft:warped_sign",
+ OakHangingSign => "minecraft:oak_hanging_sign",
+ SpruceHangingSign => "minecraft:spruce_hanging_sign",
+ BirchHangingSign => "minecraft:birch_hanging_sign",
+ JungleHangingSign => "minecraft:jungle_hanging_sign",
+ AcaciaHangingSign => "minecraft:acacia_hanging_sign",
+ CherryHangingSign => "minecraft:cherry_hanging_sign",
+ DarkOakHangingSign => "minecraft:dark_oak_hanging_sign",
+ PaleOakHangingSign => "minecraft:pale_oak_hanging_sign",
+ MangroveHangingSign => "minecraft:mangrove_hanging_sign",
+ BambooHangingSign => "minecraft:bamboo_hanging_sign",
+ CrimsonHangingSign => "minecraft:crimson_hanging_sign",
+ WarpedHangingSign => "minecraft:warped_hanging_sign",
+ Bucket => "minecraft:bucket",
+ WaterBucket => "minecraft:water_bucket",
+ LavaBucket => "minecraft:lava_bucket",
+ PowderSnowBucket => "minecraft:powder_snow_bucket",
+ Snowball => "minecraft:snowball",
+ Leather => "minecraft:leather",
+ MilkBucket => "minecraft:milk_bucket",
+ PufferfishBucket => "minecraft:pufferfish_bucket",
+ SalmonBucket => "minecraft:salmon_bucket",
+ CodBucket => "minecraft:cod_bucket",
+ TropicalFishBucket => "minecraft:tropical_fish_bucket",
+ AxolotlBucket => "minecraft:axolotl_bucket",
+ TadpoleBucket => "minecraft:tadpole_bucket",
+ Brick => "minecraft:brick",
+ ClayBall => "minecraft:clay_ball",
+ DriedKelpBlock => "minecraft:dried_kelp_block",
+ Paper => "minecraft:paper",
+ Book => "minecraft:book",
+ SlimeBall => "minecraft:slime_ball",
+ Egg => "minecraft:egg",
+ BlueEgg => "minecraft:blue_egg",
+ BrownEgg => "minecraft:brown_egg",
+ Compass => "minecraft:compass",
+ RecoveryCompass => "minecraft:recovery_compass",
+ Bundle => "minecraft:bundle",
+ WhiteBundle => "minecraft:white_bundle",
+ OrangeBundle => "minecraft:orange_bundle",
+ MagentaBundle => "minecraft:magenta_bundle",
+ LightBlueBundle => "minecraft:light_blue_bundle",
+ YellowBundle => "minecraft:yellow_bundle",
+ LimeBundle => "minecraft:lime_bundle",
+ PinkBundle => "minecraft:pink_bundle",
+ GrayBundle => "minecraft:gray_bundle",
+ LightGrayBundle => "minecraft:light_gray_bundle",
+ CyanBundle => "minecraft:cyan_bundle",
+ PurpleBundle => "minecraft:purple_bundle",
+ BlueBundle => "minecraft:blue_bundle",
+ BrownBundle => "minecraft:brown_bundle",
+ GreenBundle => "minecraft:green_bundle",
+ RedBundle => "minecraft:red_bundle",
+ BlackBundle => "minecraft:black_bundle",
+ FishingRod => "minecraft:fishing_rod",
+ Clock => "minecraft:clock",
+ Spyglass => "minecraft:spyglass",
+ GlowstoneDust => "minecraft:glowstone_dust",
+ Cod => "minecraft:cod",
+ Salmon => "minecraft:salmon",
+ TropicalFish => "minecraft:tropical_fish",
+ Pufferfish => "minecraft:pufferfish",
+ CookedCod => "minecraft:cooked_cod",
+ CookedSalmon => "minecraft:cooked_salmon",
+ InkSac => "minecraft:ink_sac",
+ GlowInkSac => "minecraft:glow_ink_sac",
+ CocoaBeans => "minecraft:cocoa_beans",
+ WhiteDye => "minecraft:white_dye",
+ OrangeDye => "minecraft:orange_dye",
+ MagentaDye => "minecraft:magenta_dye",
+ LightBlueDye => "minecraft:light_blue_dye",
+ YellowDye => "minecraft:yellow_dye",
+ LimeDye => "minecraft:lime_dye",
+ PinkDye => "minecraft:pink_dye",
+ GrayDye => "minecraft:gray_dye",
+ LightGrayDye => "minecraft:light_gray_dye",
+ CyanDye => "minecraft:cyan_dye",
+ PurpleDye => "minecraft:purple_dye",
+ BlueDye => "minecraft:blue_dye",
+ BrownDye => "minecraft:brown_dye",
+ GreenDye => "minecraft:green_dye",
+ RedDye => "minecraft:red_dye",
+ BlackDye => "minecraft:black_dye",
+ BoneMeal => "minecraft:bone_meal",
+ Bone => "minecraft:bone",
+ Sugar => "minecraft:sugar",
+ Cake => "minecraft:cake",
+ WhiteBed => "minecraft:white_bed",
+ OrangeBed => "minecraft:orange_bed",
+ MagentaBed => "minecraft:magenta_bed",
+ LightBlueBed => "minecraft:light_blue_bed",
+ YellowBed => "minecraft:yellow_bed",
+ LimeBed => "minecraft:lime_bed",
+ PinkBed => "minecraft:pink_bed",
+ GrayBed => "minecraft:gray_bed",
+ LightGrayBed => "minecraft:light_gray_bed",
+ CyanBed => "minecraft:cyan_bed",
+ PurpleBed => "minecraft:purple_bed",
+ BlueBed => "minecraft:blue_bed",
+ BrownBed => "minecraft:brown_bed",
+ GreenBed => "minecraft:green_bed",
+ RedBed => "minecraft:red_bed",
+ BlackBed => "minecraft:black_bed",
+ Cookie => "minecraft:cookie",
+ Crafter => "minecraft:crafter",
+ FilledMap => "minecraft:filled_map",
+ Shears => "minecraft:shears",
+ MelonSlice => "minecraft:melon_slice",
+ DriedKelp => "minecraft:dried_kelp",
+ PumpkinSeeds => "minecraft:pumpkin_seeds",
+ MelonSeeds => "minecraft:melon_seeds",
+ Beef => "minecraft:beef",
+ CookedBeef => "minecraft:cooked_beef",
+ Chicken => "minecraft:chicken",
+ CookedChicken => "minecraft:cooked_chicken",
+ RottenFlesh => "minecraft:rotten_flesh",
+ EnderPearl => "minecraft:ender_pearl",
+ BlazeRod => "minecraft:blaze_rod",
+ GhastTear => "minecraft:ghast_tear",
+ GoldNugget => "minecraft:gold_nugget",
+ NetherWart => "minecraft:nether_wart",
+ GlassBottle => "minecraft:glass_bottle",
+ Potion => "minecraft:potion",
+ SpiderEye => "minecraft:spider_eye",
+ FermentedSpiderEye => "minecraft:fermented_spider_eye",
+ BlazePowder => "minecraft:blaze_powder",
+ MagmaCream => "minecraft:magma_cream",
+ BrewingStand => "minecraft:brewing_stand",
+ Cauldron => "minecraft:cauldron",
+ EnderEye => "minecraft:ender_eye",
+ GlisteringMelonSlice => "minecraft:glistering_melon_slice",
+ ChickenSpawnEgg => "minecraft:chicken_spawn_egg",
+ CowSpawnEgg => "minecraft:cow_spawn_egg",
+ PigSpawnEgg => "minecraft:pig_spawn_egg",
+ SheepSpawnEgg => "minecraft:sheep_spawn_egg",
+ CamelSpawnEgg => "minecraft:camel_spawn_egg",
+ DonkeySpawnEgg => "minecraft:donkey_spawn_egg",
+ HorseSpawnEgg => "minecraft:horse_spawn_egg",
+ MuleSpawnEgg => "minecraft:mule_spawn_egg",
+ CatSpawnEgg => "minecraft:cat_spawn_egg",
+ ParrotSpawnEgg => "minecraft:parrot_spawn_egg",
+ WolfSpawnEgg => "minecraft:wolf_spawn_egg",
+ ArmadilloSpawnEgg => "minecraft:armadillo_spawn_egg",
+ BatSpawnEgg => "minecraft:bat_spawn_egg",
+ BeeSpawnEgg => "minecraft:bee_spawn_egg",
+ FoxSpawnEgg => "minecraft:fox_spawn_egg",
+ GoatSpawnEgg => "minecraft:goat_spawn_egg",
+ LlamaSpawnEgg => "minecraft:llama_spawn_egg",
+ OcelotSpawnEgg => "minecraft:ocelot_spawn_egg",
+ PandaSpawnEgg => "minecraft:panda_spawn_egg",
+ PolarBearSpawnEgg => "minecraft:polar_bear_spawn_egg",
+ RabbitSpawnEgg => "minecraft:rabbit_spawn_egg",
+ AxolotlSpawnEgg => "minecraft:axolotl_spawn_egg",
+ CodSpawnEgg => "minecraft:cod_spawn_egg",
+ DolphinSpawnEgg => "minecraft:dolphin_spawn_egg",
+ FrogSpawnEgg => "minecraft:frog_spawn_egg",
+ GlowSquidSpawnEgg => "minecraft:glow_squid_spawn_egg",
+ NautilusSpawnEgg => "minecraft:nautilus_spawn_egg",
+ PufferfishSpawnEgg => "minecraft:pufferfish_spawn_egg",
+ SalmonSpawnEgg => "minecraft:salmon_spawn_egg",
+ SquidSpawnEgg => "minecraft:squid_spawn_egg",
+ TadpoleSpawnEgg => "minecraft:tadpole_spawn_egg",
+ TropicalFishSpawnEgg => "minecraft:tropical_fish_spawn_egg",
+ TurtleSpawnEgg => "minecraft:turtle_spawn_egg",
+ AllaySpawnEgg => "minecraft:allay_spawn_egg",
+ MooshroomSpawnEgg => "minecraft:mooshroom_spawn_egg",
+ SnifferSpawnEgg => "minecraft:sniffer_spawn_egg",
+ CopperGolemSpawnEgg => "minecraft:copper_golem_spawn_egg",
+ IronGolemSpawnEgg => "minecraft:iron_golem_spawn_egg",
+ SnowGolemSpawnEgg => "minecraft:snow_golem_spawn_egg",
+ TraderLlamaSpawnEgg => "minecraft:trader_llama_spawn_egg",
+ VillagerSpawnEgg => "minecraft:villager_spawn_egg",
+ WanderingTraderSpawnEgg => "minecraft:wandering_trader_spawn_egg",
+ BoggedSpawnEgg => "minecraft:bogged_spawn_egg",
+ CamelHuskSpawnEgg => "minecraft:camel_husk_spawn_egg",
+ DrownedSpawnEgg => "minecraft:drowned_spawn_egg",
+ HuskSpawnEgg => "minecraft:husk_spawn_egg",
+ ParchedSpawnEgg => "minecraft:parched_spawn_egg",
+ SkeletonSpawnEgg => "minecraft:skeleton_spawn_egg",
+ SkeletonHorseSpawnEgg => "minecraft:skeleton_horse_spawn_egg",
+ StraySpawnEgg => "minecraft:stray_spawn_egg",
+ WitherSpawnEgg => "minecraft:wither_spawn_egg",
+ WitherSkeletonSpawnEgg => "minecraft:wither_skeleton_spawn_egg",
+ ZombieSpawnEgg => "minecraft:zombie_spawn_egg",
+ ZombieHorseSpawnEgg => "minecraft:zombie_horse_spawn_egg",
+ ZombieNautilusSpawnEgg => "minecraft:zombie_nautilus_spawn_egg",
+ ZombieVillagerSpawnEgg => "minecraft:zombie_villager_spawn_egg",
+ CaveSpiderSpawnEgg => "minecraft:cave_spider_spawn_egg",
+ SpiderSpawnEgg => "minecraft:spider_spawn_egg",
+ BreezeSpawnEgg => "minecraft:breeze_spawn_egg",
+ CreakingSpawnEgg => "minecraft:creaking_spawn_egg",
+ CreeperSpawnEgg => "minecraft:creeper_spawn_egg",
+ ElderGuardianSpawnEgg => "minecraft:elder_guardian_spawn_egg",
+ GuardianSpawnEgg => "minecraft:guardian_spawn_egg",
+ PhantomSpawnEgg => "minecraft:phantom_spawn_egg",
+ SilverfishSpawnEgg => "minecraft:silverfish_spawn_egg",
+ SlimeSpawnEgg => "minecraft:slime_spawn_egg",
+ WardenSpawnEgg => "minecraft:warden_spawn_egg",
+ WitchSpawnEgg => "minecraft:witch_spawn_egg",
+ EvokerSpawnEgg => "minecraft:evoker_spawn_egg",
+ PillagerSpawnEgg => "minecraft:pillager_spawn_egg",
+ RavagerSpawnEgg => "minecraft:ravager_spawn_egg",
+ VindicatorSpawnEgg => "minecraft:vindicator_spawn_egg",
+ VexSpawnEgg => "minecraft:vex_spawn_egg",
+ BlazeSpawnEgg => "minecraft:blaze_spawn_egg",
+ GhastSpawnEgg => "minecraft:ghast_spawn_egg",
+ HappyGhastSpawnEgg => "minecraft:happy_ghast_spawn_egg",
+ HoglinSpawnEgg => "minecraft:hoglin_spawn_egg",
+ MagmaCubeSpawnEgg => "minecraft:magma_cube_spawn_egg",
+ PiglinSpawnEgg => "minecraft:piglin_spawn_egg",
+ PiglinBruteSpawnEgg => "minecraft:piglin_brute_spawn_egg",
+ StriderSpawnEgg => "minecraft:strider_spawn_egg",
+ ZoglinSpawnEgg => "minecraft:zoglin_spawn_egg",
+ ZombifiedPiglinSpawnEgg => "minecraft:zombified_piglin_spawn_egg",
+ EnderDragonSpawnEgg => "minecraft:ender_dragon_spawn_egg",
+ EndermanSpawnEgg => "minecraft:enderman_spawn_egg",
+ EndermiteSpawnEgg => "minecraft:endermite_spawn_egg",
+ ShulkerSpawnEgg => "minecraft:shulker_spawn_egg",
+ ExperienceBottle => "minecraft:experience_bottle",
+ FireCharge => "minecraft:fire_charge",
+ WindCharge => "minecraft:wind_charge",
+ WritableBook => "minecraft:writable_book",
+ WrittenBook => "minecraft:written_book",
+ BreezeRod => "minecraft:breeze_rod",
+ Mace => "minecraft:mace",
+ ItemFrame => "minecraft:item_frame",
+ GlowItemFrame => "minecraft:glow_item_frame",
+ FlowerPot => "minecraft:flower_pot",
+ Carrot => "minecraft:carrot",
+ Potato => "minecraft:potato",
+ BakedPotato => "minecraft:baked_potato",
+ PoisonousPotato => "minecraft:poisonous_potato",
+ Map => "minecraft:map",
+ GoldenCarrot => "minecraft:golden_carrot",
+ SkeletonSkull => "minecraft:skeleton_skull",
+ WitherSkeletonSkull => "minecraft:wither_skeleton_skull",
+ PlayerHead => "minecraft:player_head",
+ ZombieHead => "minecraft:zombie_head",
+ CreeperHead => "minecraft:creeper_head",
+ DragonHead => "minecraft:dragon_head",
+ PiglinHead => "minecraft:piglin_head",
+ NetherStar => "minecraft:nether_star",
+ PumpkinPie => "minecraft:pumpkin_pie",
+ FireworkRocket => "minecraft:firework_rocket",
+ FireworkStar => "minecraft:firework_star",
+ EnchantedBook => "minecraft:enchanted_book",
+ NetherBrick => "minecraft:nether_brick",
+ ResinBrick => "minecraft:resin_brick",
+ PrismarineShard => "minecraft:prismarine_shard",
+ PrismarineCrystals => "minecraft:prismarine_crystals",
+ Rabbit => "minecraft:rabbit",
+ CookedRabbit => "minecraft:cooked_rabbit",
+ RabbitStew => "minecraft:rabbit_stew",
+ RabbitFoot => "minecraft:rabbit_foot",
+ RabbitHide => "minecraft:rabbit_hide",
+ ArmorStand => "minecraft:armor_stand",
+ CopperHorseArmor => "minecraft:copper_horse_armor",
+ IronHorseArmor => "minecraft:iron_horse_armor",
+ GoldenHorseArmor => "minecraft:golden_horse_armor",
+ DiamondHorseArmor => "minecraft:diamond_horse_armor",
+ NetheriteHorseArmor => "minecraft:netherite_horse_armor",
+ LeatherHorseArmor => "minecraft:leather_horse_armor",
+ Lead => "minecraft:lead",
+ NameTag => "minecraft:name_tag",
+ CommandBlockMinecart => "minecraft:command_block_minecart",
+ Mutton => "minecraft:mutton",
+ CookedMutton => "minecraft:cooked_mutton",
+ WhiteBanner => "minecraft:white_banner",
+ OrangeBanner => "minecraft:orange_banner",
+ MagentaBanner => "minecraft:magenta_banner",
+ LightBlueBanner => "minecraft:light_blue_banner",
+ YellowBanner => "minecraft:yellow_banner",
+ LimeBanner => "minecraft:lime_banner",
+ PinkBanner => "minecraft:pink_banner",
+ GrayBanner => "minecraft:gray_banner",
+ LightGrayBanner => "minecraft:light_gray_banner",
+ CyanBanner => "minecraft:cyan_banner",
+ PurpleBanner => "minecraft:purple_banner",
+ BlueBanner => "minecraft:blue_banner",
+ BrownBanner => "minecraft:brown_banner",
+ GreenBanner => "minecraft:green_banner",
+ RedBanner => "minecraft:red_banner",
+ BlackBanner => "minecraft:black_banner",
+ EndCrystal => "minecraft:end_crystal",
+ ChorusFruit => "minecraft:chorus_fruit",
+ PoppedChorusFruit => "minecraft:popped_chorus_fruit",
+ TorchflowerSeeds => "minecraft:torchflower_seeds",
+ PitcherPod => "minecraft:pitcher_pod",
+ Beetroot => "minecraft:beetroot",
+ BeetrootSeeds => "minecraft:beetroot_seeds",
+ BeetrootSoup => "minecraft:beetroot_soup",
+ DragonBreath => "minecraft:dragon_breath",
+ SplashPotion => "minecraft:splash_potion",
+ SpectralArrow => "minecraft:spectral_arrow",
+ TippedArrow => "minecraft:tipped_arrow",
+ LingeringPotion => "minecraft:lingering_potion",
+ Shield => "minecraft:shield",
+ WoodenSpear => "minecraft:wooden_spear",
+ StoneSpear => "minecraft:stone_spear",
+ CopperSpear => "minecraft:copper_spear",
+ IronSpear => "minecraft:iron_spear",
+ GoldenSpear => "minecraft:golden_spear",
+ DiamondSpear => "minecraft:diamond_spear",
+ NetheriteSpear => "minecraft:netherite_spear",
+ TotemOfUndying => "minecraft:totem_of_undying",
+ ShulkerShell => "minecraft:shulker_shell",
+ IronNugget => "minecraft:iron_nugget",
+ CopperNugget => "minecraft:copper_nugget",
+ KnowledgeBook => "minecraft:knowledge_book",
+ DebugStick => "minecraft:debug_stick",
+ MusicDisc13 => "minecraft:music_disc_13",
+ MusicDiscCat => "minecraft:music_disc_cat",
+ MusicDiscBlocks => "minecraft:music_disc_blocks",
+ MusicDiscChirp => "minecraft:music_disc_chirp",
+ MusicDiscCreator => "minecraft:music_disc_creator",
+ MusicDiscCreatorMusicBox => "minecraft:music_disc_creator_music_box",
+ MusicDiscFar => "minecraft:music_disc_far",
+ MusicDiscLavaChicken => "minecraft:music_disc_lava_chicken",
+ MusicDiscMall => "minecraft:music_disc_mall",
+ MusicDiscMellohi => "minecraft:music_disc_mellohi",
+ MusicDiscStal => "minecraft:music_disc_stal",
+ MusicDiscStrad => "minecraft:music_disc_strad",
+ MusicDiscWard => "minecraft:music_disc_ward",
+ MusicDisc11 => "minecraft:music_disc_11",
+ MusicDiscWait => "minecraft:music_disc_wait",
+ MusicDiscOtherside => "minecraft:music_disc_otherside",
+ MusicDiscRelic => "minecraft:music_disc_relic",
+ MusicDisc5 => "minecraft:music_disc_5",
+ MusicDiscPigstep => "minecraft:music_disc_pigstep",
+ MusicDiscPrecipice => "minecraft:music_disc_precipice",
+ MusicDiscTears => "minecraft:music_disc_tears",
+ DiscFragment5 => "minecraft:disc_fragment_5",
+ Trident => "minecraft:trident",
+ NautilusShell => "minecraft:nautilus_shell",
+ IronNautilusArmor => "minecraft:iron_nautilus_armor",
+ GoldenNautilusArmor => "minecraft:golden_nautilus_armor",
+ DiamondNautilusArmor => "minecraft:diamond_nautilus_armor",
+ NetheriteNautilusArmor => "minecraft:netherite_nautilus_armor",
+ CopperNautilusArmor => "minecraft:copper_nautilus_armor",
+ HeartOfTheSea => "minecraft:heart_of_the_sea",
+ Crossbow => "minecraft:crossbow",
+ SuspiciousStew => "minecraft:suspicious_stew",
+ Loom => "minecraft:loom",
+ FlowerBannerPattern => "minecraft:flower_banner_pattern",
+ CreeperBannerPattern => "minecraft:creeper_banner_pattern",
+ SkullBannerPattern => "minecraft:skull_banner_pattern",
+ MojangBannerPattern => "minecraft:mojang_banner_pattern",
+ GlobeBannerPattern => "minecraft:globe_banner_pattern",
+ PiglinBannerPattern => "minecraft:piglin_banner_pattern",
+ FlowBannerPattern => "minecraft:flow_banner_pattern",
+ GusterBannerPattern => "minecraft:guster_banner_pattern",
+ FieldMasonedBannerPattern => "minecraft:field_masoned_banner_pattern",
+ BordureIndentedBannerPattern => "minecraft:bordure_indented_banner_pattern",
+ GoatHorn => "minecraft:goat_horn",
+ Composter => "minecraft:composter",
+ Barrel => "minecraft:barrel",
+ Smoker => "minecraft:smoker",
+ BlastFurnace => "minecraft:blast_furnace",
+ CartographyTable => "minecraft:cartography_table",
+ FletchingTable => "minecraft:fletching_table",
+ Grindstone => "minecraft:grindstone",
+ SmithingTable => "minecraft:smithing_table",
+ Stonecutter => "minecraft:stonecutter",
+ Bell => "minecraft:bell",
+ Lantern => "minecraft:lantern",
+ SoulLantern => "minecraft:soul_lantern",
+ CopperLantern => "minecraft:copper_lantern",
+ ExposedCopperLantern => "minecraft:exposed_copper_lantern",
+ WeatheredCopperLantern => "minecraft:weathered_copper_lantern",
+ OxidizedCopperLantern => "minecraft:oxidized_copper_lantern",
+ WaxedCopperLantern => "minecraft:waxed_copper_lantern",
+ WaxedExposedCopperLantern => "minecraft:waxed_exposed_copper_lantern",
+ WaxedWeatheredCopperLantern => "minecraft:waxed_weathered_copper_lantern",
+ WaxedOxidizedCopperLantern => "minecraft:waxed_oxidized_copper_lantern",
+ SweetBerries => "minecraft:sweet_berries",
+ GlowBerries => "minecraft:glow_berries",
+ Campfire => "minecraft:campfire",
+ SoulCampfire => "minecraft:soul_campfire",
+ Shroomlight => "minecraft:shroomlight",
+ Honeycomb => "minecraft:honeycomb",
+ BeeNest => "minecraft:bee_nest",
+ Beehive => "minecraft:beehive",
+ HoneyBottle => "minecraft:honey_bottle",
+ HoneycombBlock => "minecraft:honeycomb_block",
+ Lodestone => "minecraft:lodestone",
+ CryingObsidian => "minecraft:crying_obsidian",
+ Blackstone => "minecraft:blackstone",
+ BlackstoneSlab => "minecraft:blackstone_slab",
+ BlackstoneStairs => "minecraft:blackstone_stairs",
+ GildedBlackstone => "minecraft:gilded_blackstone",
+ PolishedBlackstone => "minecraft:polished_blackstone",
+ PolishedBlackstoneSlab => "minecraft:polished_blackstone_slab",
+ PolishedBlackstoneStairs => "minecraft:polished_blackstone_stairs",
+ ChiseledPolishedBlackstone => "minecraft:chiseled_polished_blackstone",
+ PolishedBlackstoneBricks => "minecraft:polished_blackstone_bricks",
+ PolishedBlackstoneBrickSlab => "minecraft:polished_blackstone_brick_slab",
+ PolishedBlackstoneBrickStairs => "minecraft:polished_blackstone_brick_stairs",
+ CrackedPolishedBlackstoneBricks => "minecraft:cracked_polished_blackstone_bricks",
+ RespawnAnchor => "minecraft:respawn_anchor",
+ Candle => "minecraft:candle",
+ WhiteCandle => "minecraft:white_candle",
+ OrangeCandle => "minecraft:orange_candle",
+ MagentaCandle => "minecraft:magenta_candle",
+ LightBlueCandle => "minecraft:light_blue_candle",
+ YellowCandle => "minecraft:yellow_candle",
+ LimeCandle => "minecraft:lime_candle",
+ PinkCandle => "minecraft:pink_candle",
+ GrayCandle => "minecraft:gray_candle",
+ LightGrayCandle => "minecraft:light_gray_candle",
+ CyanCandle => "minecraft:cyan_candle",
+ PurpleCandle => "minecraft:purple_candle",
+ BlueCandle => "minecraft:blue_candle",
+ BrownCandle => "minecraft:brown_candle",
+ GreenCandle => "minecraft:green_candle",
+ RedCandle => "minecraft:red_candle",
+ BlackCandle => "minecraft:black_candle",
+ SmallAmethystBud => "minecraft:small_amethyst_bud",
+ MediumAmethystBud => "minecraft:medium_amethyst_bud",
+ LargeAmethystBud => "minecraft:large_amethyst_bud",
+ AmethystCluster => "minecraft:amethyst_cluster",
+ PointedDripstone => "minecraft:pointed_dripstone",
+ OchreFroglight => "minecraft:ochre_froglight",
+ VerdantFroglight => "minecraft:verdant_froglight",
+ PearlescentFroglight => "minecraft:pearlescent_froglight",
+ Frogspawn => "minecraft:frogspawn",
+ EchoShard => "minecraft:echo_shard",
+ Brush => "minecraft:brush",
+ NetheriteUpgradeSmithingTemplate => "minecraft:netherite_upgrade_smithing_template",
+ SentryArmorTrimSmithingTemplate => "minecraft:sentry_armor_trim_smithing_template",
+ DuneArmorTrimSmithingTemplate => "minecraft:dune_armor_trim_smithing_template",
+ CoastArmorTrimSmithingTemplate => "minecraft:coast_armor_trim_smithing_template",
+ WildArmorTrimSmithingTemplate => "minecraft:wild_armor_trim_smithing_template",
+ WardArmorTrimSmithingTemplate => "minecraft:ward_armor_trim_smithing_template",
+ EyeArmorTrimSmithingTemplate => "minecraft:eye_armor_trim_smithing_template",
+ VexArmorTrimSmithingTemplate => "minecraft:vex_armor_trim_smithing_template",
+ TideArmorTrimSmithingTemplate => "minecraft:tide_armor_trim_smithing_template",
+ SnoutArmorTrimSmithingTemplate => "minecraft:snout_armor_trim_smithing_template",
+ RibArmorTrimSmithingTemplate => "minecraft:rib_armor_trim_smithing_template",
+ SpireArmorTrimSmithingTemplate => "minecraft:spire_armor_trim_smithing_template",
+ WayfinderArmorTrimSmithingTemplate => "minecraft:wayfinder_armor_trim_smithing_template",
+ ShaperArmorTrimSmithingTemplate => "minecraft:shaper_armor_trim_smithing_template",
+ SilenceArmorTrimSmithingTemplate => "minecraft:silence_armor_trim_smithing_template",
+ RaiserArmorTrimSmithingTemplate => "minecraft:raiser_armor_trim_smithing_template",
+ HostArmorTrimSmithingTemplate => "minecraft:host_armor_trim_smithing_template",
+ FlowArmorTrimSmithingTemplate => "minecraft:flow_armor_trim_smithing_template",
+ BoltArmorTrimSmithingTemplate => "minecraft:bolt_armor_trim_smithing_template",
+ AnglerPotterySherd => "minecraft:angler_pottery_sherd",
+ ArcherPotterySherd => "minecraft:archer_pottery_sherd",
+ ArmsUpPotterySherd => "minecraft:arms_up_pottery_sherd",
+ BladePotterySherd => "minecraft:blade_pottery_sherd",
+ BrewerPotterySherd => "minecraft:brewer_pottery_sherd",
+ BurnPotterySherd => "minecraft:burn_pottery_sherd",
+ DangerPotterySherd => "minecraft:danger_pottery_sherd",
+ ExplorerPotterySherd => "minecraft:explorer_pottery_sherd",
+ FlowPotterySherd => "minecraft:flow_pottery_sherd",
+ FriendPotterySherd => "minecraft:friend_pottery_sherd",
+ GusterPotterySherd => "minecraft:guster_pottery_sherd",
+ HeartPotterySherd => "minecraft:heart_pottery_sherd",
+ HeartbreakPotterySherd => "minecraft:heartbreak_pottery_sherd",
+ HowlPotterySherd => "minecraft:howl_pottery_sherd",
+ MinerPotterySherd => "minecraft:miner_pottery_sherd",
+ MournerPotterySherd => "minecraft:mourner_pottery_sherd",
+ PlentyPotterySherd => "minecraft:plenty_pottery_sherd",
+ PrizePotterySherd => "minecraft:prize_pottery_sherd",
+ ScrapePotterySherd => "minecraft:scrape_pottery_sherd",
+ SheafPotterySherd => "minecraft:sheaf_pottery_sherd",
+ ShelterPotterySherd => "minecraft:shelter_pottery_sherd",
+ SkullPotterySherd => "minecraft:skull_pottery_sherd",
+ SnortPotterySherd => "minecraft:snort_pottery_sherd",
+ CopperGrate => "minecraft:copper_grate",
+ ExposedCopperGrate => "minecraft:exposed_copper_grate",
+ WeatheredCopperGrate => "minecraft:weathered_copper_grate",
+ OxidizedCopperGrate => "minecraft:oxidized_copper_grate",
+ WaxedCopperGrate => "minecraft:waxed_copper_grate",
+ WaxedExposedCopperGrate => "minecraft:waxed_exposed_copper_grate",
+ WaxedWeatheredCopperGrate => "minecraft:waxed_weathered_copper_grate",
+ WaxedOxidizedCopperGrate => "minecraft:waxed_oxidized_copper_grate",
+ CopperBulb => "minecraft:copper_bulb",
+ ExposedCopperBulb => "minecraft:exposed_copper_bulb",
+ WeatheredCopperBulb => "minecraft:weathered_copper_bulb",
+ OxidizedCopperBulb => "minecraft:oxidized_copper_bulb",
+ WaxedCopperBulb => "minecraft:waxed_copper_bulb",
+ WaxedExposedCopperBulb => "minecraft:waxed_exposed_copper_bulb",
+ WaxedWeatheredCopperBulb => "minecraft:waxed_weathered_copper_bulb",
+ WaxedOxidizedCopperBulb => "minecraft:waxed_oxidized_copper_bulb",
+ CopperChest => "minecraft:copper_chest",
+ ExposedCopperChest => "minecraft:exposed_copper_chest",
+ WeatheredCopperChest => "minecraft:weathered_copper_chest",
+ OxidizedCopperChest => "minecraft:oxidized_copper_chest",
+ WaxedCopperChest => "minecraft:waxed_copper_chest",
+ WaxedExposedCopperChest => "minecraft:waxed_exposed_copper_chest",
+ WaxedWeatheredCopperChest => "minecraft:waxed_weathered_copper_chest",
+ WaxedOxidizedCopperChest => "minecraft:waxed_oxidized_copper_chest",
+ CopperGolemStatue => "minecraft:copper_golem_statue",
+ ExposedCopperGolemStatue => "minecraft:exposed_copper_golem_statue",
+ WeatheredCopperGolemStatue => "minecraft:weathered_copper_golem_statue",
+ OxidizedCopperGolemStatue => "minecraft:oxidized_copper_golem_statue",
+ WaxedCopperGolemStatue => "minecraft:waxed_copper_golem_statue",
+ WaxedExposedCopperGolemStatue => "minecraft:waxed_exposed_copper_golem_statue",
+ WaxedWeatheredCopperGolemStatue => "minecraft:waxed_weathered_copper_golem_statue",
+ WaxedOxidizedCopperGolemStatue => "minecraft:waxed_oxidized_copper_golem_statue",
+ TrialSpawner => "minecraft:trial_spawner",
+ TrialKey => "minecraft:trial_key",
+ OminousTrialKey => "minecraft:ominous_trial_key",
+ Vault => "minecraft:vault",
+ OminousBottle => "minecraft:ominous_bottle",
+}
+}
diff --git a/azalea-registry/src/data.rs b/azalea-registry/src/data.rs
index 5355ac01..75fd8439 100644
--- a/azalea-registry/src/data.rs
+++ b/azalea-registry/src/data.rs
@@ -1,38 +1,30 @@
-use azalea_buf::{AzBuf, AzaleaRead, AzaleaWrite};
+//! Definitions for data-driven registries that implement
+//! [`DataRegistry`].
+//!
+//! These registries are sent to us by the server on join.
-use crate::Registry;
+use azalea_buf::AzBuf;
-/// A registry which has its values decided by the server in the
-/// `ClientboundRegistryData` packet.
-///
-/// These can be resolved into their actual values with
-/// `ResolvableDataRegistry` from azalea-core.
-pub trait DataRegistry: AzaleaRead + AzaleaWrite {
- const NAME: &'static str;
-
- fn protocol_id(&self) -> u32;
- fn new_raw(id: u32) -> Self;
-}
-impl<T: DataRegistry> Registry for T {
- fn from_u32(value: u32) -> Option<Self> {
- Some(Self::new_raw(value))
- }
-
- fn to_u32(&self) -> u32 {
- self.protocol_id()
- }
-}
+use crate::{DataRegistry, identifier::Identifier};
macro_rules! data_registry {
- ($(#[$doc:meta])* $name:ident, $registry_name:expr) => {
+ (
+ $registry:ident => $registry_name:expr,
+ $(#[$doc:meta])*
+ enum $enum_name:ident {
+ $($variant:ident => $variant_name:expr),* $(,)?
+ }
+ ) => {
$(#[$doc])*
- #[derive(Debug, Clone, Copy, AzBuf, PartialEq, Eq, Hash)]
- pub struct $name {
+ #[derive(Debug, Clone, Copy, AzBuf, PartialEq, Eq, Hash, PartialOrd, Ord)]
+ pub struct $registry {
#[var]
id: u32,
}
- impl DataRegistry for $name {
+ impl crate::DataRegistry for $registry {
const NAME: &'static str = $registry_name;
+ type Key = $enum_name;
+
fn protocol_id(&self) -> u32 {
self.id
}
@@ -42,7 +34,7 @@ macro_rules! data_registry {
}
#[cfg(feature = "serde")]
- impl serde::Serialize for $name {
+ impl serde::Serialize for $registry {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer,
@@ -51,36 +43,130 @@ macro_rules! data_registry {
serializer.serialize_newtype_variant(concat!("minecraft:", $registry_name), self.id, "", &())
}
}
- };
-}
-// TODO: these should be represented as an enum with like a "Custom(u32)"
-// variant, this is necessary to have a correct `impl DefaultableComponent for
-// DamageType`
+ #[derive(Debug, PartialEq, Eq, Hash, Clone)]
+ pub enum $enum_name<Other = Identifier> {
+ $($variant),*,
+ Other(Other)
+ }
+ impl $enum_name {
+ /// A static slice containing all known variants of this registry
+ /// key (except of course for the `Other` variant).
+ pub const ALL: &'static [Self] = &[
+ $(
+ Self::$variant
+ ),*
+ ];
+ }
+ impl<'a> From<&'a Identifier> for $enum_name<&'a Identifier> {
+ fn from(ident: &'a Identifier) -> Self {
+ if ident.namespace() != "minecraft" { return Self::Other(ident) }
+ match ident.path() {
+ $(
+ $variant_name => Self::$variant
+ ),*,
+ _ => Self::Other(ident)
+ }
+ }
+ }
+ impl crate::DataRegistryKey for $enum_name {
+ type Borrow<'a> = $enum_name<&'a Identifier>;
-data_registry! {Enchantment, "enchantment"}
-data_registry! {DimensionType, "dimension_type"}
-data_registry! {DamageKind, "damage_kind"}
-data_registry! {Dialog, "dialog"}
+ fn into_ident(self) -> Identifier {
+ match self {
+ $(
+ Self::$variant => Identifier::new($variant_name)
+ ),*,
+ Self::Other(ident) => ident.clone()
+ }
+ }
+ }
+ impl<'a> crate::DataRegistryKeyRef<'a> for $enum_name<&'a Identifier> {
+ type Owned = $enum_name;
-// entity variants
-data_registry! {WolfSoundVariant, "wolf_sound_variant"}
-data_registry! {CowVariant, "cow_variant"}
-data_registry! {ChickenVariant, "chicken_variant"}
-data_registry! {FrogVariant, "frog_variant"}
-data_registry! {CatVariant, "cat_variant"}
-data_registry! {PigVariant, "pig_variant"}
-data_registry! {PaintingVariant, "painting_variant"}
-data_registry! {WolfVariant, "wolf_variant"}
-data_registry! {ZombieNautilusVariant, "zombie_nautilus_variant"}
+ fn to_owned(self) -> Self::Owned {
+ match self {
+ $( Self::$variant => $enum_name::$variant ),*,
+ Self::Other(ident) => $enum_name::Other(ident.clone()),
+ }
+ }
+ fn from_ident(ident: &'a Identifier) -> Self {
+ Self::from(ident)
+ }
+ fn into_ident(self) -> Identifier {
+ crate::DataRegistryKey::into_ident(self.to_owned())
+ }
+ }
+ impl From<Identifier> for $enum_name {
+ fn from(ident: Identifier) -> Self {
+ crate::DataRegistryKeyRef::to_owned(<$enum_name<&Identifier>>::from(&ident))
+ }
+ }
+ impl From<$enum_name> for Identifier {
+ fn from(registry: $enum_name) -> Self {
+ crate::DataRegistryKey::into_ident(registry)
+ }
+ }
+ impl From<$enum_name<&'_ Identifier>> for Identifier {
+ fn from(registry: $enum_name<&'_ Identifier>) -> Self {
+ crate::DataRegistryKeyRef::into_ident(registry)
+ }
+ }
+ impl simdnbt::FromNbtTag for $enum_name {
+ fn from_nbt_tag(tag: simdnbt::borrow::NbtTag) -> Option<Self> {
+ simdnbt::FromNbtTag::from_nbt_tag(tag).map(Identifier::into)
+ }
+ }
+ };
+}
data_registry! {
- /// An opaque biome identifier.
- ///
- /// You'll probably want to resolve this into its name before using it, by
- /// using `Client::with_resolved_registry` or a similar function.
- Biome,
- "worldgen/biome"
+Enchantment => "enchantment",
+enum EnchantmentKey {
+ AquaAffinity => "aqua_affinity",
+ BaneOfArthropods => "bane_of_arthropods",
+ BindingCurse => "binding_curse",
+ BlastProtection => "blast_protection",
+ Breach => "breach",
+ Channeling => "channeling",
+ Density => "density",
+ DepthStrider => "depth_strider",
+ Efficiency => "efficiency",
+ FeatherFalling => "feather_falling",
+ FireAspect => "fire_aspect",
+ FireProtection => "fire_protection",
+ Flame => "flame",
+ Fortune => "fortune",
+ FrostWalker => "frost_walker",
+ Impaling => "impaling",
+ Infinity => "infinity",
+ Knockback => "knockback",
+ Looting => "looting",
+ Loyalty => "loyalty",
+ LuckOfTheSea => "luck_of_the_sea",
+ Lunge => "lunge",
+ Lure => "lure",
+ Mending => "mending",
+ Multishot => "multishot",
+ Piercing => "piercing",
+ Power => "power",
+ ProjectileProtection => "projectile_protection",
+ Protection => "protection",
+ Punch => "punch",
+ QuickCharge => "quick_charge",
+ Respiration => "respiration",
+ Riptide => "riptide",
+ Sharpness => "sharpness",
+ SilkTouch => "silk_touch",
+ Smite => "smite",
+ SoulSpeed => "soul_speed",
+ SweepingEdge => "sweeping_edge",
+ SwiftSneak => "swift_sneak",
+ Thorns => "thorns",
+ Unbreaking => "unbreaking",
+ VanishingCurse => "vanishing_curse",
+ WindBurst => "wind_burst",
+}
}
// these extra traits are required for Biome to be allowed to be palletable
@@ -99,3 +185,1975 @@ impl From<Biome> for u32 {
biome.protocol_id()
}
}
+
+data_registry! {
+DimensionKind => "dimension_type",
+enum DimensionKindKey {
+ Overworld => "overworld",
+ OverworldCaves => "overworld_caves",
+ TheEnd => "the_end",
+ TheNether => "the_nether",
+}
+}
+
+data_registry! {
+ChatKind => "chat_type",
+enum ChatKindKey {
+ Chat => "chat",
+ EmoteCommand => "emote_command",
+ MsgCommandIncoming => "msg_command_incoming",
+ MsgCommandOutgoing => "msg_command_outgoing",
+ SayCommand => "say_command",
+ TeamMsgCommandIncoming => "team_msg_command_incoming",
+ TeamMsgCommandOutgoing => "team_msg_command_outgoing",
+}
+}
+impl<O> ChatKindKey<O> {
+ #[must_use]
+ pub fn chat_translation_key(self) -> &'static str {
+ match self {
+ Self::Chat => "chat.type.text",
+ Self::SayCommand => "chat.type.announcement",
+ Self::MsgCommandIncoming => "commands.message.display.incoming",
+ Self::MsgCommandOutgoing => "commands.message.display.outgoing",
+ Self::TeamMsgCommandIncoming => "chat.type.team.text",
+ Self::TeamMsgCommandOutgoing => "chat.type.team.sent",
+ Self::EmoteCommand => "chat.type.emote",
+ Self::Other(_) => "",
+ }
+ }
+
+ #[must_use]
+ pub fn narrator_translation_key(self) -> &'static str {
+ match self {
+ Self::EmoteCommand => "chat.type.emote",
+ _ => "chat.type.text.narrate",
+ }
+ }
+}
+
+data_registry! {
+TrimPattern => "trim_pattern",
+enum TrimPatternKey {
+ Bolt => "bolt",
+ Coast => "coast",
+ Dune => "dune",
+ Eye => "eye",
+ Flow => "flow",
+ Host => "host",
+ Raiser => "raiser",
+ Rib => "rib",
+ Sentry => "sentry",
+ Shaper => "shaper",
+ Silence => "silence",
+ Snout => "snout",
+ Spire => "spire",
+ Tide => "tide",
+ Vex => "vex",
+ Ward => "ward",
+ Wayfinder => "wayfinder",
+ Wild => "wild",
+}
+}
+
+data_registry! {
+TrimMaterial => "trim_material",
+enum TrimMaterialKey {
+ Amethyst => "amethyst",
+ Copper => "copper",
+ Diamond => "diamond",
+ Emerald => "emerald",
+ Gold => "gold",
+ Iron => "iron",
+ Lapis => "lapis",
+ Netherite => "netherite",
+ Quartz => "quartz",
+ Redstone => "redstone",
+ Resin => "resin",
+}
+}
+
+data_registry! {
+WolfVariant => "wolf_variant",
+enum WolfVariantKey {
+ Ashen => "ashen",
+ Black => "black",
+ Chestnut => "chestnut",
+ Pale => "pale",
+ Rusty => "rusty",
+ Snowy => "snowy",
+ Spotted => "spotted",
+ Striped => "striped",
+ Woods => "woods",
+}
+}
+
+data_registry! {
+WolfSoundVariant => "wolf_sound_variant",
+enum WolfSoundVariantKey {
+ Angry => "angry",
+ Big => "big",
+ Classic => "classic",
+ Cute => "cute",
+ Grumpy => "grumpy",
+ Puglin => "puglin",
+ Sad => "sad",
+}
+}
+
+data_registry! {
+PigVariant => "pig_variant",
+enum PigVariantKey {
+ Cold => "cold",
+ Temperate => "temperate",
+ Warm => "warm",
+}
+}
+
+data_registry! {
+FrogVariant => "frog_variant",
+enum FrogVariantKey {
+ Cold => "cold",
+ Temperate => "temperate",
+ Warm => "warm",
+}
+}
+
+data_registry! {
+CatVariant => "cat_variant",
+enum CatVariantKey {
+ AllBlack => "all_black",
+ Black => "black",
+ BritishShorthair => "british_shorthair",
+ Calico => "calico",
+ Jellie => "jellie",
+ Persian => "persian",
+ Ragdoll => "ragdoll",
+ Red => "red",
+ Siamese => "siamese",
+ Tabby => "tabby",
+ White => "white",
+}
+}
+
+data_registry! {
+CowVariant => "cow_variant",
+enum CowVariantKey {
+ Cold => "cold",
+ Temperate => "temperate",
+ Warm => "warm",
+}
+}
+
+data_registry! {
+ChickenVariant => "chicken_variant",
+enum ChickenVariantKey {
+ Cold => "cold",
+ Temperate => "temperate",
+ Warm => "warm",
+}
+}
+
+data_registry! {
+ZombieNautilusVariant => "zombie_nautilus_variant",
+enum ZombieNautilusVariantKey {
+ Temperate => "temperate",
+ Warm => "warm",
+}
+}
+
+data_registry! {
+PaintingVariant => "painting_variant",
+enum PaintingVariantKey {
+ Alban => "alban",
+ Aztec => "aztec",
+ Aztec2 => "aztec2",
+ Backyard => "backyard",
+ Baroque => "baroque",
+ Bomb => "bomb",
+ Bouquet => "bouquet",
+ BurningSkull => "burning_skull",
+ Bust => "bust",
+ Cavebird => "cavebird",
+ Changing => "changing",
+ Cotan => "cotan",
+ Courbet => "courbet",
+ Creebet => "creebet",
+ Dennis => "dennis",
+ DonkeyKong => "donkey_kong",
+ Earth => "earth",
+ Endboss => "endboss",
+ Fern => "fern",
+ Fighters => "fighters",
+ Finding => "finding",
+ Fire => "fire",
+ Graham => "graham",
+ Humble => "humble",
+ Kebab => "kebab",
+ Lowmist => "lowmist",
+ Match => "match",
+ Meditative => "meditative",
+ Orb => "orb",
+ Owlemons => "owlemons",
+ Passage => "passage",
+ Pigscene => "pigscene",
+ Plant => "plant",
+ Pointer => "pointer",
+ Pond => "pond",
+ Pool => "pool",
+ PrairieRide => "prairie_ride",
+ Sea => "sea",
+ Skeleton => "skeleton",
+ SkullAndRoses => "skull_and_roses",
+ Stage => "stage",
+ Sunflowers => "sunflowers",
+ Sunset => "sunset",
+ Tides => "tides",
+ Unpacked => "unpacked",
+ Void => "void",
+ Wanderer => "wanderer",
+ Wasteland => "wasteland",
+ Water => "water",
+ Wind => "wind",
+ Wither => "wither",
+}
+}
+
+data_registry! {
+DamageKind => "damage_type",
+enum DamageKindKey {
+ Arrow => "arrow",
+ BadRespawnPoint => "bad_respawn_point",
+ Cactus => "cactus",
+ Campfire => "campfire",
+ Cramming => "cramming",
+ DragonBreath => "dragon_breath",
+ Drown => "drown",
+ DryOut => "dry_out",
+ EnderPearl => "ender_pearl",
+ Explosion => "explosion",
+ Fall => "fall",
+ FallingAnvil => "falling_anvil",
+ FallingBlock => "falling_block",
+ FallingStalactite => "falling_stalactite",
+ Fireball => "fireball",
+ Fireworks => "fireworks",
+ FlyIntoWall => "fly_into_wall",
+ Freeze => "freeze",
+ Generic => "generic",
+ GenericKill => "generic_kill",
+ HotFloor => "hot_floor",
+ InFire => "in_fire",
+ InWall => "in_wall",
+ IndirectMagic => "indirect_magic",
+ Lava => "lava",
+ LightningBolt => "lightning_bolt",
+ MaceSmash => "mace_smash",
+ Magic => "magic",
+ MobAttack => "mob_attack",
+ MobAttackNoAggro => "mob_attack_no_aggro",
+ MobProjectile => "mob_projectile",
+ OnFire => "on_fire",
+ OutOfWorld => "out_of_world",
+ OutsideBorder => "outside_border",
+ PlayerAttack => "player_attack",
+ PlayerExplosion => "player_explosion",
+ SonicBoom => "sonic_boom",
+ Spear => "spear",
+ Spit => "spit",
+ Stalagmite => "stalagmite",
+ Starve => "starve",
+ Sting => "sting",
+ SweetBerryBush => "sweet_berry_bush",
+ Thorns => "thorns",
+ Thrown => "thrown",
+ Trident => "trident",
+ UnattributedFireball => "unattributed_fireball",
+ WindCharge => "wind_charge",
+ Wither => "wither",
+ WitherSkull => "wither_skull",
+}
+}
+
+data_registry! {
+BannerPattern => "banner_pattern",
+enum BannerPatternKey {
+ Base => "base",
+ Border => "border",
+ Bricks => "bricks",
+ Circle => "circle",
+ Creeper => "creeper",
+ Cross => "cross",
+ CurlyBorder => "curly_border",
+ DiagonalLeft => "diagonal_left",
+ DiagonalRight => "diagonal_right",
+ DiagonalUpLeft => "diagonal_up_left",
+ DiagonalUpRight => "diagonal_up_right",
+ Flow => "flow",
+ Flower => "flower",
+ Globe => "globe",
+ Gradient => "gradient",
+ GradientUp => "gradient_up",
+ Guster => "guster",
+ HalfHorizontal => "half_horizontal",
+ HalfHorizontalBottom => "half_horizontal_bottom",
+ HalfVertical => "half_vertical",
+ HalfVerticalRight => "half_vertical_right",
+ Mojang => "mojang",
+ Piglin => "piglin",
+ Rhombus => "rhombus",
+ Skull => "skull",
+ SmallStripes => "small_stripes",
+ SquareBottomLeft => "square_bottom_left",
+ SquareBottomRight => "square_bottom_right",
+ SquareTopLeft => "square_top_left",
+ SquareTopRight => "square_top_right",
+ StraightCross => "straight_cross",
+ StripeBottom => "stripe_bottom",
+ StripeCenter => "stripe_center",
+ StripeDownleft => "stripe_downleft",
+ StripeDownright => "stripe_downright",
+ StripeLeft => "stripe_left",
+ StripeMiddle => "stripe_middle",
+ StripeRight => "stripe_right",
+ StripeTop => "stripe_top",
+ TriangleBottom => "triangle_bottom",
+ TriangleTop => "triangle_top",
+ TrianglesBottom => "triangles_bottom",
+ TrianglesTop => "triangles_top",
+}
+}
+
+data_registry! {
+EnchantmentProvider => "enchantment_provider",
+enum EnchantmentProviderKey {
+ EndermanLootDrop => "enderman_loot_drop",
+ MobSpawnEquipment => "mob_spawn_equipment",
+ PillagerSpawnCrossbow => "pillager_spawn_crossbow",
+}
+}
+
+data_registry! {
+JukeboxSong => "jukebox_song",
+enum JukeboxSongKey {
+ _11 => "11",
+ _13 => "13",
+ _5 => "5",
+ Blocks => "blocks",
+ Cat => "cat",
+ Chirp => "chirp",
+ Creator => "creator",
+ CreatorMusicBox => "creator_music_box",
+ Far => "far",
+ LavaChicken => "lava_chicken",
+ Mall => "mall",
+ Mellohi => "mellohi",
+ Otherside => "otherside",
+ Pigstep => "pigstep",
+ Precipice => "precipice",
+ Relic => "relic",
+ Stal => "stal",
+ Strad => "strad",
+ Tears => "tears",
+ Wait => "wait",
+ Ward => "ward",
+}
+}
+
+data_registry! {
+Instrument => "instrument",
+enum InstrumentKey {
+ AdmireGoatHorn => "admire_goat_horn",
+ CallGoatHorn => "call_goat_horn",
+ DreamGoatHorn => "dream_goat_horn",
+ FeelGoatHorn => "feel_goat_horn",
+ PonderGoatHorn => "ponder_goat_horn",
+ SeekGoatHorn => "seek_goat_horn",
+ SingGoatHorn => "sing_goat_horn",
+ YearnGoatHorn => "yearn_goat_horn",
+}
+}
+
+data_registry! {
+TestEnvironment => "test_environment",
+enum TestEnvironmentKey {
+ Default => "default",
+}
+}
+
+data_registry! {
+TestInstance => "test_instance",
+enum TestInstanceKey {
+ AlwaysPass => "always_pass",
+}
+}
+
+data_registry! {
+Dialog => "dialog",
+enum DialogKey {
+ CustomOptions => "custom_options",
+ QuickActions => "quick_actions",
+ ServerLinks => "server_links",
+}
+}
+
+data_registry! {
+Timeline => "timeline",
+enum TimelineKey {
+ Day => "day",
+ EarlyGame => "early_game",
+ Moon => "moon",
+ VillagerSchedule => "villager_schedule",
+}
+}
+
+data_registry! {
+Recipe => "recipe",
+enum RecipeKey {
+ AcaciaBoat => "acacia_boat",
+ AcaciaButton => "acacia_button",
+ AcaciaChestBoat => "acacia_chest_boat",
+ AcaciaDoor => "acacia_door",
+ AcaciaFence => "acacia_fence",
+ AcaciaFenceGate => "acacia_fence_gate",
+ AcaciaHangingSign => "acacia_hanging_sign",
+ AcaciaPlanks => "acacia_planks",
+ AcaciaPressurePlate => "acacia_pressure_plate",
+ AcaciaShelf => "acacia_shelf",
+ AcaciaSign => "acacia_sign",
+ AcaciaSlab => "acacia_slab",
+ AcaciaStairs => "acacia_stairs",
+ AcaciaTrapdoor => "acacia_trapdoor",
+ AcaciaWood => "acacia_wood",
+ ActivatorRail => "activator_rail",
+ AmethystBlock => "amethyst_block",
+ Andesite => "andesite",
+ AndesiteSlab => "andesite_slab",
+ AndesiteSlabFromAndesiteStonecutting => "andesite_slab_from_andesite_stonecutting",
+ AndesiteStairs => "andesite_stairs",
+ AndesiteStairsFromAndesiteStonecutting => "andesite_stairs_from_andesite_stonecutting",
+ AndesiteWall => "andesite_wall",
+ AndesiteWallFromAndesiteStonecutting => "andesite_wall_from_andesite_stonecutting",
+ Anvil => "anvil",
+ ArmorDye => "armor_dye",
+ ArmorStand => "armor_stand",
+ Arrow => "arrow",
+ BakedPotato => "baked_potato",
+ BakedPotatoFromCampfireCooking => "baked_potato_from_campfire_cooking",
+ BakedPotatoFromSmoking => "baked_potato_from_smoking",
+ BambooBlock => "bamboo_block",
+ BambooButton => "bamboo_button",
+ BambooChestRaft => "bamboo_chest_raft",
+ BambooDoor => "bamboo_door",
+ BambooFence => "bamboo_fence",
+ BambooFenceGate => "bamboo_fence_gate",
+ BambooHangingSign => "bamboo_hanging_sign",
+ BambooMosaic => "bamboo_mosaic",
+ BambooMosaicSlab => "bamboo_mosaic_slab",
+ BambooMosaicStairs => "bamboo_mosaic_stairs",
+ BambooPlanks => "bamboo_planks",
+ BambooPressurePlate => "bamboo_pressure_plate",
+ BambooRaft => "bamboo_raft",
+ BambooShelf => "bamboo_shelf",
+ BambooSign => "bamboo_sign",
+ BambooSlab => "bamboo_slab",
+ BambooStairs => "bamboo_stairs",
+ BambooTrapdoor => "bamboo_trapdoor",
+ BannerDuplicate => "banner_duplicate",
+ Barrel => "barrel",
+ Beacon => "beacon",
+ Beehive => "beehive",
+ BeetrootSoup => "beetroot_soup",
+ BirchBoat => "birch_boat",
+ BirchButton => "birch_button",
+ BirchChestBoat => "birch_chest_boat",
+ BirchDoor => "birch_door",
+ BirchFence => "birch_fence",
+ BirchFenceGate => "birch_fence_gate",
+ BirchHangingSign => "birch_hanging_sign",
+ BirchPlanks => "birch_planks",
+ BirchPressurePlate => "birch_pressure_plate",
+ BirchShelf => "birch_shelf",
+ BirchSign => "birch_sign",
+ BirchSlab => "birch_slab",
+ BirchStairs => "birch_stairs",
+ BirchTrapdoor => "birch_trapdoor",
+ BirchWood => "birch_wood",
+ BlackBanner => "black_banner",
+ BlackBed => "black_bed",
+ BlackBundle => "black_bundle",
+ BlackCandle => "black_candle",
+ BlackCarpet => "black_carpet",
+ BlackConcretePowder => "black_concrete_powder",
+ BlackDye => "black_dye",
+ BlackDyeFromWitherRose => "black_dye_from_wither_rose",
+ BlackGlazedTerracotta => "black_glazed_terracotta",
+ BlackHarness => "black_harness",
+ BlackShulkerBox => "black_shulker_box",
+ BlackStainedGlass => "black_stained_glass",
+ BlackStainedGlassPane => "black_stained_glass_pane",
+ BlackStainedGlassPaneFromGlassPane => "black_stained_glass_pane_from_glass_pane",
+ BlackTerracotta => "black_terracotta",
+ BlackstoneSlab => "blackstone_slab",
+ BlackstoneSlabFromBlackstoneStonecutting => "blackstone_slab_from_blackstone_stonecutting",
+ BlackstoneStairs => "blackstone_stairs",
+ BlackstoneStairsFromBlackstoneStonecutting => "blackstone_stairs_from_blackstone_stonecutting",
+ BlackstoneWall => "blackstone_wall",
+ BlackstoneWallFromBlackstoneStonecutting => "blackstone_wall_from_blackstone_stonecutting",
+ BlastFurnace => "blast_furnace",
+ BlazePowder => "blaze_powder",
+ BlueBanner => "blue_banner",
+ BlueBed => "blue_bed",
+ BlueBundle => "blue_bundle",
+ BlueCandle => "blue_candle",
+ BlueCarpet => "blue_carpet",
+ BlueConcretePowder => "blue_concrete_powder",
+ BlueDye => "blue_dye",
+ BlueDyeFromCornflower => "blue_dye_from_cornflower",
+ BlueGlazedTerracotta => "blue_glazed_terracotta",
+ BlueHarness => "blue_harness",
+ BlueIce => "blue_ice",
+ BlueShulkerBox => "blue_shulker_box",
+ BlueStainedGlass => "blue_stained_glass",
+ BlueStainedGlassPane => "blue_stained_glass_pane",
+ BlueStainedGlassPaneFromGlassPane => "blue_stained_glass_pane_from_glass_pane",
+ BlueTerracotta => "blue_terracotta",
+ BoltArmorTrimSmithingTemplate => "bolt_armor_trim_smithing_template",
+ BoltArmorTrimSmithingTemplateSmithingTrim => "bolt_armor_trim_smithing_template_smithing_trim",
+ BoneBlock => "bone_block",
+ BoneMeal => "bone_meal",
+ BoneMealFromBoneBlock => "bone_meal_from_bone_block",
+ Book => "book",
+ BookCloning => "book_cloning",
+ Bookshelf => "bookshelf",
+ BordureIndentedBannerPattern => "bordure_indented_banner_pattern",
+ Bow => "bow",
+ Bowl => "bowl",
+ Bread => "bread",
+ BrewingStand => "brewing_stand",
+ Brick => "brick",
+ BrickSlab => "brick_slab",
+ BrickSlabFromBricksStonecutting => "brick_slab_from_bricks_stonecutting",
+ BrickStairs => "brick_stairs",
+ BrickStairsFromBricksStonecutting => "brick_stairs_from_bricks_stonecutting",
+ BrickWall => "brick_wall",
+ BrickWallFromBricksStonecutting => "brick_wall_from_bricks_stonecutting",
+ Bricks => "bricks",
+ BrownBanner => "brown_banner",
+ BrownBed => "brown_bed",
+ BrownBundle => "brown_bundle",
+ BrownCandle => "brown_candle",
+ BrownCarpet => "brown_carpet",
+ BrownConcretePowder => "brown_concrete_powder",
+ BrownDye => "brown_dye",
+ BrownGlazedTerracotta => "brown_glazed_terracotta",
+ BrownHarness => "brown_harness",
+ BrownShulkerBox => "brown_shulker_box",
+ BrownStainedGlass => "brown_stained_glass",
+ BrownStainedGlassPane => "brown_stained_glass_pane",
+ BrownStainedGlassPaneFromGlassPane => "brown_stained_glass_pane_from_glass_pane",
+ BrownTerracotta => "brown_terracotta",
+ Brush => "brush",
+ Bucket => "bucket",
+ Bundle => "bundle",
+ Cake => "cake",
+ CalibratedSculkSensor => "calibrated_sculk_sensor",
+ Campfire => "campfire",
+ Candle => "candle",
+ CarrotOnAStick => "carrot_on_a_stick",
+ CartographyTable => "cartography_table",
+ Cauldron => "cauldron",
+ Charcoal => "charcoal",
+ CherryBoat => "cherry_boat",
+ CherryButton => "cherry_button",
+ CherryChestBoat => "cherry_chest_boat",
+ CherryDoor => "cherry_door",
+ CherryFence => "cherry_fence",
+ CherryFenceGate => "cherry_fence_gate",
+ CherryHangingSign => "cherry_hanging_sign",
+ CherryPlanks => "cherry_planks",
+ CherryPressurePlate => "cherry_pressure_plate",
+ CherryShelf => "cherry_shelf",
+ CherrySign => "cherry_sign",
+ CherrySlab => "cherry_slab",
+ CherryStairs => "cherry_stairs",
+ CherryTrapdoor => "cherry_trapdoor",
+ CherryWood => "cherry_wood",
+ Chest => "chest",
+ ChestMinecart => "chest_minecart",
+ ChiseledBookshelf => "chiseled_bookshelf",
+ ChiseledCopper => "chiseled_copper",
+ ChiseledCopperFromCopperBlockStonecutting => "chiseled_copper_from_copper_block_stonecutting",
+ ChiseledCopperFromCutCopperStonecutting => "chiseled_copper_from_cut_copper_stonecutting",
+ ChiseledDeepslate => "chiseled_deepslate",
+ ChiseledDeepslateFromCobbledDeepslateStonecutting => "chiseled_deepslate_from_cobbled_deepslate_stonecutting",
+ ChiseledNetherBricks => "chiseled_nether_bricks",
+ ChiseledNetherBricksFromNetherBricksStonecutting => "chiseled_nether_bricks_from_nether_bricks_stonecutting",
+ ChiseledPolishedBlackstone => "chiseled_polished_blackstone",
+ ChiseledPolishedBlackstoneFromBlackstoneStonecutting => "chiseled_polished_blackstone_from_blackstone_stonecutting",
+ ChiseledPolishedBlackstoneFromPolishedBlackstoneStonecutting => "chiseled_polished_blackstone_from_polished_blackstone_stonecutting",
+ ChiseledQuartzBlock => "chiseled_quartz_block",
+ ChiseledQuartzBlockFromQuartzBlockStonecutting => "chiseled_quartz_block_from_quartz_block_stonecutting",
+ ChiseledRedSandstone => "chiseled_red_sandstone",
+ ChiseledRedSandstoneFromRedSandstoneStonecutting => "chiseled_red_sandstone_from_red_sandstone_stonecutting",
+ ChiseledResinBricks => "chiseled_resin_bricks",
+ ChiseledResinBricksFromResinBricksStonecutting => "chiseled_resin_bricks_from_resin_bricks_stonecutting",
+ ChiseledSandstone => "chiseled_sandstone",
+ ChiseledSandstoneFromSandstoneStonecutting => "chiseled_sandstone_from_sandstone_stonecutting",
+ ChiseledStoneBricks => "chiseled_stone_bricks",
+ ChiseledStoneBricksFromStoneBricksStonecutting => "chiseled_stone_bricks_from_stone_bricks_stonecutting",
+ ChiseledStoneBricksStoneFromStonecutting => "chiseled_stone_bricks_stone_from_stonecutting",
+ ChiseledTuff => "chiseled_tuff",
+ ChiseledTuffBricks => "chiseled_tuff_bricks",
+ ChiseledTuffBricksFromPolishedTuffStonecutting => "chiseled_tuff_bricks_from_polished_tuff_stonecutting",
+ ChiseledTuffBricksFromTuffBricksStonecutting => "chiseled_tuff_bricks_from_tuff_bricks_stonecutting",
+ ChiseledTuffBricksFromTuffStonecutting => "chiseled_tuff_bricks_from_tuff_stonecutting",
+ ChiseledTuffFromTuffStonecutting => "chiseled_tuff_from_tuff_stonecutting",
+ Clay => "clay",
+ Clock => "clock",
+ Coal => "coal",
+ CoalBlock => "coal_block",
+ CoalFromBlastingCoalOre => "coal_from_blasting_coal_ore",
+ CoalFromBlastingDeepslateCoalOre => "coal_from_blasting_deepslate_coal_ore",
+ CoalFromSmeltingCoalOre => "coal_from_smelting_coal_ore",
+ CoalFromSmeltingDeepslateCoalOre => "coal_from_smelting_deepslate_coal_ore",
+ CoarseDirt => "coarse_dirt",
+ CoastArmorTrimSmithingTemplate => "coast_armor_trim_smithing_template",
+ CoastArmorTrimSmithingTemplateSmithingTrim => "coast_armor_trim_smithing_template_smithing_trim",
+ CobbledDeepslateSlab => "cobbled_deepslate_slab",
+ CobbledDeepslateSlabFromCobbledDeepslateStonecutting => "cobbled_deepslate_slab_from_cobbled_deepslate_stonecutting",
+ CobbledDeepslateStairs => "cobbled_deepslate_stairs",
+ CobbledDeepslateStairsFromCobbledDeepslateStonecutting => "cobbled_deepslate_stairs_from_cobbled_deepslate_stonecutting",
+ CobbledDeepslateWall => "cobbled_deepslate_wall",
+ CobbledDeepslateWallFromCobbledDeepslateStonecutting => "cobbled_deepslate_wall_from_cobbled_deepslate_stonecutting",
+ CobblestoneSlab => "cobblestone_slab",
+ CobblestoneSlabFromCobblestoneStonecutting => "cobblestone_slab_from_cobblestone_stonecutting",
+ CobblestoneStairs => "cobblestone_stairs",
+ CobblestoneStairsFromCobblestoneStonecutting => "cobblestone_stairs_from_cobblestone_stonecutting",
+ CobblestoneWall => "cobblestone_wall",
+ CobblestoneWallFromCobblestoneStonecutting => "cobblestone_wall_from_cobblestone_stonecutting",
+ Comparator => "comparator",
+ Compass => "compass",
+ Composter => "composter",
+ Conduit => "conduit",
+ CookedBeef => "cooked_beef",
+ CookedBeefFromCampfireCooking => "cooked_beef_from_campfire_cooking",
+ CookedBeefFromSmoking => "cooked_beef_from_smoking",
+ CookedChicken => "cooked_chicken",
+ CookedChickenFromCampfireCooking => "cooked_chicken_from_campfire_cooking",
+ CookedChickenFromSmoking => "cooked_chicken_from_smoking",
+ CookedCod => "cooked_cod",
+ CookedCodFromCampfireCooking => "cooked_cod_from_campfire_cooking",
+ CookedCodFromSmoking => "cooked_cod_from_smoking",
+ CookedMutton => "cooked_mutton",
+ CookedMuttonFromCampfireCooking => "cooked_mutton_from_campfire_cooking",
+ CookedMuttonFromSmoking => "cooked_mutton_from_smoking",
+ CookedPorkchop => "cooked_porkchop",
+ CookedPorkchopFromCampfireCooking => "cooked_porkchop_from_campfire_cooking",
+ CookedPorkchopFromSmoking => "cooked_porkchop_from_smoking",
+ CookedRabbit => "cooked_rabbit",
+ CookedRabbitFromCampfireCooking => "cooked_rabbit_from_campfire_cooking",
+ CookedRabbitFromSmoking => "cooked_rabbit_from_smoking",
+ CookedSalmon => "cooked_salmon",
+ CookedSalmonFromCampfireCooking => "cooked_salmon_from_campfire_cooking",
+ CookedSalmonFromSmoking => "cooked_salmon_from_smoking",
+ Cookie => "cookie",
+ CopperAxe => "copper_axe",
+ CopperBars => "copper_bars",
+ CopperBlock => "copper_block",
+ CopperBoots => "copper_boots",
+ CopperBulb => "copper_bulb",
+ CopperChain => "copper_chain",
+ CopperChest => "copper_chest",
+ CopperChestplate => "copper_chestplate",
+ CopperDoor => "copper_door",
+ CopperGrate => "copper_grate",
+ CopperGrateFromCopperBlockStonecutting => "copper_grate_from_copper_block_stonecutting",
+ CopperHelmet => "copper_helmet",
+ CopperHoe => "copper_hoe",
+ CopperIngot => "copper_ingot",
+ CopperIngotFromBlastingCopperOre => "copper_ingot_from_blasting_copper_ore",
+ CopperIngotFromBlastingDeepslateCopperOre => "copper_ingot_from_blasting_deepslate_copper_ore",
+ CopperIngotFromBlastingRawCopper => "copper_ingot_from_blasting_raw_copper",
+ CopperIngotFromNuggets => "copper_ingot_from_nuggets",
+ CopperIngotFromSmeltingCopperOre => "copper_ingot_from_smelting_copper_ore",
+ CopperIngotFromSmeltingDeepslateCopperOre => "copper_ingot_from_smelting_deepslate_copper_ore",
+ CopperIngotFromSmeltingRawCopper => "copper_ingot_from_smelting_raw_copper",
+ CopperIngotFromWaxedCopperBlock => "copper_ingot_from_waxed_copper_block",
+ CopperLantern => "copper_lantern",
+ CopperLeggings => "copper_leggings",
+ CopperNugget => "copper_nugget",
+ CopperNuggetFromBlasting => "copper_nugget_from_blasting",
+ CopperNuggetFromSmelting => "copper_nugget_from_smelting",
+ CopperPickaxe => "copper_pickaxe",
+ CopperShovel => "copper_shovel",
+ CopperSpear => "copper_spear",
+ CopperSword => "copper_sword",
+ CopperTorch => "copper_torch",
+ CopperTrapdoor => "copper_trapdoor",
+ CrackedDeepslateBricks => "cracked_deepslate_bricks",
+ CrackedDeepslateTiles => "cracked_deepslate_tiles",
+ CrackedNetherBricks => "cracked_nether_bricks",
+ CrackedPolishedBlackstoneBricks => "cracked_polished_blackstone_bricks",
+ CrackedStoneBricks => "cracked_stone_bricks",
+ Crafter => "crafter",
+ CraftingTable => "crafting_table",
+ CreakingHeart => "creaking_heart",
+ CreeperBannerPattern => "creeper_banner_pattern",
+ CrimsonButton => "crimson_button",
+ CrimsonDoor => "crimson_door",
+ CrimsonFence => "crimson_fence",
+ CrimsonFenceGate => "crimson_fence_gate",
+ CrimsonHangingSign => "crimson_hanging_sign",
+ CrimsonHyphae => "crimson_hyphae",
+ CrimsonPlanks => "crimson_planks",
+ CrimsonPressurePlate => "crimson_pressure_plate",
+ CrimsonShelf => "crimson_shelf",
+ CrimsonSign => "crimson_sign",
+ CrimsonSlab => "crimson_slab",
+ CrimsonStairs => "crimson_stairs",
+ CrimsonTrapdoor => "crimson_trapdoor",
+ Crossbow => "crossbow",
+ CutCopper => "cut_copper",
+ CutCopperFromCopperBlockStonecutting => "cut_copper_from_copper_block_stonecutting",
+ CutCopperSlab => "cut_copper_slab",
+ CutCopperSlabFromCopperBlockStonecutting => "cut_copper_slab_from_copper_block_stonecutting",
+ CutCopperSlabFromCutCopperStonecutting => "cut_copper_slab_from_cut_copper_stonecutting",
+ CutCopperStairs => "cut_copper_stairs",
+ CutCopperStairsFromCopperBlockStonecutting => "cut_copper_stairs_from_copper_block_stonecutting",
+ CutCopperStairsFromCutCopperStonecutting => "cut_copper_stairs_from_cut_copper_stonecutting",
+ CutRedSandstone => "cut_red_sandstone",
+ CutRedSandstoneFromRedSandstoneStonecutting => "cut_red_sandstone_from_red_sandstone_stonecutting",
+ CutRedSandstoneSlab => "cut_red_sandstone_slab",
+ CutRedSandstoneSlabFromCutRedSandstoneStonecutting => "cut_red_sandstone_slab_from_cut_red_sandstone_stonecutting",
+ CutRedSandstoneSlabFromRedSandstoneStonecutting => "cut_red_sandstone_slab_from_red_sandstone_stonecutting",
+ CutSandstone => "cut_sandstone",
+ CutSandstoneFromSandstoneStonecutting => "cut_sandstone_from_sandstone_stonecutting",
+ CutSandstoneSlab => "cut_sandstone_slab",
+ CutSandstoneSlabFromCutSandstoneStonecutting => "cut_sandstone_slab_from_cut_sandstone_stonecutting",
+ CutSandstoneSlabFromSandstoneStonecutting => "cut_sandstone_slab_from_sandstone_stonecutting",
+ CyanBanner => "cyan_banner",
+ CyanBed => "cyan_bed",
+ CyanBundle => "cyan_bundle",
+ CyanCandle => "cyan_candle",
+ CyanCarpet => "cyan_carpet",
+ CyanConcretePowder => "cyan_concrete_powder",
+ CyanDye => "cyan_dye",
+ CyanDyeFromPitcherPlant => "cyan_dye_from_pitcher_plant",
+ CyanGlazedTerracotta => "cyan_glazed_terracotta",
+ CyanHarness => "cyan_harness",
+ CyanShulkerBox => "cyan_shulker_box",
+ CyanStainedGlass => "cyan_stained_glass",
+ CyanStainedGlassPane => "cyan_stained_glass_pane",
+ CyanStainedGlassPaneFromGlassPane => "cyan_stained_glass_pane_from_glass_pane",
+ CyanTerracotta => "cyan_terracotta",
+ DarkOakBoat => "dark_oak_boat",
+ DarkOakButton => "dark_oak_button",
+ DarkOakChestBoat => "dark_oak_chest_boat",
+ DarkOakDoor => "dark_oak_door",
+ DarkOakFence => "dark_oak_fence",
+ DarkOakFenceGate => "dark_oak_fence_gate",
+ DarkOakHangingSign => "dark_oak_hanging_sign",
+ DarkOakPlanks => "dark_oak_planks",
+ DarkOakPressurePlate => "dark_oak_pressure_plate",
+ DarkOakShelf => "dark_oak_shelf",
+ DarkOakSign => "dark_oak_sign",
+ DarkOakSlab => "dark_oak_slab",
+ DarkOakStairs => "dark_oak_stairs",
+ DarkOakTrapdoor => "dark_oak_trapdoor",
+ DarkOakWood => "dark_oak_wood",
+ DarkPrismarine => "dark_prismarine",
+ DarkPrismarineSlab => "dark_prismarine_slab",
+ DarkPrismarineSlabFromDarkPrismarineStonecutting => "dark_prismarine_slab_from_dark_prismarine_stonecutting",
+ DarkPrismarineStairs => "dark_prismarine_stairs",
+ DarkPrismarineStairsFromDarkPrismarineStonecutting => "dark_prismarine_stairs_from_dark_prismarine_stonecutting",
+ DaylightDetector => "daylight_detector",
+ DecoratedPot => "decorated_pot",
+ DecoratedPotSimple => "decorated_pot_simple",
+ Deepslate => "deepslate",
+ DeepslateBrickSlab => "deepslate_brick_slab",
+ DeepslateBrickSlabFromCobbledDeepslateStonecutting => "deepslate_brick_slab_from_cobbled_deepslate_stonecutting",
+ DeepslateBrickSlabFromDeepslateBricksStonecutting => "deepslate_brick_slab_from_deepslate_bricks_stonecutting",
+ DeepslateBrickSlabFromPolishedDeepslateStonecutting => "deepslate_brick_slab_from_polished_deepslate_stonecutting",
+ DeepslateBrickStairs => "deepslate_brick_stairs",
+ DeepslateBrickStairsFromCobbledDeepslateStonecutting => "deepslate_brick_stairs_from_cobbled_deepslate_stonecutting",
+ DeepslateBrickStairsFromDeepslateBricksStonecutting => "deepslate_brick_stairs_from_deepslate_bricks_stonecutting",
+ DeepslateBrickStairsFromPolishedDeepslateStonecutting => "deepslate_brick_stairs_from_polished_deepslate_stonecutting",
+ DeepslateBrickWall => "deepslate_brick_wall",
+ DeepslateBrickWallFromCobbledDeepslateStonecutting => "deepslate_brick_wall_from_cobbled_deepslate_stonecutting",
+ DeepslateBrickWallFromDeepslateBricksStonecutting => "deepslate_brick_wall_from_deepslate_bricks_stonecutting",
+ DeepslateBrickWallFromPolishedDeepslateStonecutting => "deepslate_brick_wall_from_polished_deepslate_stonecutting",
+ DeepslateBricks => "deepslate_bricks",
+ DeepslateBricksFromCobbledDeepslateStonecutting => "deepslate_bricks_from_cobbled_deepslate_stonecutting",
+ DeepslateBricksFromPolishedDeepslateStonecutting => "deepslate_bricks_from_polished_deepslate_stonecutting",
+ DeepslateTileSlab => "deepslate_tile_slab",
+ DeepslateTileSlabFromCobbledDeepslateStonecutting => "deepslate_tile_slab_from_cobbled_deepslate_stonecutting",
+ DeepslateTileSlabFromDeepslateBricksStonecutting => "deepslate_tile_slab_from_deepslate_bricks_stonecutting",
+ DeepslateTileSlabFromDeepslateTilesStonecutting => "deepslate_tile_slab_from_deepslate_tiles_stonecutting",
+ DeepslateTileSlabFromPolishedDeepslateStonecutting => "deepslate_tile_slab_from_polished_deepslate_stonecutting",
+ DeepslateTileStairs => "deepslate_tile_stairs",
+ DeepslateTileStairsFromCobbledDeepslateStonecutting => "deepslate_tile_stairs_from_cobbled_deepslate_stonecutting",
+ DeepslateTileStairsFromDeepslateBricksStonecutting => "deepslate_tile_stairs_from_deepslate_bricks_stonecutting",
+ DeepslateTileStairsFromDeepslateTilesStonecutting => "deepslate_tile_stairs_from_deepslate_tiles_stonecutting",
+ DeepslateTileStairsFromPolishedDeepslateStonecutting => "deepslate_tile_stairs_from_polished_deepslate_stonecutting",
+ DeepslateTileWall => "deepslate_tile_wall",
+ DeepslateTileWallFromCobbledDeepslateStonecutting => "deepslate_tile_wall_from_cobbled_deepslate_stonecutting",
+ DeepslateTileWallFromDeepslateBricksStonecutting => "deepslate_tile_wall_from_deepslate_bricks_stonecutting",
+ DeepslateTileWallFromDeepslateTilesStonecutting => "deepslate_tile_wall_from_deepslate_tiles_stonecutting",
+ DeepslateTileWallFromPolishedDeepslateStonecutting => "deepslate_tile_wall_from_polished_deepslate_stonecutting",
+ DeepslateTiles => "deepslate_tiles",
+ DeepslateTilesFromCobbledDeepslateStonecutting => "deepslate_tiles_from_cobbled_deepslate_stonecutting",
+ DeepslateTilesFromDeepslateBricksStonecutting => "deepslate_tiles_from_deepslate_bricks_stonecutting",
+ DeepslateTilesFromPolishedDeepslateStonecutting => "deepslate_tiles_from_polished_deepslate_stonecutting",
+ DetectorRail => "detector_rail",
+ Diamond => "diamond",
+ DiamondAxe => "diamond_axe",
+ DiamondBlock => "diamond_block",
+ DiamondBoots => "diamond_boots",
+ DiamondChestplate => "diamond_chestplate",
+ DiamondFromBlastingDeepslateDiamondOre => "diamond_from_blasting_deepslate_diamond_ore",
+ DiamondFromBlastingDiamondOre => "diamond_from_blasting_diamond_ore",
+ DiamondFromSmeltingDeepslateDiamondOre => "diamond_from_smelting_deepslate_diamond_ore",
+ DiamondFromSmeltingDiamondOre => "diamond_from_smelting_diamond_ore",
+ DiamondHelmet => "diamond_helmet",
+ DiamondHoe => "diamond_hoe",
+ DiamondLeggings => "diamond_leggings",
+ DiamondPickaxe => "diamond_pickaxe",
+ DiamondShovel => "diamond_shovel",
+ DiamondSpear => "diamond_spear",
+ DiamondSword => "diamond_sword",
+ Diorite => "diorite",
+ DioriteSlab => "diorite_slab",
+ DioriteSlabFromDioriteStonecutting => "diorite_slab_from_diorite_stonecutting",
+ DioriteStairs => "diorite_stairs",
+ DioriteStairsFromDioriteStonecutting => "diorite_stairs_from_diorite_stonecutting",
+ DioriteWall => "diorite_wall",
+ DioriteWallFromDioriteStonecutting => "diorite_wall_from_diorite_stonecutting",
+ Dispenser => "dispenser",
+ DriedGhast => "dried_ghast",
+ DriedKelp => "dried_kelp",
+ DriedKelpBlock => "dried_kelp_block",
+ DriedKelpFromCampfireCooking => "dried_kelp_from_campfire_cooking",
+ DriedKelpFromSmelting => "dried_kelp_from_smelting",
+ DriedKelpFromSmoking => "dried_kelp_from_smoking",
+ DripstoneBlock => "dripstone_block",
+ Dropper => "dropper",
+ DuneArmorTrimSmithingTemplate => "dune_armor_trim_smithing_template",
+ DuneArmorTrimSmithingTemplateSmithingTrim => "dune_armor_trim_smithing_template_smithing_trim",
+ DyeBlackBed => "dye_black_bed",
+ DyeBlackCarpet => "dye_black_carpet",
+ DyeBlackHarness => "dye_black_harness",
+ DyeBlackWool => "dye_black_wool",
+ DyeBlueBed => "dye_blue_bed",
+ DyeBlueCarpet => "dye_blue_carpet",
+ DyeBlueHarness => "dye_blue_harness",
+ DyeBlueWool => "dye_blue_wool",
+ DyeBrownBed => "dye_brown_bed",
+ DyeBrownCarpet => "dye_brown_carpet",
+ DyeBrownHarness => "dye_brown_harness",
+ DyeBrownWool => "dye_brown_wool",
+ DyeCyanBed => "dye_cyan_bed",
+ DyeCyanCarpet => "dye_cyan_carpet",
+ DyeCyanHarness => "dye_cyan_harness",
+ DyeCyanWool => "dye_cyan_wool",
+ DyeGrayBed => "dye_gray_bed",
+ DyeGrayCarpet => "dye_gray_carpet",
+ DyeGrayHarness => "dye_gray_harness",
+ DyeGrayWool => "dye_gray_wool",
+ DyeGreenBed => "dye_green_bed",
+ DyeGreenCarpet => "dye_green_carpet",
+ DyeGreenHarness => "dye_green_harness",
+ DyeGreenWool => "dye_green_wool",
+ DyeLightBlueBed => "dye_light_blue_bed",
+ DyeLightBlueCarpet => "dye_light_blue_carpet",
+ DyeLightBlueHarness => "dye_light_blue_harness",
+ DyeLightBlueWool => "dye_light_blue_wool",
+ DyeLightGrayBed => "dye_light_gray_bed",
+ DyeLightGrayCarpet => "dye_light_gray_carpet",
+ DyeLightGrayHarness => "dye_light_gray_harness",
+ DyeLightGrayWool => "dye_light_gray_wool",
+ DyeLimeBed => "dye_lime_bed",
+ DyeLimeCarpet => "dye_lime_carpet",
+ DyeLimeHarness => "dye_lime_harness",
+ DyeLimeWool => "dye_lime_wool",
+ DyeMagentaBed => "dye_magenta_bed",
+ DyeMagentaCarpet => "dye_magenta_carpet",
+ DyeMagentaHarness => "dye_magenta_harness",
+ DyeMagentaWool => "dye_magenta_wool",
+ DyeOrangeBed => "dye_orange_bed",
+ DyeOrangeCarpet => "dye_orange_carpet",
+ DyeOrangeHarness => "dye_orange_harness",
+ DyeOrangeWool => "dye_orange_wool",
+ DyePinkBed => "dye_pink_bed",
+ DyePinkCarpet => "dye_pink_carpet",
+ DyePinkHarness => "dye_pink_harness",
+ DyePinkWool => "dye_pink_wool",
+ DyePurpleBed => "dye_purple_bed",
+ DyePurpleCarpet => "dye_purple_carpet",
+ DyePurpleHarness => "dye_purple_harness",
+ DyePurpleWool => "dye_purple_wool",
+ DyeRedBed => "dye_red_bed",
+ DyeRedCarpet => "dye_red_carpet",
+ DyeRedHarness => "dye_red_harness",
+ DyeRedWool => "dye_red_wool",
+ DyeWhiteBed => "dye_white_bed",
+ DyeWhiteCarpet => "dye_white_carpet",
+ DyeWhiteHarness => "dye_white_harness",
+ DyeWhiteWool => "dye_white_wool",
+ DyeYellowBed => "dye_yellow_bed",
+ DyeYellowCarpet => "dye_yellow_carpet",
+ DyeYellowHarness => "dye_yellow_harness",
+ DyeYellowWool => "dye_yellow_wool",
+ Emerald => "emerald",
+ EmeraldBlock => "emerald_block",
+ EmeraldFromBlastingDeepslateEmeraldOre => "emerald_from_blasting_deepslate_emerald_ore",
+ EmeraldFromBlastingEmeraldOre => "emerald_from_blasting_emerald_ore",
+ EmeraldFromSmeltingDeepslateEmeraldOre => "emerald_from_smelting_deepslate_emerald_ore",
+ EmeraldFromSmeltingEmeraldOre => "emerald_from_smelting_emerald_ore",
+ EnchantingTable => "enchanting_table",
+ EndCrystal => "end_crystal",
+ EndRod => "end_rod",
+ EndStoneBrickSlab => "end_stone_brick_slab",
+ EndStoneBrickSlabFromEndStoneBrickStonecutting => "end_stone_brick_slab_from_end_stone_brick_stonecutting",
+ EndStoneBrickSlabFromEndStoneStonecutting => "end_stone_brick_slab_from_end_stone_stonecutting",
+ EndStoneBrickStairs => "end_stone_brick_stairs",
+ EndStoneBrickStairsFromEndStoneBrickStonecutting => "end_stone_brick_stairs_from_end_stone_brick_stonecutting",
+ EndStoneBrickStairsFromEndStoneStonecutting => "end_stone_brick_stairs_from_end_stone_stonecutting",
+ EndStoneBrickWall => "end_stone_brick_wall",
+ EndStoneBrickWallFromEndStoneBrickStonecutting => "end_stone_brick_wall_from_end_stone_brick_stonecutting",
+ EndStoneBrickWallFromEndStoneStonecutting => "end_stone_brick_wall_from_end_stone_stonecutting",
+ EndStoneBricks => "end_stone_bricks",
+ EndStoneBricksFromEndStoneStonecutting => "end_stone_bricks_from_end_stone_stonecutting",
+ EnderChest => "ender_chest",
+ EnderEye => "ender_eye",
+ ExposedChiseledCopper => "exposed_chiseled_copper",
+ ExposedChiseledCopperFromExposedCopperStonecutting => "exposed_chiseled_copper_from_exposed_copper_stonecutting",
+ ExposedChiseledCopperFromExposedCutCopperStonecutting => "exposed_chiseled_copper_from_exposed_cut_copper_stonecutting",
+ ExposedCopperBulb => "exposed_copper_bulb",
+ ExposedCopperGrate => "exposed_copper_grate",
+ ExposedCopperGrateFromExposedCopperStonecutting => "exposed_copper_grate_from_exposed_copper_stonecutting",
+ ExposedCutCopper => "exposed_cut_copper",
+ ExposedCutCopperFromExposedCopperStonecutting => "exposed_cut_copper_from_exposed_copper_stonecutting",
+ ExposedCutCopperSlab => "exposed_cut_copper_slab",
+ ExposedCutCopperSlabFromExposedCopperStonecutting => "exposed_cut_copper_slab_from_exposed_copper_stonecutting",
+ ExposedCutCopperSlabFromExposedCutCopperStonecutting => "exposed_cut_copper_slab_from_exposed_cut_copper_stonecutting",
+ ExposedCutCopperStairs => "exposed_cut_copper_stairs",
+ ExposedCutCopperStairsFromExposedCopperStonecutting => "exposed_cut_copper_stairs_from_exposed_copper_stonecutting",
+ ExposedCutCopperStairsFromExposedCutCopperStonecutting => "exposed_cut_copper_stairs_from_exposed_cut_copper_stonecutting",
+ EyeArmorTrimSmithingTemplate => "eye_armor_trim_smithing_template",
+ EyeArmorTrimSmithingTemplateSmithingTrim => "eye_armor_trim_smithing_template_smithing_trim",
+ FermentedSpiderEye => "fermented_spider_eye",
+ FieldMasonedBannerPattern => "field_masoned_banner_pattern",
+ FireCharge => "fire_charge",
+ FireworkRocket => "firework_rocket",
+ FireworkRocketSimple => "firework_rocket_simple",
+ FireworkStar => "firework_star",
+ FireworkStarFade => "firework_star_fade",
+ FishingRod => "fishing_rod",
+ FletchingTable => "fletching_table",
+ FlintAndSteel => "flint_and_steel",
+ FlowArmorTrimSmithingTemplate => "flow_armor_trim_smithing_template",
+ FlowArmorTrimSmithingTemplateSmithingTrim => "flow_armor_trim_smithing_template_smithing_trim",
+ FlowerBannerPattern => "flower_banner_pattern",
+ FlowerPot => "flower_pot",
+ Furnace => "furnace",
+ FurnaceMinecart => "furnace_minecart",
+ Glass => "glass",
+ GlassBottle => "glass_bottle",
+ GlassPane => "glass_pane",
+ GlisteringMelonSlice => "glistering_melon_slice",
+ GlowItemFrame => "glow_item_frame",
+ Glowstone => "glowstone",
+ GoldBlock => "gold_block",
+ GoldIngotFromBlastingDeepslateGoldOre => "gold_ingot_from_blasting_deepslate_gold_ore",
+ GoldIngotFromBlastingGoldOre => "gold_ingot_from_blasting_gold_ore",
+ GoldIngotFromBlastingNetherGoldOre => "gold_ingot_from_blasting_nether_gold_ore",
+ GoldIngotFromBlastingRawGold => "gold_ingot_from_blasting_raw_gold",
+ GoldIngotFromGoldBlock => "gold_ingot_from_gold_block",
+ GoldIngotFromNuggets => "gold_ingot_from_nuggets",
+ GoldIngotFromSmeltingDeepslateGoldOre => "gold_ingot_from_smelting_deepslate_gold_ore",
+ GoldIngotFromSmeltingGoldOre => "gold_ingot_from_smelting_gold_ore",
+ GoldIngotFromSmeltingNetherGoldOre => "gold_ingot_from_smelting_nether_gold_ore",
+ GoldIngotFromSmeltingRawGold => "gold_ingot_from_smelting_raw_gold",
+ GoldNugget => "gold_nugget",
+ GoldNuggetFromBlasting => "gold_nugget_from_blasting",
+ GoldNuggetFromSmelting => "gold_nugget_from_smelting",
+ GoldenApple => "golden_apple",
+ GoldenAxe => "golden_axe",
+ GoldenBoots => "golden_boots",
+ GoldenCarrot => "golden_carrot",
+ GoldenChestplate => "golden_chestplate",
+ GoldenHelmet => "golden_helmet",
+ GoldenHoe => "golden_hoe",
+ GoldenLeggings => "golden_leggings",
+ GoldenPickaxe => "golden_pickaxe",
+ GoldenShovel => "golden_shovel",
+ GoldenSpear => "golden_spear",
+ GoldenSword => "golden_sword",
+ Granite => "granite",
+ GraniteSlab => "granite_slab",
+ GraniteSlabFromGraniteStonecutting => "granite_slab_from_granite_stonecutting",
+ GraniteStairs => "granite_stairs",
+ GraniteStairsFromGraniteStonecutting => "granite_stairs_from_granite_stonecutting",
+ GraniteWall => "granite_wall",
+ GraniteWallFromGraniteStonecutting => "granite_wall_from_granite_stonecutting",
+ GrayBanner => "gray_banner",
+ GrayBed => "gray_bed",
+ GrayBundle => "gray_bundle",
+ GrayCandle => "gray_candle",
+ GrayCarpet => "gray_carpet",
+ GrayConcretePowder => "gray_concrete_powder",
+ GrayDye => "gray_dye",
+ GrayDyeFromClosedEyeblossom => "gray_dye_from_closed_eyeblossom",
+ GrayGlazedTerracotta => "gray_glazed_terracotta",
+ GrayHarness => "gray_harness",
+ GrayShulkerBox => "gray_shulker_box",
+ GrayStainedGlass => "gray_stained_glass",
+ GrayStainedGlassPane => "gray_stained_glass_pane",
+ GrayStainedGlassPaneFromGlassPane => "gray_stained_glass_pane_from_glass_pane",
+ GrayTerracotta => "gray_terracotta",
+ GreenBanner => "green_banner",
+ GreenBed => "green_bed",
+ GreenBundle => "green_bundle",
+ GreenCandle => "green_candle",
+ GreenCarpet => "green_carpet",
+ GreenConcretePowder => "green_concrete_powder",
+ GreenDye => "green_dye",
+ GreenGlazedTerracotta => "green_glazed_terracotta",
+ GreenHarness => "green_harness",
+ GreenShulkerBox => "green_shulker_box",
+ GreenStainedGlass => "green_stained_glass",
+ GreenStainedGlassPane => "green_stained_glass_pane",
+ GreenStainedGlassPaneFromGlassPane => "green_stained_glass_pane_from_glass_pane",
+ GreenTerracotta => "green_terracotta",
+ Grindstone => "grindstone",
+ HayBlock => "hay_block",
+ HeavyWeightedPressurePlate => "heavy_weighted_pressure_plate",
+ HoneyBlock => "honey_block",
+ HoneyBottle => "honey_bottle",
+ HoneycombBlock => "honeycomb_block",
+ Hopper => "hopper",
+ HopperMinecart => "hopper_minecart",
+ HostArmorTrimSmithingTemplate => "host_armor_trim_smithing_template",
+ HostArmorTrimSmithingTemplateSmithingTrim => "host_armor_trim_smithing_template_smithing_trim",
+ IronAxe => "iron_axe",
+ IronBars => "iron_bars",
+ IronBlock => "iron_block",
+ IronBoots => "iron_boots",
+ IronChain => "iron_chain",
+ IronChestplate => "iron_chestplate",
+ IronDoor => "iron_door",
+ IronHelmet => "iron_helmet",
+ IronHoe => "iron_hoe",
+ IronIngotFromBlastingDeepslateIronOre => "iron_ingot_from_blasting_deepslate_iron_ore",
+ IronIngotFromBlastingIronOre => "iron_ingot_from_blasting_iron_ore",
+ IronIngotFromBlastingRawIron => "iron_ingot_from_blasting_raw_iron",
+ IronIngotFromIronBlock => "iron_ingot_from_iron_block",
+ IronIngotFromNuggets => "iron_ingot_from_nuggets",
+ IronIngotFromSmeltingDeepslateIronOre => "iron_ingot_from_smelting_deepslate_iron_ore",
+ IronIngotFromSmeltingIronOre => "iron_ingot_from_smelting_iron_ore",
+ IronIngotFromSmeltingRawIron => "iron_ingot_from_smelting_raw_iron",
+ IronLeggings => "iron_leggings",
+ IronNugget => "iron_nugget",
+ IronNuggetFromBlasting => "iron_nugget_from_blasting",
+ IronNuggetFromSmelting => "iron_nugget_from_smelting",
+ IronPickaxe => "iron_pickaxe",
+ IronShovel => "iron_shovel",
+ IronSpear => "iron_spear",
+ IronSword => "iron_sword",
+ IronTrapdoor => "iron_trapdoor",
+ ItemFrame => "item_frame",
+ JackOLantern => "jack_o_lantern",
+ Jukebox => "jukebox",
+ JungleBoat => "jungle_boat",
+ JungleButton => "jungle_button",
+ JungleChestBoat => "jungle_chest_boat",
+ JungleDoor => "jungle_door",
+ JungleFence => "jungle_fence",
+ JungleFenceGate => "jungle_fence_gate",
+ JungleHangingSign => "jungle_hanging_sign",
+ JunglePlanks => "jungle_planks",
+ JunglePressurePlate => "jungle_pressure_plate",
+ JungleShelf => "jungle_shelf",
+ JungleSign => "jungle_sign",
+ JungleSlab => "jungle_slab",
+ JungleStairs => "jungle_stairs",
+ JungleTrapdoor => "jungle_trapdoor",
+ JungleWood => "jungle_wood",
+ Ladder => "ladder",
+ Lantern => "lantern",
+ LapisBlock => "lapis_block",
+ LapisLazuli => "lapis_lazuli",
+ LapisLazuliFromBlastingDeepslateLapisOre => "lapis_lazuli_from_blasting_deepslate_lapis_ore",
+ LapisLazuliFromBlastingLapisOre => "lapis_lazuli_from_blasting_lapis_ore",
+ LapisLazuliFromSmeltingDeepslateLapisOre => "lapis_lazuli_from_smelting_deepslate_lapis_ore",
+ LapisLazuliFromSmeltingLapisOre => "lapis_lazuli_from_smelting_lapis_ore",
+ Lead => "lead",
+ LeafLitter => "leaf_litter",
+ Leather => "leather",
+ LeatherBoots => "leather_boots",
+ LeatherChestplate => "leather_chestplate",
+ LeatherHelmet => "leather_helmet",
+ LeatherHorseArmor => "leather_horse_armor",
+ LeatherLeggings => "leather_leggings",
+ Lectern => "lectern",
+ Lever => "lever",
+ LightBlueBanner => "light_blue_banner",
+ LightBlueBed => "light_blue_bed",
+ LightBlueBundle => "light_blue_bundle",
+ LightBlueCandle => "light_blue_candle",
+ LightBlueCarpet => "light_blue_carpet",
+ LightBlueConcretePowder => "light_blue_concrete_powder",
+ LightBlueDyeFromBlueOrchid => "light_blue_dye_from_blue_orchid",
+ LightBlueDyeFromBlueWhiteDye => "light_blue_dye_from_blue_white_dye",
+ LightBlueGlazedTerracotta => "light_blue_glazed_terracotta",
+ LightBlueHarness => "light_blue_harness",
+ LightBlueShulkerBox => "light_blue_shulker_box",
+ LightBlueStainedGlass => "light_blue_stained_glass",
+ LightBlueStainedGlassPane => "light_blue_stained_glass_pane",
+ LightBlueStainedGlassPaneFromGlassPane => "light_blue_stained_glass_pane_from_glass_pane",
+ LightBlueTerracotta => "light_blue_terracotta",
+ LightGrayBanner => "light_gray_banner",
+ LightGrayBed => "light_gray_bed",
+ LightGrayBundle => "light_gray_bundle",
+ LightGrayCandle => "light_gray_candle",
+ LightGrayCarpet => "light_gray_carpet",
+ LightGrayConcretePowder => "light_gray_concrete_powder",
+ LightGrayDyeFromAzureBluet => "light_gray_dye_from_azure_bluet",
+ LightGrayDyeFromBlackWhiteDye => "light_gray_dye_from_black_white_dye",
+ LightGrayDyeFromGrayWhiteDye => "light_gray_dye_from_gray_white_dye",
+ LightGrayDyeFromOxeyeDaisy => "light_gray_dye_from_oxeye_daisy",
+ LightGrayDyeFromWhiteTulip => "light_gray_dye_from_white_tulip",
+ LightGrayGlazedTerracotta => "light_gray_glazed_terracotta",
+ LightGrayHarness => "light_gray_harness",
+ LightGrayShulkerBox => "light_gray_shulker_box",
+ LightGrayStainedGlass => "light_gray_stained_glass",
+ LightGrayStainedGlassPane => "light_gray_stained_glass_pane",
+ LightGrayStainedGlassPaneFromGlassPane => "light_gray_stained_glass_pane_from_glass_pane",
+ LightGrayTerracotta => "light_gray_terracotta",
+ LightWeightedPressurePlate => "light_weighted_pressure_plate",
+ LightningRod => "lightning_rod",
+ LimeBanner => "lime_banner",
+ LimeBed => "lime_bed",
+ LimeBundle => "lime_bundle",
+ LimeCandle => "lime_candle",
+ LimeCarpet => "lime_carpet",
+ LimeConcretePowder => "lime_concrete_powder",
+ LimeDye => "lime_dye",
+ LimeDyeFromSmelting => "lime_dye_from_smelting",
+ LimeGlazedTerracotta => "lime_glazed_terracotta",
+ LimeHarness => "lime_harness",
+ LimeShulkerBox => "lime_shulker_box",
+ LimeStainedGlass => "lime_stained_glass",
+ LimeStainedGlassPane => "lime_stained_glass_pane",
+ LimeStainedGlassPaneFromGlassPane => "lime_stained_glass_pane_from_glass_pane",
+ LimeTerracotta => "lime_terracotta",
+ Lodestone => "lodestone",
+ Loom => "loom",
+ Mace => "mace",
+ MagentaBanner => "magenta_banner",
+ MagentaBed => "magenta_bed",
+ MagentaBundle => "magenta_bundle",
+ MagentaCandle => "magenta_candle",
+ MagentaCarpet => "magenta_carpet",
+ MagentaConcretePowder => "magenta_concrete_powder",
+ MagentaDyeFromAllium => "magenta_dye_from_allium",
+ MagentaDyeFromBlueRedPink => "magenta_dye_from_blue_red_pink",
+ MagentaDyeFromBlueRedWhiteDye => "magenta_dye_from_blue_red_white_dye",
+ MagentaDyeFromLilac => "magenta_dye_from_lilac",
+ MagentaDyeFromPurpleAndPink => "magenta_dye_from_purple_and_pink",
+ MagentaGlazedTerracotta => "magenta_glazed_terracotta",
+ MagentaHarness => "magenta_harness",
+ MagentaShulkerBox => "magenta_shulker_box",
+ MagentaStainedGlass => "magenta_stained_glass",
+ MagentaStainedGlassPane => "magenta_stained_glass_pane",
+ MagentaStainedGlassPaneFromGlassPane => "magenta_stained_glass_pane_from_glass_pane",
+ MagentaTerracotta => "magenta_terracotta",
+ MagmaBlock => "magma_block",
+ MagmaCream => "magma_cream",
+ MangroveBoat => "mangrove_boat",
+ MangroveButton => "mangrove_button",
+ MangroveChestBoat => "mangrove_chest_boat",
+ MangroveDoor => "mangrove_door",
+ MangroveFence => "mangrove_fence",
+ MangroveFenceGate => "mangrove_fence_gate",
+ MangroveHangingSign => "mangrove_hanging_sign",
+ MangrovePlanks => "mangrove_planks",
+ MangrovePressurePlate => "mangrove_pressure_plate",
+ MangroveShelf => "mangrove_shelf",
+ MangroveSign => "mangrove_sign",
+ MangroveSlab => "mangrove_slab",
+ MangroveStairs => "mangrove_stairs",
+ MangroveTrapdoor => "mangrove_trapdoor",
+ MangroveWood => "mangrove_wood",
+ Map => "map",
+ MapCloning => "map_cloning",
+ MapExtending => "map_extending",
+ Melon => "melon",
+ MelonSeeds => "melon_seeds",
+ Minecart => "minecart",
+ MojangBannerPattern => "mojang_banner_pattern",
+ MossCarpet => "moss_carpet",
+ MossyCobblestoneFromMossBlock => "mossy_cobblestone_from_moss_block",
+ MossyCobblestoneFromVine => "mossy_cobblestone_from_vine",
+ MossyCobblestoneSlab => "mossy_cobblestone_slab",
+ MossyCobblestoneSlabFromMossyCobblestoneStonecutting => "mossy_cobblestone_slab_from_mossy_cobblestone_stonecutting",
+ MossyCobblestoneStairs => "mossy_cobblestone_stairs",
+ MossyCobblestoneStairsFromMossyCobblestoneStonecutting => "mossy_cobblestone_stairs_from_mossy_cobblestone_stonecutting",
+ MossyCobblestoneWall => "mossy_cobblestone_wall",
+ MossyCobblestoneWallFromMossyCobblestoneStonecutting => "mossy_cobblestone_wall_from_mossy_cobblestone_stonecutting",
+ MossyStoneBrickSlab => "mossy_stone_brick_slab",
+ MossyStoneBrickSlabFromMossyStoneBrickStonecutting => "mossy_stone_brick_slab_from_mossy_stone_brick_stonecutting",
+ MossyStoneBrickStairs => "mossy_stone_brick_stairs",
+ MossyStoneBrickStairsFromMossyStoneBrickStonecutting => "mossy_stone_brick_stairs_from_mossy_stone_brick_stonecutting",
+ MossyStoneBrickWall => "mossy_stone_brick_wall",
+ MossyStoneBrickWallFromMossyStoneBrickStonecutting => "mossy_stone_brick_wall_from_mossy_stone_brick_stonecutting",
+ MossyStoneBricksFromMossBlock => "mossy_stone_bricks_from_moss_block",
+ MossyStoneBricksFromVine => "mossy_stone_bricks_from_vine",
+ MudBrickSlab => "mud_brick_slab",
+ MudBrickSlabFromMudBricksStonecutting => "mud_brick_slab_from_mud_bricks_stonecutting",
+ MudBrickStairs => "mud_brick_stairs",
+ MudBrickStairsFromMudBricksStonecutting => "mud_brick_stairs_from_mud_bricks_stonecutting",
+ MudBrickWall => "mud_brick_wall",
+ MudBrickWallFromMudBricksStonecutting => "mud_brick_wall_from_mud_bricks_stonecutting",
+ MudBricks => "mud_bricks",
+ MuddyMangroveRoots => "muddy_mangrove_roots",
+ MushroomStew => "mushroom_stew",
+ MusicDisc5 => "music_disc_5",
+ NetherBrick => "nether_brick",
+ NetherBrickFence => "nether_brick_fence",
+ NetherBrickSlab => "nether_brick_slab",
+ NetherBrickSlabFromNetherBricksStonecutting => "nether_brick_slab_from_nether_bricks_stonecutting",
+ NetherBrickStairs => "nether_brick_stairs",
+ NetherBrickStairsFromNetherBricksStonecutting => "nether_brick_stairs_from_nether_bricks_stonecutting",
+ NetherBrickWall => "nether_brick_wall",
+ NetherBrickWallFromNetherBricksStonecutting => "nether_brick_wall_from_nether_bricks_stonecutting",
+ NetherBricks => "nether_bricks",
+ NetherWartBlock => "nether_wart_block",
+ NetheriteAxeSmithing => "netherite_axe_smithing",
+ NetheriteBlock => "netherite_block",
+ NetheriteBootsSmithing => "netherite_boots_smithing",
+ NetheriteChestplateSmithing => "netherite_chestplate_smithing",
+ NetheriteHelmetSmithing => "netherite_helmet_smithing",
+ NetheriteHoeSmithing => "netherite_hoe_smithing",
+ NetheriteHorseArmorSmithing => "netherite_horse_armor_smithing",
+ NetheriteIngot => "netherite_ingot",
+ NetheriteIngotFromNetheriteBlock => "netherite_ingot_from_netherite_block",
+ NetheriteLeggingsSmithing => "netherite_leggings_smithing",
+ NetheriteNautilusArmorSmithing => "netherite_nautilus_armor_smithing",
+ NetheritePickaxeSmithing => "netherite_pickaxe_smithing",
+ NetheriteScrap => "netherite_scrap",
+ NetheriteScrapFromBlasting => "netherite_scrap_from_blasting",
+ NetheriteShovelSmithing => "netherite_shovel_smithing",
+ NetheriteSpearSmithing => "netherite_spear_smithing",
+ NetheriteSwordSmithing => "netherite_sword_smithing",
+ NetheriteUpgradeSmithingTemplate => "netherite_upgrade_smithing_template",
+ NoteBlock => "note_block",
+ OakBoat => "oak_boat",
+ OakButton => "oak_button",
+ OakChestBoat => "oak_chest_boat",
+ OakDoor => "oak_door",
+ OakFence => "oak_fence",
+ OakFenceGate => "oak_fence_gate",
+ OakHangingSign => "oak_hanging_sign",
+ OakPlanks => "oak_planks",
+ OakPressurePlate => "oak_pressure_plate",
+ OakShelf => "oak_shelf",
+ OakSign => "oak_sign",
+ OakSlab => "oak_slab",
+ OakStairs => "oak_stairs",
+ OakTrapdoor => "oak_trapdoor",
+ OakWood => "oak_wood",
+ Observer => "observer",
+ OrangeBanner => "orange_banner",
+ OrangeBed => "orange_bed",
+ OrangeBundle => "orange_bundle",
+ OrangeCandle => "orange_candle",
+ OrangeCarpet => "orange_carpet",
+ OrangeConcretePowder => "orange_concrete_powder",
+ OrangeDyeFromOpenEyeblossom => "orange_dye_from_open_eyeblossom",
+ OrangeDyeFromOrangeTulip => "orange_dye_from_orange_tulip",
+ OrangeDyeFromRedYellow => "orange_dye_from_red_yellow",
+ OrangeDyeFromTorchflower => "orange_dye_from_torchflower",
+ OrangeGlazedTerracotta => "orange_glazed_terracotta",
+ OrangeHarness => "orange_harness",
+ OrangeShulkerBox => "orange_shulker_box",
+ OrangeStainedGlass => "orange_stained_glass",
+ OrangeStainedGlassPane => "orange_stained_glass_pane",
+ OrangeStainedGlassPaneFromGlassPane => "orange_stained_glass_pane_from_glass_pane",
+ OrangeTerracotta => "orange_terracotta",
+ OxidizedChiseledCopper => "oxidized_chiseled_copper",
+ OxidizedChiseledCopperFromOxidizedCopperStonecutting => "oxidized_chiseled_copper_from_oxidized_copper_stonecutting",
+ OxidizedChiseledCopperFromOxidizedCutCopperStonecutting => "oxidized_chiseled_copper_from_oxidized_cut_copper_stonecutting",
+ OxidizedCopperBulb => "oxidized_copper_bulb",
+ OxidizedCopperGrate => "oxidized_copper_grate",
+ OxidizedCopperGrateFromOxidizedCopperStonecutting => "oxidized_copper_grate_from_oxidized_copper_stonecutting",
+ OxidizedCutCopper => "oxidized_cut_copper",
+ OxidizedCutCopperFromOxidizedCopperStonecutting => "oxidized_cut_copper_from_oxidized_copper_stonecutting",
+ OxidizedCutCopperSlab => "oxidized_cut_copper_slab",
+ OxidizedCutCopperSlabFromOxidizedCopperStonecutting => "oxidized_cut_copper_slab_from_oxidized_copper_stonecutting",
+ OxidizedCutCopperSlabFromOxidizedCutCopperStonecutting => "oxidized_cut_copper_slab_from_oxidized_cut_copper_stonecutting",
+ OxidizedCutCopperStairs => "oxidized_cut_copper_stairs",
+ OxidizedCutCopperStairsFromOxidizedCopperStonecutting => "oxidized_cut_copper_stairs_from_oxidized_copper_stonecutting",
+ OxidizedCutCopperStairsFromOxidizedCutCopperStonecutting => "oxidized_cut_copper_stairs_from_oxidized_cut_copper_stonecutting",
+ PackedIce => "packed_ice",
+ PackedMud => "packed_mud",
+ Painting => "painting",
+ PaleMossCarpet => "pale_moss_carpet",
+ PaleOakBoat => "pale_oak_boat",
+ PaleOakButton => "pale_oak_button",
+ PaleOakChestBoat => "pale_oak_chest_boat",
+ PaleOakDoor => "pale_oak_door",
+ PaleOakFence => "pale_oak_fence",
+ PaleOakFenceGate => "pale_oak_fence_gate",
+ PaleOakHangingSign => "pale_oak_hanging_sign",
+ PaleOakPlanks => "pale_oak_planks",
+ PaleOakPressurePlate => "pale_oak_pressure_plate",
+ PaleOakShelf => "pale_oak_shelf",
+ PaleOakSign => "pale_oak_sign",
+ PaleOakSlab => "pale_oak_slab",
+ PaleOakStairs => "pale_oak_stairs",
+ PaleOakTrapdoor => "pale_oak_trapdoor",
+ PaleOakWood => "pale_oak_wood",
+ Paper => "paper",
+ PinkBanner => "pink_banner",
+ PinkBed => "pink_bed",
+ PinkBundle => "pink_bundle",
+ PinkCandle => "pink_candle",
+ PinkCarpet => "pink_carpet",
+ PinkConcretePowder => "pink_concrete_powder",
+ PinkDyeFromCactusFlower => "pink_dye_from_cactus_flower",
+ PinkDyeFromPeony => "pink_dye_from_peony",
+ PinkDyeFromPinkPetals => "pink_dye_from_pink_petals",
+ PinkDyeFromPinkTulip => "pink_dye_from_pink_tulip",
+ PinkDyeFromRedWhiteDye => "pink_dye_from_red_white_dye",
+ PinkGlazedTerracotta => "pink_glazed_terracotta",
+ PinkHarness => "pink_harness",
+ PinkShulkerBox => "pink_shulker_box",
+ PinkStainedGlass => "pink_stained_glass",
+ PinkStainedGlassPane => "pink_stained_glass_pane",
+ PinkStainedGlassPaneFromGlassPane => "pink_stained_glass_pane_from_glass_pane",
+ PinkTerracotta => "pink_terracotta",
+ Piston => "piston",
+ PolishedAndesite => "polished_andesite",
+ PolishedAndesiteFromAndesiteStonecutting => "polished_andesite_from_andesite_stonecutting",
+ PolishedAndesiteSlab => "polished_andesite_slab",
+ PolishedAndesiteSlabFromAndesiteStonecutting => "polished_andesite_slab_from_andesite_stonecutting",
+ PolishedAndesiteSlabFromPolishedAndesiteStonecutting => "polished_andesite_slab_from_polished_andesite_stonecutting",
+ PolishedAndesiteStairs => "polished_andesite_stairs",
+ PolishedAndesiteStairsFromAndesiteStonecutting => "polished_andesite_stairs_from_andesite_stonecutting",
+ PolishedAndesiteStairsFromPolishedAndesiteStonecutting => "polished_andesite_stairs_from_polished_andesite_stonecutting",
+ PolishedBasalt => "polished_basalt",
+ PolishedBasaltFromBasaltStonecutting => "polished_basalt_from_basalt_stonecutting",
+ PolishedBlackstone => "polished_blackstone",
+ PolishedBlackstoneBrickSlab => "polished_blackstone_brick_slab",
+ PolishedBlackstoneBrickSlabFromBlackstoneStonecutting => "polished_blackstone_brick_slab_from_blackstone_stonecutting",
+ PolishedBlackstoneBrickSlabFromPolishedBlackstoneBricksStonecutting => "polished_blackstone_brick_slab_from_polished_blackstone_bricks_stonecutting",
+ PolishedBlackstoneBrickSlabFromPolishedBlackstoneStonecutting => "polished_blackstone_brick_slab_from_polished_blackstone_stonecutting",
+ PolishedBlackstoneBrickStairs => "polished_blackstone_brick_stairs",
+ PolishedBlackstoneBrickStairsFromBlackstoneStonecutting => "polished_blackstone_brick_stairs_from_blackstone_stonecutting",
+ PolishedBlackstoneBrickStairsFromPolishedBlackstoneBricksStonecutting => "polished_blackstone_brick_stairs_from_polished_blackstone_bricks_stonecutting",
+ PolishedBlackstoneBrickStairsFromPolishedBlackstoneStonecutting => "polished_blackstone_brick_stairs_from_polished_blackstone_stonecutting",
+ PolishedBlackstoneBrickWall => "polished_blackstone_brick_wall",
+ PolishedBlackstoneBrickWallFromBlackstoneStonecutting => "polished_blackstone_brick_wall_from_blackstone_stonecutting",
+ PolishedBlackstoneBrickWallFromPolishedBlackstoneBricksStonecutting => "polished_blackstone_brick_wall_from_polished_blackstone_bricks_stonecutting",
+ PolishedBlackstoneBrickWallFromPolishedBlackstoneStonecutting => "polished_blackstone_brick_wall_from_polished_blackstone_stonecutting",
+ PolishedBlackstoneBricks => "polished_blackstone_bricks",
+ PolishedBlackstoneBricksFromBlackstoneStonecutting => "polished_blackstone_bricks_from_blackstone_stonecutting",
+ PolishedBlackstoneBricksFromPolishedBlackstoneStonecutting => "polished_blackstone_bricks_from_polished_blackstone_stonecutting",
+ PolishedBlackstoneButton => "polished_blackstone_button",
+ PolishedBlackstoneFromBlackstoneStonecutting => "polished_blackstone_from_blackstone_stonecutting",
+ PolishedBlackstonePressurePlate => "polished_blackstone_pressure_plate",
+ PolishedBlackstoneSlab => "polished_blackstone_slab",
+ PolishedBlackstoneSlabFromBlackstoneStonecutting => "polished_blackstone_slab_from_blackstone_stonecutting",
+ PolishedBlackstoneSlabFromPolishedBlackstoneStonecutting => "polished_blackstone_slab_from_polished_blackstone_stonecutting",
+ PolishedBlackstoneStairs => "polished_blackstone_stairs",
+ PolishedBlackstoneStairsFromBlackstoneStonecutting => "polished_blackstone_stairs_from_blackstone_stonecutting",
+ PolishedBlackstoneStairsFromPolishedBlackstoneStonecutting => "polished_blackstone_stairs_from_polished_blackstone_stonecutting",
+ PolishedBlackstoneWall => "polished_blackstone_wall",
+ PolishedBlackstoneWallFromBlackstoneStonecutting => "polished_blackstone_wall_from_blackstone_stonecutting",
+ PolishedBlackstoneWallFromPolishedBlackstoneStonecutting => "polished_blackstone_wall_from_polished_blackstone_stonecutting",
+ PolishedDeepslate => "polished_deepslate",
+ PolishedDeepslateFromCobbledDeepslateStonecutting => "polished_deepslate_from_cobbled_deepslate_stonecutting",
+ PolishedDeepslateSlab => "polished_deepslate_slab",
+ PolishedDeepslateSlabFromCobbledDeepslateStonecutting => "polished_deepslate_slab_from_cobbled_deepslate_stonecutting",
+ PolishedDeepslateSlabFromPolishedDeepslateStonecutting => "polished_deepslate_slab_from_polished_deepslate_stonecutting",
+ PolishedDeepslateStairs => "polished_deepslate_stairs",
+ PolishedDeepslateStairsFromCobbledDeepslateStonecutting => "polished_deepslate_stairs_from_cobbled_deepslate_stonecutting",
+ PolishedDeepslateStairsFromPolishedDeepslateStonecutting => "polished_deepslate_stairs_from_polished_deepslate_stonecutting",
+ PolishedDeepslateWall => "polished_deepslate_wall",
+ PolishedDeepslateWallFromCobbledDeepslateStonecutting => "polished_deepslate_wall_from_cobbled_deepslate_stonecutting",
+ PolishedDeepslateWallFromPolishedDeepslateStonecutting => "polished_deepslate_wall_from_polished_deepslate_stonecutting",
+ PolishedDiorite => "polished_diorite",
+ PolishedDioriteFromDioriteStonecutting => "polished_diorite_from_diorite_stonecutting",
+ PolishedDioriteSlab => "polished_diorite_slab",
+ PolishedDioriteSlabFromDioriteStonecutting => "polished_diorite_slab_from_diorite_stonecutting",
+ PolishedDioriteSlabFromPolishedDioriteStonecutting => "polished_diorite_slab_from_polished_diorite_stonecutting",
+ PolishedDioriteStairs => "polished_diorite_stairs",
+ PolishedDioriteStairsFromDioriteStonecutting => "polished_diorite_stairs_from_diorite_stonecutting",
+ PolishedDioriteStairsFromPolishedDioriteStonecutting => "polished_diorite_stairs_from_polished_diorite_stonecutting",
+ PolishedGranite => "polished_granite",
+ PolishedGraniteFromGraniteStonecutting => "polished_granite_from_granite_stonecutting",
+ PolishedGraniteSlab => "polished_granite_slab",
+ PolishedGraniteSlabFromGraniteStonecutting => "polished_granite_slab_from_granite_stonecutting",
+ PolishedGraniteSlabFromPolishedGraniteStonecutting => "polished_granite_slab_from_polished_granite_stonecutting",
+ PolishedGraniteStairs => "polished_granite_stairs",
+ PolishedGraniteStairsFromGraniteStonecutting => "polished_granite_stairs_from_granite_stonecutting",
+ PolishedGraniteStairsFromPolishedGraniteStonecutting => "polished_granite_stairs_from_polished_granite_stonecutting",
+ PolishedTuff => "polished_tuff",
+ PolishedTuffFromTuffStonecutting => "polished_tuff_from_tuff_stonecutting",
+ PolishedTuffSlab => "polished_tuff_slab",
+ PolishedTuffSlabFromPolishedTuffStonecutting => "polished_tuff_slab_from_polished_tuff_stonecutting",
+ PolishedTuffSlabFromTuffStonecutting => "polished_tuff_slab_from_tuff_stonecutting",
+ PolishedTuffStairs => "polished_tuff_stairs",
+ PolishedTuffStairsFromPolishedTuffStonecutting => "polished_tuff_stairs_from_polished_tuff_stonecutting",
+ PolishedTuffStairsFromTuffStonecutting => "polished_tuff_stairs_from_tuff_stonecutting",
+ PolishedTuffWall => "polished_tuff_wall",
+ PolishedTuffWallFromPolishedTuffStonecutting => "polished_tuff_wall_from_polished_tuff_stonecutting",
+ PolishedTuffWallFromTuffStonecutting => "polished_tuff_wall_from_tuff_stonecutting",
+ PoppedChorusFruit => "popped_chorus_fruit",
+ PoweredRail => "powered_rail",
+ Prismarine => "prismarine",
+ PrismarineBrickSlab => "prismarine_brick_slab",
+ PrismarineBrickSlabFromPrismarineStonecutting => "prismarine_brick_slab_from_prismarine_stonecutting",
+ PrismarineBrickStairs => "prismarine_brick_stairs",
+ PrismarineBrickStairsFromPrismarineStonecutting => "prismarine_brick_stairs_from_prismarine_stonecutting",
+ PrismarineBricks => "prismarine_bricks",
+ PrismarineSlab => "prismarine_slab",
+ PrismarineSlabFromPrismarineStonecutting => "prismarine_slab_from_prismarine_stonecutting",
+ PrismarineStairs => "prismarine_stairs",
+ PrismarineStairsFromPrismarineStonecutting => "prismarine_stairs_from_prismarine_stonecutting",
+ PrismarineWall => "prismarine_wall",
+ PrismarineWallFromPrismarineStonecutting => "prismarine_wall_from_prismarine_stonecutting",
+ PumpkinPie => "pumpkin_pie",
+ PumpkinSeeds => "pumpkin_seeds",
+ PurpleBanner => "purple_banner",
+ PurpleBed => "purple_bed",
+ PurpleBundle => "purple_bundle",
+ PurpleCandle => "purple_candle",
+ PurpleCarpet => "purple_carpet",
+ PurpleConcretePowder => "purple_concrete_powder",
+ PurpleDye => "purple_dye",
+ PurpleGlazedTerracotta => "purple_glazed_terracotta",
+ PurpleHarness => "purple_harness",
+ PurpleShulkerBox => "purple_shulker_box",
+ PurpleStainedGlass => "purple_stained_glass",
+ PurpleStainedGlassPane => "purple_stained_glass_pane",
+ PurpleStainedGlassPaneFromGlassPane => "purple_stained_glass_pane_from_glass_pane",
+ PurpleTerracotta => "purple_terracotta",
+ PurpurBlock => "purpur_block",
+ PurpurPillar => "purpur_pillar",
+ PurpurPillarFromPurpurBlockStonecutting => "purpur_pillar_from_purpur_block_stonecutting",
+ PurpurSlab => "purpur_slab",
+ PurpurSlabFromPurpurBlockStonecutting => "purpur_slab_from_purpur_block_stonecutting",
+ PurpurStairs => "purpur_stairs",
+ PurpurStairsFromPurpurBlockStonecutting => "purpur_stairs_from_purpur_block_stonecutting",
+ Quartz => "quartz",
+ QuartzBlock => "quartz_block",
+ QuartzBricks => "quartz_bricks",
+ QuartzBricksFromQuartzBlockStonecutting => "quartz_bricks_from_quartz_block_stonecutting",
+ QuartzFromBlasting => "quartz_from_blasting",
+ QuartzPillar => "quartz_pillar",
+ QuartzPillarFromQuartzBlockStonecutting => "quartz_pillar_from_quartz_block_stonecutting",
+ QuartzSlab => "quartz_slab",
+ QuartzSlabFromStonecutting => "quartz_slab_from_stonecutting",
+ QuartzStairs => "quartz_stairs",
+ QuartzStairsFromQuartzBlockStonecutting => "quartz_stairs_from_quartz_block_stonecutting",
+ RabbitStewFromBrownMushroom => "rabbit_stew_from_brown_mushroom",
+ RabbitStewFromRedMushroom => "rabbit_stew_from_red_mushroom",
+ Rail => "rail",
+ RaiserArmorTrimSmithingTemplate => "raiser_armor_trim_smithing_template",
+ RaiserArmorTrimSmithingTemplateSmithingTrim => "raiser_armor_trim_smithing_template_smithing_trim",
+ RawCopper => "raw_copper",
+ RawCopperBlock => "raw_copper_block",
+ RawGold => "raw_gold",
+ RawGoldBlock => "raw_gold_block",
+ RawIron => "raw_iron",
+ RawIronBlock => "raw_iron_block",
+ RecoveryCompass => "recovery_compass",
+ RedBanner => "red_banner",
+ RedBed => "red_bed",
+ RedBundle => "red_bundle",
+ RedCandle => "red_candle",
+ RedCarpet => "red_carpet",
+ RedConcretePowder => "red_concrete_powder",
+ RedDyeFromBeetroot => "red_dye_from_beetroot",
+ RedDyeFromPoppy => "red_dye_from_poppy",
+ RedDyeFromRoseBush => "red_dye_from_rose_bush",
+ RedDyeFromTulip => "red_dye_from_tulip",
+ RedGlazedTerracotta => "red_glazed_terracotta",
+ RedHarness => "red_harness",
+ RedNetherBrickSlab => "red_nether_brick_slab",
+ RedNetherBrickSlabFromRedNetherBricksStonecutting => "red_nether_brick_slab_from_red_nether_bricks_stonecutting",
+ RedNetherBrickStairs => "red_nether_brick_stairs",
+ RedNetherBrickStairsFromRedNetherBricksStonecutting => "red_nether_brick_stairs_from_red_nether_bricks_stonecutting",
+ RedNetherBrickWall => "red_nether_brick_wall",
+ RedNetherBrickWallFromRedNetherBricksStonecutting => "red_nether_brick_wall_from_red_nether_bricks_stonecutting",
+ RedNetherBricks => "red_nether_bricks",
+ RedSandstone => "red_sandstone",
+ RedSandstoneSlab => "red_sandstone_slab",
+ RedSandstoneSlabFromRedSandstoneStonecutting => "red_sandstone_slab_from_red_sandstone_stonecutting",
+ RedSandstoneStairs => "red_sandstone_stairs",
+ RedSandstoneStairsFromRedSandstoneStonecutting => "red_sandstone_stairs_from_red_sandstone_stonecutting",
+ RedSandstoneWall => "red_sandstone_wall",
+ RedSandstoneWallFromRedSandstoneStonecutting => "red_sandstone_wall_from_red_sandstone_stonecutting",
+ RedShulkerBox => "red_shulker_box",
+ RedStainedGlass => "red_stained_glass",
+ RedStainedGlassPane => "red_stained_glass_pane",
+ RedStainedGlassPaneFromGlassPane => "red_stained_glass_pane_from_glass_pane",
+ RedTerracotta => "red_terracotta",
+ Redstone => "redstone",
+ RedstoneBlock => "redstone_block",
+ RedstoneFromBlastingDeepslateRedstoneOre => "redstone_from_blasting_deepslate_redstone_ore",
+ RedstoneFromBlastingRedstoneOre => "redstone_from_blasting_redstone_ore",
+ RedstoneFromSmeltingDeepslateRedstoneOre => "redstone_from_smelting_deepslate_redstone_ore",
+ RedstoneFromSmeltingRedstoneOre => "redstone_from_smelting_redstone_ore",
+ RedstoneLamp => "redstone_lamp",
+ RedstoneTorch => "redstone_torch",
+ RepairItem => "repair_item",
+ Repeater => "repeater",
+ ResinBlock => "resin_block",
+ ResinBrick => "resin_brick",
+ ResinBrickSlab => "resin_brick_slab",
+ ResinBrickSlabFromResinBricksStonecutting => "resin_brick_slab_from_resin_bricks_stonecutting",
+ ResinBrickStairs => "resin_brick_stairs",
+ ResinBrickStairsFromResinBricksStonecutting => "resin_brick_stairs_from_resin_bricks_stonecutting",
+ ResinBrickWall => "resin_brick_wall",
+ ResinBrickWallFromResinBricksStonecutting => "resin_brick_wall_from_resin_bricks_stonecutting",
+ ResinBricks => "resin_bricks",
+ ResinClump => "resin_clump",
+ RespawnAnchor => "respawn_anchor",
+ RibArmorTrimSmithingTemplate => "rib_armor_trim_smithing_template",
+ RibArmorTrimSmithingTemplateSmithingTrim => "rib_armor_trim_smithing_template_smithing_trim",
+ Saddle => "saddle",
+ Sandstone => "sandstone",
+ SandstoneSlab => "sandstone_slab",
+ SandstoneSlabFromSandstoneStonecutting => "sandstone_slab_from_sandstone_stonecutting",
+ SandstoneStairs => "sandstone_stairs",
+ SandstoneStairsFromSandstoneStonecutting => "sandstone_stairs_from_sandstone_stonecutting",
+ SandstoneWall => "sandstone_wall",
+ SandstoneWallFromSandstoneStonecutting => "sandstone_wall_from_sandstone_stonecutting",
+ Scaffolding => "scaffolding",
+ SeaLantern => "sea_lantern",
+ SentryArmorTrimSmithingTemplate => "sentry_armor_trim_smithing_template",
+ SentryArmorTrimSmithingTemplateSmithingTrim => "sentry_armor_trim_smithing_template_smithing_trim",
+ ShaperArmorTrimSmithingTemplate => "shaper_armor_trim_smithing_template",
+ ShaperArmorTrimSmithingTemplateSmithingTrim => "shaper_armor_trim_smithing_template_smithing_trim",
+ Shears => "shears",
+ Shield => "shield",
+ ShieldDecoration => "shield_decoration",
+ ShulkerBox => "shulker_box",
+ SilenceArmorTrimSmithingTemplate => "silence_armor_trim_smithing_template",
+ SilenceArmorTrimSmithingTemplateSmithingTrim => "silence_armor_trim_smithing_template_smithing_trim",
+ SkullBannerPattern => "skull_banner_pattern",
+ SlimeBall => "slime_ball",
+ SlimeBlock => "slime_block",
+ SmithingTable => "smithing_table",
+ Smoker => "smoker",
+ SmoothBasalt => "smooth_basalt",
+ SmoothQuartz => "smooth_quartz",
+ SmoothQuartzSlab => "smooth_quartz_slab",
+ SmoothQuartzSlabFromSmoothQuartzStonecutting => "smooth_quartz_slab_from_smooth_quartz_stonecutting",
+ SmoothQuartzStairs => "smooth_quartz_stairs",
+ SmoothQuartzStairsFromSmoothQuartzStonecutting => "smooth_quartz_stairs_from_smooth_quartz_stonecutting",
+ SmoothRedSandstone => "smooth_red_sandstone",
+ SmoothRedSandstoneSlab => "smooth_red_sandstone_slab",
+ SmoothRedSandstoneSlabFromSmoothRedSandstoneStonecutting => "smooth_red_sandstone_slab_from_smooth_red_sandstone_stonecutting",
+ SmoothRedSandstoneStairs => "smooth_red_sandstone_stairs",
+ SmoothRedSandstoneStairsFromSmoothRedSandstoneStonecutting => "smooth_red_sandstone_stairs_from_smooth_red_sandstone_stonecutting",
+ SmoothSandstone => "smooth_sandstone",
+ SmoothSandstoneSlab => "smooth_sandstone_slab",
+ SmoothSandstoneSlabFromSmoothSandstoneStonecutting => "smooth_sandstone_slab_from_smooth_sandstone_stonecutting",
+ SmoothSandstoneStairs => "smooth_sandstone_stairs",
+ SmoothSandstoneStairsFromSmoothSandstoneStonecutting => "smooth_sandstone_stairs_from_smooth_sandstone_stonecutting",
+ SmoothStone => "smooth_stone",
+ SmoothStoneSlab => "smooth_stone_slab",
+ SmoothStoneSlabFromSmoothStoneStonecutting => "smooth_stone_slab_from_smooth_stone_stonecutting",
+ SnoutArmorTrimSmithingTemplate => "snout_armor_trim_smithing_template",
+ SnoutArmorTrimSmithingTemplateSmithingTrim => "snout_armor_trim_smithing_template_smithing_trim",
+ Snow => "snow",
+ SnowBlock => "snow_block",
+ SoulCampfire => "soul_campfire",
+ SoulLantern => "soul_lantern",
+ SoulTorch => "soul_torch",
+ SpectralArrow => "spectral_arrow",
+ SpireArmorTrimSmithingTemplate => "spire_armor_trim_smithing_template",
+ SpireArmorTrimSmithingTemplateSmithingTrim => "spire_armor_trim_smithing_template_smithing_trim",
+ Sponge => "sponge",
+ SpruceBoat => "spruce_boat",
+ SpruceButton => "spruce_button",
+ SpruceChestBoat => "spruce_chest_boat",
+ SpruceDoor => "spruce_door",
+ SpruceFence => "spruce_fence",
+ SpruceFenceGate => "spruce_fence_gate",
+ SpruceHangingSign => "spruce_hanging_sign",
+ SprucePlanks => "spruce_planks",
+ SprucePressurePlate => "spruce_pressure_plate",
+ SpruceShelf => "spruce_shelf",
+ SpruceSign => "spruce_sign",
+ SpruceSlab => "spruce_slab",
+ SpruceStairs => "spruce_stairs",
+ SpruceTrapdoor => "spruce_trapdoor",
+ SpruceWood => "spruce_wood",
+ Spyglass => "spyglass",
+ Stick => "stick",
+ StickFromBambooItem => "stick_from_bamboo_item",
+ StickyPiston => "sticky_piston",
+ Stone => "stone",
+ StoneAxe => "stone_axe",
+ StoneBrickSlab => "stone_brick_slab",
+ StoneBrickSlabFromStoneBricksStonecutting => "stone_brick_slab_from_stone_bricks_stonecutting",
+ StoneBrickSlabFromStoneStonecutting => "stone_brick_slab_from_stone_stonecutting",
+ StoneBrickStairs => "stone_brick_stairs",
+ StoneBrickStairsFromStoneBricksStonecutting => "stone_brick_stairs_from_stone_bricks_stonecutting",
+ StoneBrickStairsFromStoneStonecutting => "stone_brick_stairs_from_stone_stonecutting",
+ StoneBrickWall => "stone_brick_wall",
+ StoneBrickWallFromStoneBricksStonecutting => "stone_brick_wall_from_stone_bricks_stonecutting",
+ StoneBrickWallsFromStoneStonecutting => "stone_brick_walls_from_stone_stonecutting",
+ StoneBricks => "stone_bricks",
+ StoneBricksFromStoneStonecutting => "stone_bricks_from_stone_stonecutting",
+ StoneButton => "stone_button",
+ StoneHoe => "stone_hoe",
+ StonePickaxe => "stone_pickaxe",
+ StonePressurePlate => "stone_pressure_plate",
+ StoneShovel => "stone_shovel",
+ StoneSlab => "stone_slab",
+ StoneSlabFromStoneStonecutting => "stone_slab_from_stone_stonecutting",
+ StoneSpear => "stone_spear",
+ StoneStairs => "stone_stairs",
+ StoneStairsFromStoneStonecutting => "stone_stairs_from_stone_stonecutting",
+ StoneSword => "stone_sword",
+ Stonecutter => "stonecutter",
+ StrippedAcaciaWood => "stripped_acacia_wood",
+ StrippedBirchWood => "stripped_birch_wood",
+ StrippedCherryWood => "stripped_cherry_wood",
+ StrippedCrimsonHyphae => "stripped_crimson_hyphae",
+ StrippedDarkOakWood => "stripped_dark_oak_wood",
+ StrippedJungleWood => "stripped_jungle_wood",
+ StrippedMangroveWood => "stripped_mangrove_wood",
+ StrippedOakWood => "stripped_oak_wood",
+ StrippedPaleOakWood => "stripped_pale_oak_wood",
+ StrippedSpruceWood => "stripped_spruce_wood",
+ StrippedWarpedHyphae => "stripped_warped_hyphae",
+ SugarFromHoneyBottle => "sugar_from_honey_bottle",
+ SugarFromSugarCane => "sugar_from_sugar_cane",
+ SuspiciousStewFromAllium => "suspicious_stew_from_allium",
+ SuspiciousStewFromAzureBluet => "suspicious_stew_from_azure_bluet",
+ SuspiciousStewFromBlueOrchid => "suspicious_stew_from_blue_orchid",
+ SuspiciousStewFromClosedEyeblossom => "suspicious_stew_from_closed_eyeblossom",
+ SuspiciousStewFromCornflower => "suspicious_stew_from_cornflower",
+ SuspiciousStewFromDandelion => "suspicious_stew_from_dandelion",
+ SuspiciousStewFromLilyOfTheValley => "suspicious_stew_from_lily_of_the_valley",
+ SuspiciousStewFromOpenEyeblossom => "suspicious_stew_from_open_eyeblossom",
+ SuspiciousStewFromOrangeTulip => "suspicious_stew_from_orange_tulip",
+ SuspiciousStewFromOxeyeDaisy => "suspicious_stew_from_oxeye_daisy",
+ SuspiciousStewFromPinkTulip => "suspicious_stew_from_pink_tulip",
+ SuspiciousStewFromPoppy => "suspicious_stew_from_poppy",
+ SuspiciousStewFromRedTulip => "suspicious_stew_from_red_tulip",
+ SuspiciousStewFromTorchflower => "suspicious_stew_from_torchflower",
+ SuspiciousStewFromWhiteTulip => "suspicious_stew_from_white_tulip",
+ SuspiciousStewFromWitherRose => "suspicious_stew_from_wither_rose",
+ Target => "target",
+ Terracotta => "terracotta",
+ TideArmorTrimSmithingTemplate => "tide_armor_trim_smithing_template",
+ TideArmorTrimSmithingTemplateSmithingTrim => "tide_armor_trim_smithing_template_smithing_trim",
+ TintedGlass => "tinted_glass",
+ TippedArrow => "tipped_arrow",
+ Tnt => "tnt",
+ TntMinecart => "tnt_minecart",
+ Torch => "torch",
+ TrappedChest => "trapped_chest",
+ TripwireHook => "tripwire_hook",
+ TuffBrickSlab => "tuff_brick_slab",
+ TuffBrickSlabFromPolishedTuffStonecutting => "tuff_brick_slab_from_polished_tuff_stonecutting",
+ TuffBrickSlabFromTuffBricksStonecutting => "tuff_brick_slab_from_tuff_bricks_stonecutting",
+ TuffBrickSlabFromTuffStonecutting => "tuff_brick_slab_from_tuff_stonecutting",
+ TuffBrickStairs => "tuff_brick_stairs",
+ TuffBrickStairsFromPolishedTuffStonecutting => "tuff_brick_stairs_from_polished_tuff_stonecutting",
+ TuffBrickStairsFromTuffBricksStonecutting => "tuff_brick_stairs_from_tuff_bricks_stonecutting",
+ TuffBrickStairsFromTuffStonecutting => "tuff_brick_stairs_from_tuff_stonecutting",
+ TuffBrickWall => "tuff_brick_wall",
+ TuffBrickWallFromPolishedTuffStonecutting => "tuff_brick_wall_from_polished_tuff_stonecutting",
+ TuffBrickWallFromTuffBricksStonecutting => "tuff_brick_wall_from_tuff_bricks_stonecutting",
+ TuffBrickWallFromTuffStonecutting => "tuff_brick_wall_from_tuff_stonecutting",
+ TuffBricks => "tuff_bricks",
+ TuffBricksFromPolishedTuffStonecutting => "tuff_bricks_from_polished_tuff_stonecutting",
+ TuffBricksFromTuffStonecutting => "tuff_bricks_from_tuff_stonecutting",
+ TuffSlab => "tuff_slab",
+ TuffSlabFromTuffStonecutting => "tuff_slab_from_tuff_stonecutting",
+ TuffStairs => "tuff_stairs",
+ TuffStairsFromTuffStonecutting => "tuff_stairs_from_tuff_stonecutting",
+ TuffWall => "tuff_wall",
+ TuffWallFromTuffStonecutting => "tuff_wall_from_tuff_stonecutting",
+ TurtleHelmet => "turtle_helmet",
+ VexArmorTrimSmithingTemplate => "vex_armor_trim_smithing_template",
+ VexArmorTrimSmithingTemplateSmithingTrim => "vex_armor_trim_smithing_template_smithing_trim",
+ WardArmorTrimSmithingTemplate => "ward_armor_trim_smithing_template",
+ WardArmorTrimSmithingTemplateSmithingTrim => "ward_armor_trim_smithing_template_smithing_trim",
+ WarpedButton => "warped_button",
+ WarpedDoor => "warped_door",
+ WarpedFence => "warped_fence",
+ WarpedFenceGate => "warped_fence_gate",
+ WarpedFungusOnAStick => "warped_fungus_on_a_stick",
+ WarpedHangingSign => "warped_hanging_sign",
+ WarpedHyphae => "warped_hyphae",
+ WarpedPlanks => "warped_planks",
+ WarpedPressurePlate => "warped_pressure_plate",
+ WarpedShelf => "warped_shelf",
+ WarpedSign => "warped_sign",
+ WarpedSlab => "warped_slab",
+ WarpedStairs => "warped_stairs",
+ WarpedTrapdoor => "warped_trapdoor",
+ WaxedChiseledCopper => "waxed_chiseled_copper",
+ WaxedChiseledCopperFromHoneycomb => "waxed_chiseled_copper_from_honeycomb",
+ WaxedChiseledCopperFromWaxedCopperBlockStonecutting => "waxed_chiseled_copper_from_waxed_copper_block_stonecutting",
+ WaxedChiseledCopperFromWaxedCutCopperStonecutting => "waxed_chiseled_copper_from_waxed_cut_copper_stonecutting",
+ WaxedCopperBarsFromHoneycomb => "waxed_copper_bars_from_honeycomb",
+ WaxedCopperBlockFromHoneycomb => "waxed_copper_block_from_honeycomb",
+ WaxedCopperBulb => "waxed_copper_bulb",
+ WaxedCopperBulbFromHoneycomb => "waxed_copper_bulb_from_honeycomb",
+ WaxedCopperChainFromHoneycomb => "waxed_copper_chain_from_honeycomb",
+ WaxedCopperChestFromHoneycomb => "waxed_copper_chest_from_honeycomb",
+ WaxedCopperDoorFromHoneycomb => "waxed_copper_door_from_honeycomb",
+ WaxedCopperGolemStatueFromHoneycomb => "waxed_copper_golem_statue_from_honeycomb",
+ WaxedCopperGrate => "waxed_copper_grate",
+ WaxedCopperGrateFromHoneycomb => "waxed_copper_grate_from_honeycomb",
+ WaxedCopperGrateFromWaxedCopperBlockStonecutting => "waxed_copper_grate_from_waxed_copper_block_stonecutting",
+ WaxedCopperLanternFromHoneycomb => "waxed_copper_lantern_from_honeycomb",
+ WaxedCopperTrapdoorFromHoneycomb => "waxed_copper_trapdoor_from_honeycomb",
+ WaxedCutCopper => "waxed_cut_copper",
+ WaxedCutCopperFromHoneycomb => "waxed_cut_copper_from_honeycomb",
+ WaxedCutCopperFromWaxedCopperBlockStonecutting => "waxed_cut_copper_from_waxed_copper_block_stonecutting",
+ WaxedCutCopperSlab => "waxed_cut_copper_slab",
+ WaxedCutCopperSlabFromHoneycomb => "waxed_cut_copper_slab_from_honeycomb",
+ WaxedCutCopperSlabFromWaxedCopperBlockStonecutting => "waxed_cut_copper_slab_from_waxed_copper_block_stonecutting",
+ WaxedCutCopperSlabFromWaxedCutCopperStonecutting => "waxed_cut_copper_slab_from_waxed_cut_copper_stonecutting",
+ WaxedCutCopperStairs => "waxed_cut_copper_stairs",
+ WaxedCutCopperStairsFromHoneycomb => "waxed_cut_copper_stairs_from_honeycomb",
+ WaxedCutCopperStairsFromWaxedCopperBlockStonecutting => "waxed_cut_copper_stairs_from_waxed_copper_block_stonecutting",
+ WaxedCutCopperStairsFromWaxedCutCopperStonecutting => "waxed_cut_copper_stairs_from_waxed_cut_copper_stonecutting",
+ WaxedExposedChiseledCopper => "waxed_exposed_chiseled_copper",
+ WaxedExposedChiseledCopperFromHoneycomb => "waxed_exposed_chiseled_copper_from_honeycomb",
+ WaxedExposedChiseledCopperFromWaxedExposedCopperStonecutting => "waxed_exposed_chiseled_copper_from_waxed_exposed_copper_stonecutting",
+ WaxedExposedChiseledCopperFromWaxedExposedCutCopperStonecutting => "waxed_exposed_chiseled_copper_from_waxed_exposed_cut_copper_stonecutting",
+ WaxedExposedCopperBarsFromHoneycomb => "waxed_exposed_copper_bars_from_honeycomb",
+ WaxedExposedCopperBulb => "waxed_exposed_copper_bulb",
+ WaxedExposedCopperBulbFromHoneycomb => "waxed_exposed_copper_bulb_from_honeycomb",
+ WaxedExposedCopperChainFromHoneycomb => "waxed_exposed_copper_chain_from_honeycomb",
+ WaxedExposedCopperChestFromHoneycomb => "waxed_exposed_copper_chest_from_honeycomb",
+ WaxedExposedCopperDoorFromHoneycomb => "waxed_exposed_copper_door_from_honeycomb",
+ WaxedExposedCopperFromHoneycomb => "waxed_exposed_copper_from_honeycomb",
+ WaxedExposedCopperGolemStatueFromHoneycomb => "waxed_exposed_copper_golem_statue_from_honeycomb",
+ WaxedExposedCopperGrate => "waxed_exposed_copper_grate",
+ WaxedExposedCopperGrateFromHoneycomb => "waxed_exposed_copper_grate_from_honeycomb",
+ WaxedExposedCopperGrateFromWaxedExposedCopperStonecutting => "waxed_exposed_copper_grate_from_waxed_exposed_copper_stonecutting",
+ WaxedExposedCopperLanternFromHoneycomb => "waxed_exposed_copper_lantern_from_honeycomb",
+ WaxedExposedCopperTrapdoorFromHoneycomb => "waxed_exposed_copper_trapdoor_from_honeycomb",
+ WaxedExposedCutCopper => "waxed_exposed_cut_copper",
+ WaxedExposedCutCopperFromHoneycomb => "waxed_exposed_cut_copper_from_honeycomb",
+ WaxedExposedCutCopperFromWaxedExposedCopperStonecutting => "waxed_exposed_cut_copper_from_waxed_exposed_copper_stonecutting",
+ WaxedExposedCutCopperSlab => "waxed_exposed_cut_copper_slab",
+ WaxedExposedCutCopperSlabFromHoneycomb => "waxed_exposed_cut_copper_slab_from_honeycomb",
+ WaxedExposedCutCopperSlabFromWaxedExposedCopperStonecutting => "waxed_exposed_cut_copper_slab_from_waxed_exposed_copper_stonecutting",
+ WaxedExposedCutCopperSlabFromWaxedExposedCutCopperStonecutting => "waxed_exposed_cut_copper_slab_from_waxed_exposed_cut_copper_stonecutting",
+ WaxedExposedCutCopperStairs => "waxed_exposed_cut_copper_stairs",
+ WaxedExposedCutCopperStairsFromHoneycomb => "waxed_exposed_cut_copper_stairs_from_honeycomb",
+ WaxedExposedCutCopperStairsFromWaxedExposedCopperStonecutting => "waxed_exposed_cut_copper_stairs_from_waxed_exposed_copper_stonecutting",
+ WaxedExposedCutCopperStairsFromWaxedExposedCutCopperStonecutting => "waxed_exposed_cut_copper_stairs_from_waxed_exposed_cut_copper_stonecutting",
+ WaxedExposedLightningRodFromHoneycomb => "waxed_exposed_lightning_rod_from_honeycomb",
+ WaxedLightningRodFromHoneycomb => "waxed_lightning_rod_from_honeycomb",
+ WaxedOxidizedChiseledCopper => "waxed_oxidized_chiseled_copper",
+ WaxedOxidizedChiseledCopperFromHoneycomb => "waxed_oxidized_chiseled_copper_from_honeycomb",
+ WaxedOxidizedChiseledCopperFromWaxedOxidizedCopperStonecutting => "waxed_oxidized_chiseled_copper_from_waxed_oxidized_copper_stonecutting",
+ WaxedOxidizedChiseledCopperFromWaxedOxidizedCutCopperStonecutting => "waxed_oxidized_chiseled_copper_from_waxed_oxidized_cut_copper_stonecutting",
+ WaxedOxidizedCopperBarsFromHoneycomb => "waxed_oxidized_copper_bars_from_honeycomb",
+ WaxedOxidizedCopperBulb => "waxed_oxidized_copper_bulb",
+ WaxedOxidizedCopperBulbFromHoneycomb => "waxed_oxidized_copper_bulb_from_honeycomb",
+ WaxedOxidizedCopperChainFromHoneycomb => "waxed_oxidized_copper_chain_from_honeycomb",
+ WaxedOxidizedCopperChestFromHoneycomb => "waxed_oxidized_copper_chest_from_honeycomb",
+ WaxedOxidizedCopperDoorFromHoneycomb => "waxed_oxidized_copper_door_from_honeycomb",
+ WaxedOxidizedCopperFromHoneycomb => "waxed_oxidized_copper_from_honeycomb",
+ WaxedOxidizedCopperGolemStatueFromHoneycomb => "waxed_oxidized_copper_golem_statue_from_honeycomb",
+ WaxedOxidizedCopperGrate => "waxed_oxidized_copper_grate",
+ WaxedOxidizedCopperGrateFromHoneycomb => "waxed_oxidized_copper_grate_from_honeycomb",
+ WaxedOxidizedCopperGrateFromWaxedOxidizedCopperStonecutting => "waxed_oxidized_copper_grate_from_waxed_oxidized_copper_stonecutting",
+ WaxedOxidizedCopperLanternFromHoneycomb => "waxed_oxidized_copper_lantern_from_honeycomb",
+ WaxedOxidizedCopperTrapdoorFromHoneycomb => "waxed_oxidized_copper_trapdoor_from_honeycomb",
+ WaxedOxidizedCutCopper => "waxed_oxidized_cut_copper",
+ WaxedOxidizedCutCopperFromHoneycomb => "waxed_oxidized_cut_copper_from_honeycomb",
+ WaxedOxidizedCutCopperFromWaxedOxidizedCopperStonecutting => "waxed_oxidized_cut_copper_from_waxed_oxidized_copper_stonecutting",
+ WaxedOxidizedCutCopperSlab => "waxed_oxidized_cut_copper_slab",
+ WaxedOxidizedCutCopperSlabFromHoneycomb => "waxed_oxidized_cut_copper_slab_from_honeycomb",
+ WaxedOxidizedCutCopperSlabFromWaxedOxidizedCopperStonecutting => "waxed_oxidized_cut_copper_slab_from_waxed_oxidized_copper_stonecutting",
+ WaxedOxidizedCutCopperSlabFromWaxedOxidizedCutCopperStonecutting => "waxed_oxidized_cut_copper_slab_from_waxed_oxidized_cut_copper_stonecutting",
+ WaxedOxidizedCutCopperStairs => "waxed_oxidized_cut_copper_stairs",
+ WaxedOxidizedCutCopperStairsFromHoneycomb => "waxed_oxidized_cut_copper_stairs_from_honeycomb",
+ WaxedOxidizedCutCopperStairsFromWaxedOxidizedCopperStonecutting => "waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_copper_stonecutting",
+ WaxedOxidizedCutCopperStairsFromWaxedOxidizedCutCopperStonecutting => "waxed_oxidized_cut_copper_stairs_from_waxed_oxidized_cut_copper_stonecutting",
+ WaxedOxidizedLightningRodFromHoneycomb => "waxed_oxidized_lightning_rod_from_honeycomb",
+ WaxedWeatheredChiseledCopper => "waxed_weathered_chiseled_copper",
+ WaxedWeatheredChiseledCopperFromHoneycomb => "waxed_weathered_chiseled_copper_from_honeycomb",
+ WaxedWeatheredChiseledCopperFromWaxedWeatheredCopperStonecutting => "waxed_weathered_chiseled_copper_from_waxed_weathered_copper_stonecutting",
+ WaxedWeatheredChiseledCopperFromWaxedWeatheredCutCopperStonecutting => "waxed_weathered_chiseled_copper_from_waxed_weathered_cut_copper_stonecutting",
+ WaxedWeatheredCopperBarsFromHoneycomb => "waxed_weathered_copper_bars_from_honeycomb",
+ WaxedWeatheredCopperBulb => "waxed_weathered_copper_bulb",
+ WaxedWeatheredCopperBulbFromHoneycomb => "waxed_weathered_copper_bulb_from_honeycomb",
+ WaxedWeatheredCopperChainFromHoneycomb => "waxed_weathered_copper_chain_from_honeycomb",
+ WaxedWeatheredCopperChestFromHoneycomb => "waxed_weathered_copper_chest_from_honeycomb",
+ WaxedWeatheredCopperDoorFromHoneycomb => "waxed_weathered_copper_door_from_honeycomb",
+ WaxedWeatheredCopperFromHoneycomb => "waxed_weathered_copper_from_honeycomb",
+ WaxedWeatheredCopperGolemStatueFromHoneycomb => "waxed_weathered_copper_golem_statue_from_honeycomb",
+ WaxedWeatheredCopperGrate => "waxed_weathered_copper_grate",
+ WaxedWeatheredCopperGrateFromHoneycomb => "waxed_weathered_copper_grate_from_honeycomb",
+ WaxedWeatheredCopperGrateFromWaxedWeatheredCopperStonecutting => "waxed_weathered_copper_grate_from_waxed_weathered_copper_stonecutting",
+ WaxedWeatheredCopperLanternFromHoneycomb => "waxed_weathered_copper_lantern_from_honeycomb",
+ WaxedWeatheredCopperTrapdoorFromHoneycomb => "waxed_weathered_copper_trapdoor_from_honeycomb",
+ WaxedWeatheredCutCopper => "waxed_weathered_cut_copper",
+ WaxedWeatheredCutCopperFromHoneycomb => "waxed_weathered_cut_copper_from_honeycomb",
+ WaxedWeatheredCutCopperFromWaxedWeatheredCopperStonecutting => "waxed_weathered_cut_copper_from_waxed_weathered_copper_stonecutting",
+ WaxedWeatheredCutCopperSlab => "waxed_weathered_cut_copper_slab",
+ WaxedWeatheredCutCopperSlabFromHoneycomb => "waxed_weathered_cut_copper_slab_from_honeycomb",
+ WaxedWeatheredCutCopperSlabFromWaxedWeatheredCopperStonecutting => "waxed_weathered_cut_copper_slab_from_waxed_weathered_copper_stonecutting",
+ WaxedWeatheredCutCopperSlabFromWaxedWeatheredCutCopperStonecutting => "waxed_weathered_cut_copper_slab_from_waxed_weathered_cut_copper_stonecutting",
+ WaxedWeatheredCutCopperStairs => "waxed_weathered_cut_copper_stairs",
+ WaxedWeatheredCutCopperStairsFromHoneycomb => "waxed_weathered_cut_copper_stairs_from_honeycomb",
+ WaxedWeatheredCutCopperStairsFromWaxedWeatheredCopperStonecutting => "waxed_weathered_cut_copper_stairs_from_waxed_weathered_copper_stonecutting",
+ WaxedWeatheredCutCopperStairsFromWaxedWeatheredCutCopperStonecutting => "waxed_weathered_cut_copper_stairs_from_waxed_weathered_cut_copper_stonecutting",
+ WaxedWeatheredLightningRodFromHoneycomb => "waxed_weathered_lightning_rod_from_honeycomb",
+ WayfinderArmorTrimSmithingTemplate => "wayfinder_armor_trim_smithing_template",
+ WayfinderArmorTrimSmithingTemplateSmithingTrim => "wayfinder_armor_trim_smithing_template_smithing_trim",
+ WeatheredChiseledCopper => "weathered_chiseled_copper",
+ WeatheredChiseledCopperFromWeatheredCopperStonecutting => "weathered_chiseled_copper_from_weathered_copper_stonecutting",
+ WeatheredChiseledCopperFromWeatheredCutCopperStonecutting => "weathered_chiseled_copper_from_weathered_cut_copper_stonecutting",
+ WeatheredCopperBulb => "weathered_copper_bulb",
+ WeatheredCopperGrate => "weathered_copper_grate",
+ WeatheredCopperGrateFromWeatheredCopperStonecutting => "weathered_copper_grate_from_weathered_copper_stonecutting",
+ WeatheredCutCopper => "weathered_cut_copper",
+ WeatheredCutCopperFromWeatheredCopperStonecutting => "weathered_cut_copper_from_weathered_copper_stonecutting",
+ WeatheredCutCopperSlab => "weathered_cut_copper_slab",
+ WeatheredCutCopperSlabFromWeatheredCopperStonecutting => "weathered_cut_copper_slab_from_weathered_copper_stonecutting",
+ WeatheredCutCopperSlabFromWeatheredCutCopperStonecutting => "weathered_cut_copper_slab_from_weathered_cut_copper_stonecutting",
+ WeatheredCutCopperStairs => "weathered_cut_copper_stairs",
+ WeatheredCutCopperStairsFromWeatheredCopperStonecutting => "weathered_cut_copper_stairs_from_weathered_copper_stonecutting",
+ WeatheredCutCopperStairsFromWeatheredCutCopperStonecutting => "weathered_cut_copper_stairs_from_weathered_cut_copper_stonecutting",
+ Wheat => "wheat",
+ WhiteBanner => "white_banner",
+ WhiteBed => "white_bed",
+ WhiteBundle => "white_bundle",
+ WhiteCandle => "white_candle",
+ WhiteCarpet => "white_carpet",
+ WhiteConcretePowder => "white_concrete_powder",
+ WhiteDye => "white_dye",
+ WhiteDyeFromLilyOfTheValley => "white_dye_from_lily_of_the_valley",
+ WhiteGlazedTerracotta => "white_glazed_terracotta",
+ WhiteHarness => "white_harness",
+ WhiteShulkerBox => "white_shulker_box",
+ WhiteStainedGlass => "white_stained_glass",
+ WhiteStainedGlassPane => "white_stained_glass_pane",
+ WhiteStainedGlassPaneFromGlassPane => "white_stained_glass_pane_from_glass_pane",
+ WhiteTerracotta => "white_terracotta",
+ WhiteWoolFromString => "white_wool_from_string",
+ WildArmorTrimSmithingTemplate => "wild_armor_trim_smithing_template",
+ WildArmorTrimSmithingTemplateSmithingTrim => "wild_armor_trim_smithing_template_smithing_trim",
+ WindCharge => "wind_charge",
+ WolfArmor => "wolf_armor",
+ WoodenAxe => "wooden_axe",
+ WoodenHoe => "wooden_hoe",
+ WoodenPickaxe => "wooden_pickaxe",
+ WoodenShovel => "wooden_shovel",
+ WoodenSpear => "wooden_spear",
+ WoodenSword => "wooden_sword",
+ WritableBook => "writable_book",
+ YellowBanner => "yellow_banner",
+ YellowBed => "yellow_bed",
+ YellowBundle => "yellow_bundle",
+ YellowCandle => "yellow_candle",
+ YellowCarpet => "yellow_carpet",
+ YellowConcretePowder => "yellow_concrete_powder",
+ YellowDyeFromDandelion => "yellow_dye_from_dandelion",
+ YellowDyeFromSunflower => "yellow_dye_from_sunflower",
+ YellowDyeFromWildflowers => "yellow_dye_from_wildflowers",
+ YellowGlazedTerracotta => "yellow_glazed_terracotta",
+ YellowHarness => "yellow_harness",
+ YellowShulkerBox => "yellow_shulker_box",
+ YellowStainedGlass => "yellow_stained_glass",
+ YellowStainedGlassPane => "yellow_stained_glass_pane",
+ YellowStainedGlassPaneFromGlassPane => "yellow_stained_glass_pane_from_glass_pane",
+ YellowTerracotta => "yellow_terracotta",
+}
+}
+
+data_registry! {
+Biome => "worldgen/biome",
+/// An opaque biome identifier.
+///
+/// You'll probably want to resolve this into its name before using it, by
+/// using `Client::with_resolved_registry` or a similar function.
+enum BiomeKey {
+ Badlands => "badlands",
+ BambooJungle => "bamboo_jungle",
+ BasaltDeltas => "basalt_deltas",
+ Beach => "beach",
+ BirchForest => "birch_forest",
+ CherryGrove => "cherry_grove",
+ ColdOcean => "cold_ocean",
+ CrimsonForest => "crimson_forest",
+ DarkForest => "dark_forest",
+ DeepColdOcean => "deep_cold_ocean",
+ DeepDark => "deep_dark",
+ DeepFrozenOcean => "deep_frozen_ocean",
+ DeepLukewarmOcean => "deep_lukewarm_ocean",
+ DeepOcean => "deep_ocean",
+ Desert => "desert",
+ DripstoneCaves => "dripstone_caves",
+ EndBarrens => "end_barrens",
+ EndHighlands => "end_highlands",
+ EndMidlands => "end_midlands",
+ ErodedBadlands => "eroded_badlands",
+ FlowerForest => "flower_forest",
+ Forest => "forest",
+ FrozenOcean => "frozen_ocean",
+ FrozenPeaks => "frozen_peaks",
+ FrozenRiver => "frozen_river",
+ Grove => "grove",
+ IceSpikes => "ice_spikes",
+ JaggedPeaks => "jagged_peaks",
+ Jungle => "jungle",
+ LukewarmOcean => "lukewarm_ocean",
+ LushCaves => "lush_caves",
+ MangroveSwamp => "mangrove_swamp",
+ Meadow => "meadow",
+ MushroomFields => "mushroom_fields",
+ NetherWastes => "nether_wastes",
+ Ocean => "ocean",
+ OldGrowthBirchForest => "old_growth_birch_forest",
+ OldGrowthPineTaiga => "old_growth_pine_taiga",
+ OldGrowthSpruceTaiga => "old_growth_spruce_taiga",
+ PaleGarden => "pale_garden",
+ Plains => "plains",
+ River => "river",
+ Savanna => "savanna",
+ SavannaPlateau => "savanna_plateau",
+ SmallEndIslands => "small_end_islands",
+ SnowyBeach => "snowy_beach",
+ SnowyPlains => "snowy_plains",
+ SnowySlopes => "snowy_slopes",
+ SnowyTaiga => "snowy_taiga",
+ SoulSandValley => "soul_sand_valley",
+ SparseJungle => "sparse_jungle",
+ StonyPeaks => "stony_peaks",
+ StonyShore => "stony_shore",
+ SunflowerPlains => "sunflower_plains",
+ Swamp => "swamp",
+ Taiga => "taiga",
+ TheEnd => "the_end",
+ TheVoid => "the_void",
+ WarmOcean => "warm_ocean",
+ WarpedForest => "warped_forest",
+ WindsweptForest => "windswept_forest",
+ WindsweptGravellyHills => "windswept_gravelly_hills",
+ WindsweptHills => "windswept_hills",
+ WindsweptSavanna => "windswept_savanna",
+ WoodedBadlands => "wooded_badlands",
+}
+}
diff --git a/azalea-registry/src/extra.rs b/azalea-registry/src/extra.rs
deleted file mode 100644
index 694b9820..00000000
--- a/azalea-registry/src/extra.rs
+++ /dev/null
@@ -1,195 +0,0 @@
-//! These registries are sent by the server during the configuration state so
-//! you should be relying on those if possible, but these are provided for your
-//! convenience anyways.
-
-use azalea_registry_macros::registry;
-
-use crate::Registry;
-
-registry! {
-#[derive(Default)]
-enum FoxVariant {
- #[default]
- Red => "minecraft:red",
- Snow => "minecraft:snow",
-}
-}
-
-registry! {
-enum ParrotVariant {
- RedBlue => "minecraft:red_blue",
- Blue => "minecraft:blue",
- Green => "minecraft:green",
- YellowBlue => "minecraft:yellow_blue",
- Gray => "minecraft:gray",
-}
-}
-
-registry! {
-#[derive(Default)]
-enum MooshroomVariant {
- #[default]
- Red => "minecraft:red",
- Brown => "minecraft:brown",
-}
-}
-
-registry! {
-#[derive(Default)]
-enum RabbitVariant {
- #[default]
- Brown => "minecraft:brown",
- White => "minecraft:white",
- Black => "minecraft:black",
- WhiteSplotched => "minecraft:white_splotched",
- Gold => "minecraft:gold",
- Salt => "minecraft:salt",
- Evil => "minecraft:evil",
-}
-}
-
-registry! {
-#[derive(Default)]
-enum HorseVariant {
- #[default]
- White => "minecraft:white",
- Creamy => "minecraft:creamy",
- Chestnut => "minecraft:chestnut",
- Brown => "minecraft:brown",
- Black => "minecraft:black",
- Gray => "minecraft:gray",
- DarkBrown => "minecraft:dark_brown",
-}
-}
-
-registry! {
-#[derive(Default)]
-enum LlamaVariant {
- #[default]
- Creamy => "minecraft:creamy",
- White => "minecraft:white",
- Brown => "minecraft:brown",
- Gray => "minecraft:gray",
-}
-}
-
-registry! {
-#[derive(Default)]
-enum AxolotlVariant {
- #[default]
- Lucy => "minecraft:lucy",
- Wild => "minecraft:wild",
- Gold => "minecraft:gold",
- Cyan => "minecraft:cyan",
- Blue => "minecraft:blue",
-}
-}
-
-registry! {
-enum TrimMaterial {
- Quartz => "minecraft:quartz",
- Iron => "minecraft:iron",
- Netherite => "minecraft:netherite",
- Redstone => "minecraft:redstone",
- Copper => "minecraft:copper",
- Gold => "minecraft:gold",
- Emerald => "minecraft:emerald",
- Diamond => "minecraft:diamond",
- Lapis => "minecraft:lapis",
- Amethyst => "minecraft:amethyst",
-}
-}
-
-registry! {
-enum TrimPattern {
- Sentry => "sentry",
- Dune => "dune",
- Coast => "coast",
- Wild => "wild",
- Ward => "ward",
- Eye => "eye",
- Vex => "vex",
- Tide => "tide",
- Snout => "snout",
- Rib => "rib",
- Spire => "spire",
- Wayfinder => "wayfinder",
- Shaper => "shaper",
- Silence => "silence",
- Raiser => "raiser",
- Host => "host",
- Flow => "flow",
- Bolt => "bolt",
-}
-}
-
-registry! {
-enum JukeboxSong {
- Thirteen => "13",
- Cat => "cat",
- Blocks => "blocks",
- Chirp => "chirp",
- Far => "far",
- Mall => "mall",
- Mellohi => "mellohi",
- Stal => "stal",
- Strad => "strad",
- Ward => "ward",
- Eleven => "11",
- Wait => "wait",
- Pigstep => "pigstep",
- Otherside => "otherside",
- Five => "5",
- Relic => "relic",
- Precipice => "precipice",
- Creator => "creator",
- CreatorMusicBox => "creator_music_box",
-}
-}
-
-registry! {
-enum ChatType {
- Chat => "chat",
- SayCommand => "say_command",
- MsgCommandIncoming => "msg_command_incoming",
- MsgCommandOutgoing => "msg_command_outgoing",
- TeamMsgCommandIncoming => "team_msg_command_incoming",
- TeamMsgCommandOutgoing => "team_msg_command_outgoing",
- EmoteCommand => "emote_command",
-}
-}
-impl ChatType {
- #[must_use]
- pub fn chat_translation_key(self) -> &'static str {
- match self {
- ChatType::Chat => "chat.type.text",
- ChatType::SayCommand => "chat.type.announcement",
- ChatType::MsgCommandIncoming => "commands.message.display.incoming",
- ChatType::MsgCommandOutgoing => "commands.message.display.outgoing",
- ChatType::TeamMsgCommandIncoming => "chat.type.team.text",
- ChatType::TeamMsgCommandOutgoing => "chat.type.team.sent",
- ChatType::EmoteCommand => "chat.type.emote",
- }
- }
-
- #[must_use]
- pub fn narrator_translation_key(self) -> &'static str {
- match self {
- ChatType::EmoteCommand => "chat.type.emote",
- _ => "chat.type.text.narrate",
- }
- }
-}
-
-registry! {
-enum Instrument {
- PonderGoatHorn => "minecraft:ponder_goat_horn",
- SingGoatHorn => "minecraft:sing_goat_horn",
- SeekGoatHorn => "minecraft:seek_goat_horn",
- FeelGoatHorn => "minecraft:feel_goat_horn",
- AdmireGoatHorn => "minecraft:admire_goat_horn",
- CallGoatHorn => "minecraft:call_goat_horn",
- YearnGoatHorn => "minecraft:yearn_goat_horn",
- DreamGoatHorn => "minecraft:dream_goat_horn",
-}
-}
diff --git a/azalea-core/src/identifier.rs b/azalea-registry/src/identifier.rs
index a3c886c3..b3456dab 100644
--- a/azalea-core/src/identifier.rs
+++ b/azalea-registry/src/identifier.rs
@@ -13,6 +13,8 @@ use simdnbt::{FromNbtTag, ToNbtTag, owned::NbtTag};
/// An identifier, like `minecraft:stone` or `brigadier:number`.
///
+/// All registry variants can be converted to an identifier.
+///
/// This was formerly called a `ResourceLocation`.
#[doc(alias = "ResourceLocation")]
#[derive(Hash, Clone, PartialEq, Eq, Default)]
diff --git a/azalea-registry/src/lib.rs b/azalea-registry/src/lib.rs
index fd3fc3b5..12f8323a 100644
--- a/azalea-registry/src/lib.rs
+++ b/azalea-registry/src/lib.rs
@@ -5,24 +5,57 @@
// auto-generated (so you can add doc comments to the registry enums if you
// want).
-mod data;
-mod extra;
+pub mod builtin;
+pub mod data;
+pub mod identifier;
pub mod tags;
use std::{
fmt::{self, Debug},
+ hash::Hash,
io::{self, Cursor, Write},
};
use azalea_buf::{AzaleaRead, AzaleaReadVar, AzaleaWrite, AzaleaWriteVar, BufReadError};
-use azalea_registry_macros::registry;
-pub use data::*;
-pub use extra::*;
#[cfg(feature = "serde")]
use serde::Serialize;
use simdnbt::{FromNbtTag, borrow::NbtTag};
-pub trait Registry: AzaleaRead + AzaleaWrite
+use crate::identifier::Identifier;
+
+// TODO: remove this next update
+macro_rules! define_deprecated_builtin {
+ ($($r:ident) *) => {
+ $(
+ #[doc(hidden)]
+ #[deprecated = concat!("moved to `azalea_registry::builtin::", stringify!($r), "`")]
+ pub type $r = builtin::$r;
+ )*
+ };
+}
+define_deprecated_builtin!(Activity Attribute BlockEntityKind BlockPredicateKind ChunkStatus CommandArgumentKind CustomStat EntityKind FloatProviderKind Fluid GameEvent HeightProviderKind IntProviderKind LootConditionKind LootFunctionKind LootNbtProviderKind LootNumberProviderKind LootPoolEntryKind LootScoreProviderKind MemoryModuleKind MobEffect ParticleKind PointOfInterestKind PosRuleTest PositionSourceKind Potion RecipeSerializer RecipeKind RuleTest SensorKind SoundEvent StatKind VillagerProfession VillagerKind WorldgenBiomeSource WorldgenBlockStateProviderKind WorldgenCarver WorldgenChunkGenerator WorldgenDensityFunctionKind WorldgenFeature WorldgenFeatureSizeKind WorldgenFoliagePlacerKind WorldgenMaterialCondition WorldgenMaterialRule WorldgenPlacementModifierKind WorldgenRootPlacerKind WorldgenStructurePiece WorldgenStructurePlacement WorldgenStructurePoolElement WorldgenStructureProcessor WorldgenStructureKind WorldgenTreeDecoratorKind WorldgenTrunkPlacerKind RuleBlockEntityModifier CreativeModeTab MenuKind WorldgenPoolAliasBinding TriggerKind NumberFormatKind DataComponentKind EntitySubPredicateKind MapDecorationKind EnchantmentEffectComponentKind EnchantmentEntityEffectKind EnchantmentLevelBasedValueKind EnchantmentLocationBasedEffectKind EnchantmentProviderKind EnchantmentValueEffectKind DecoratedPotPattern ConsumeEffectKind RecipeBookCategory RecipeDisplay SlotDisplay TicketKind TestEnvironmentDefinitionKind TestFunction TestInstanceKind DataComponentPredicateKind SpawnConditionKind DialogBodyKind DialogKind InputControlKind DialogActionKind DebugSubscription IncomingRpcMethods OutgoingRpcMethods AttributeKind EnvironmentAttribute GameRule PermissionCheckKind PermissionKind SlotSourceKind);
+macro_rules! define_deprecated_data {
+ ($($r:ident) *) => {
+ $(
+ #[doc(hidden)]
+ #[deprecated = concat!("moved to `azalea_registry::data::", stringify!($r), "`")]
+ pub type $r = data::$r;
+ )*
+ };
+}
+define_deprecated_data!(Enchantment DamageKind Dialog WolfSoundVariant CowVariant ChickenVariant FrogVariant CatVariant PigVariant PaintingVariant WolfVariant ZombieNautilusVariant Biome);
+
+#[doc(hidden)]
+#[deprecated = "renamed to `azalea_registry::builtin::ItemKind`"]
+pub type Item = builtin::ItemKind;
+#[doc(hidden)]
+#[deprecated = "renamed to `azalea_registry::builtin::BlockKind`"]
+pub type Block = builtin::BlockKind;
+#[doc(hidden)]
+#[deprecated = "renamed to `azalea_registry::data::DimensionKind`"]
+pub type DimensionType = data::DimensionKind;
+
+pub trait Registry: AzaleaRead + AzaleaWrite + PartialEq + PartialOrd + Ord + Copy + Hash
where
Self: Sized,
{
@@ -222,7 +255,7 @@ impl<R: Registry + Debug, Direct: AzaleaRead + AzaleaWrite + Debug> Debug for Ho
impl<R: Registry + Clone, Direct: AzaleaRead + AzaleaWrite + Clone> Clone for Holder<R, Direct> {
fn clone(&self) -> Self {
match self {
- Self::Reference(value) => Self::Reference(value.clone()),
+ Self::Reference(value) => Self::Reference(*value),
Self::Direct(value) => Self::Direct(value.clone()),
}
}
@@ -271,7230 +304,38 @@ impl<
}
}
-registry! {
-/// The AI code that's currently being executed for the entity.
-enum Activity {
- Core => "minecraft:core",
- Idle => "minecraft:idle",
- Work => "minecraft:work",
- Play => "minecraft:play",
- Rest => "minecraft:rest",
- Meet => "minecraft:meet",
- Panic => "minecraft:panic",
- Raid => "minecraft:raid",
- PreRaid => "minecraft:pre_raid",
- Hide => "minecraft:hide",
- Fight => "minecraft:fight",
- Celebrate => "minecraft:celebrate",
- AdmireItem => "minecraft:admire_item",
- Avoid => "minecraft:avoid",
- Ride => "minecraft:ride",
- PlayDead => "minecraft:play_dead",
- LongJump => "minecraft:long_jump",
- Ram => "minecraft:ram",
- Tongue => "minecraft:tongue",
- Swim => "minecraft:swim",
- LaySpawn => "minecraft:lay_spawn",
- Sniff => "minecraft:sniff",
- Investigate => "minecraft:investigate",
- Roar => "minecraft:roar",
- Emerge => "minecraft:emerge",
- Dig => "minecraft:dig",
-}
-}
-
-registry! {
-enum Attribute {
- Armor => "minecraft:armor",
- ArmorToughness => "minecraft:armor_toughness",
- AttackDamage => "minecraft:attack_damage",
- AttackKnockback => "minecraft:attack_knockback",
- AttackSpeed => "minecraft:attack_speed",
- BlockBreakSpeed => "minecraft:block_break_speed",
- BlockInteractionRange => "minecraft:block_interaction_range",
- BurningTime => "minecraft:burning_time",
- CameraDistance => "minecraft:camera_distance",
- ExplosionKnockbackResistance => "minecraft:explosion_knockback_resistance",
- EntityInteractionRange => "minecraft:entity_interaction_range",
- FallDamageMultiplier => "minecraft:fall_damage_multiplier",
- FlyingSpeed => "minecraft:flying_speed",
- FollowRange => "minecraft:follow_range",
- Gravity => "minecraft:gravity",
- JumpStrength => "minecraft:jump_strength",
- KnockbackResistance => "minecraft:knockback_resistance",
- Luck => "minecraft:luck",
- MaxAbsorption => "minecraft:max_absorption",
- MaxHealth => "minecraft:max_health",
- MiningEfficiency => "minecraft:mining_efficiency",
- MovementEfficiency => "minecraft:movement_efficiency",
- MovementSpeed => "minecraft:movement_speed",
- OxygenBonus => "minecraft:oxygen_bonus",
- SafeFallDistance => "minecraft:safe_fall_distance",
- Scale => "minecraft:scale",
- SneakingSpeed => "minecraft:sneaking_speed",
- SpawnReinforcements => "minecraft:spawn_reinforcements",
- StepHeight => "minecraft:step_height",
- SubmergedMiningSpeed => "minecraft:submerged_mining_speed",
- SweepingDamageRatio => "minecraft:sweeping_damage_ratio",
- TemptRange => "minecraft:tempt_range",
- WaterMovementEfficiency => "minecraft:water_movement_efficiency",
- WaypointTransmitRange => "minecraft:waypoint_transmit_range",
- WaypointReceiveRange => "minecraft:waypoint_receive_range",
-}
-}
-
-registry! {
-/// An enum of every type of block in the game.
-///
-/// To represent a block *state*, use [`azalea_block::BlockState`] or
-/// [`azalea_block::BlockTrait`].
-///
-/// [`azalea_block::BlockState`]: https://docs.rs/azalea-block/latest/azalea_block/struct.BlockState.html
-/// [`azalea_block::BlockTrait`]: https://docs.rs/azalea-block/latest/azalea_block/trait.BlockTrait.html
-enum Block {
- Air => "minecraft:air",
- Stone => "minecraft:stone",
- Granite => "minecraft:granite",
- PolishedGranite => "minecraft:polished_granite",
- Diorite => "minecraft:diorite",
- PolishedDiorite => "minecraft:polished_diorite",
- Andesite => "minecraft:andesite",
- PolishedAndesite => "minecraft:polished_andesite",
- GrassBlock => "minecraft:grass_block",
- Dirt => "minecraft:dirt",
- CoarseDirt => "minecraft:coarse_dirt",
- Podzol => "minecraft:podzol",
- Cobblestone => "minecraft:cobblestone",
- OakPlanks => "minecraft:oak_planks",
- SprucePlanks => "minecraft:spruce_planks",
- BirchPlanks => "minecraft:birch_planks",
- JunglePlanks => "minecraft:jungle_planks",
- AcaciaPlanks => "minecraft:acacia_planks",
- CherryPlanks => "minecraft:cherry_planks",
- DarkOakPlanks => "minecraft:dark_oak_planks",
- PaleOakWood => "minecraft:pale_oak_wood",
- PaleOakPlanks => "minecraft:pale_oak_planks",
- MangrovePlanks => "minecraft:mangrove_planks",
- BambooPlanks => "minecraft:bamboo_planks",
- BambooMosaic => "minecraft:bamboo_mosaic",
- OakSapling => "minecraft:oak_sapling",
- SpruceSapling => "minecraft:spruce_sapling",
- BirchSapling => "minecraft:birch_sapling",
- JungleSapling => "minecraft:jungle_sapling",
- AcaciaSapling => "minecraft:acacia_sapling",
- CherrySapling => "minecraft:cherry_sapling",
- DarkOakSapling => "minecraft:dark_oak_sapling",
- PaleOakSapling => "minecraft:pale_oak_sapling",
- MangrovePropagule => "minecraft:mangrove_propagule",
- Bedrock => "minecraft:bedrock",
- Water => "minecraft:water",
- Lava => "minecraft:lava",
- Sand => "minecraft:sand",
- SuspiciousSand => "minecraft:suspicious_sand",
- RedSand => "minecraft:red_sand",
- Gravel => "minecraft:gravel",
- SuspiciousGravel => "minecraft:suspicious_gravel",
- GoldOre => "minecraft:gold_ore",
- DeepslateGoldOre => "minecraft:deepslate_gold_ore",
- IronOre => "minecraft:iron_ore",
- DeepslateIronOre => "minecraft:deepslate_iron_ore",
- CoalOre => "minecraft:coal_ore",
- DeepslateCoalOre => "minecraft:deepslate_coal_ore",
- NetherGoldOre => "minecraft:nether_gold_ore",
- OakLog => "minecraft:oak_log",
- SpruceLog => "minecraft:spruce_log",
- BirchLog => "minecraft:birch_log",
- JungleLog => "minecraft:jungle_log",
- AcaciaLog => "minecraft:acacia_log",
- CherryLog => "minecraft:cherry_log",
- DarkOakLog => "minecraft:dark_oak_log",
- PaleOakLog => "minecraft:pale_oak_log",
- MangroveLog => "minecraft:mangrove_log",
- MangroveRoots => "minecraft:mangrove_roots",
- MuddyMangroveRoots => "minecraft:muddy_mangrove_roots",
- BambooBlock => "minecraft:bamboo_block",
- StrippedSpruceLog => "minecraft:stripped_spruce_log",
- StrippedBirchLog => "minecraft:stripped_birch_log",
- StrippedJungleLog => "minecraft:stripped_jungle_log",
- StrippedAcaciaLog => "minecraft:stripped_acacia_log",
- StrippedCherryLog => "minecraft:stripped_cherry_log",
- StrippedDarkOakLog => "minecraft:stripped_dark_oak_log",
- StrippedPaleOakLog => "minecraft:stripped_pale_oak_log",
- StrippedOakLog => "minecraft:stripped_oak_log",
- StrippedMangroveLog => "minecraft:stripped_mangrove_log",
- StrippedBambooBlock => "minecraft:stripped_bamboo_block",
- OakWood => "minecraft:oak_wood",
- SpruceWood => "minecraft:spruce_wood",
- BirchWood => "minecraft:birch_wood",
- JungleWood => "minecraft:jungle_wood",
- AcaciaWood => "minecraft:acacia_wood",
- CherryWood => "minecraft:cherry_wood",
- DarkOakWood => "minecraft:dark_oak_wood",
- MangroveWood => "minecraft:mangrove_wood",
- StrippedOakWood => "minecraft:stripped_oak_wood",
- StrippedSpruceWood => "minecraft:stripped_spruce_wood",
- StrippedBirchWood => "minecraft:stripped_birch_wood",
- StrippedJungleWood => "minecraft:stripped_jungle_wood",
- StrippedAcaciaWood => "minecraft:stripped_acacia_wood",
- StrippedCherryWood => "minecraft:stripped_cherry_wood",
- StrippedDarkOakWood => "minecraft:stripped_dark_oak_wood",
- StrippedPaleOakWood => "minecraft:stripped_pale_oak_wood",
- StrippedMangroveWood => "minecraft:stripped_mangrove_wood",
- OakLeaves => "minecraft:oak_leaves",
- SpruceLeaves => "minecraft:spruce_leaves",
- BirchLeaves => "minecraft:birch_leaves",
- JungleLeaves => "minecraft:jungle_leaves",
- AcaciaLeaves => "minecraft:acacia_leaves",
- CherryLeaves => "minecraft:cherry_leaves",
- DarkOakLeaves => "minecraft:dark_oak_leaves",
- PaleOakLeaves => "minecraft:pale_oak_leaves",
- MangroveLeaves => "minecraft:mangrove_leaves",
- AzaleaLeaves => "minecraft:azalea_leaves",
- FloweringAzaleaLeaves => "minecraft:flowering_azalea_leaves",
- Sponge => "minecraft:sponge",
- WetSponge => "minecraft:wet_sponge",
- Glass => "minecraft:glass",
- LapisOre => "minecraft:lapis_ore",
- DeepslateLapisOre => "minecraft:deepslate_lapis_ore",
- LapisBlock => "minecraft:lapis_block",
- Dispenser => "minecraft:dispenser",
- Sandstone => "minecraft:sandstone",
- ChiseledSandstone => "minecraft:chiseled_sandstone",
- CutSandstone => "minecraft:cut_sandstone",
- NoteBlock => "minecraft:note_block",
- WhiteBed => "minecraft:white_bed",
- OrangeBed => "minecraft:orange_bed",
- MagentaBed => "minecraft:magenta_bed",
- LightBlueBed => "minecraft:light_blue_bed",
- YellowBed => "minecraft:yellow_bed",
- LimeBed => "minecraft:lime_bed",
- PinkBed => "minecraft:pink_bed",
- GrayBed => "minecraft:gray_bed",
- LightGrayBed => "minecraft:light_gray_bed",
- CyanBed => "minecraft:cyan_bed",
- PurpleBed => "minecraft:purple_bed",
- BlueBed => "minecraft:blue_bed",
- BrownBed => "minecraft:brown_bed",
- GreenBed => "minecraft:green_bed",
- RedBed => "minecraft:red_bed",
- BlackBed => "minecraft:black_bed",
- PoweredRail => "minecraft:powered_rail",
- DetectorRail => "minecraft:detector_rail",
- StickyPiston => "minecraft:sticky_piston",
- Cobweb => "minecraft:cobweb",
- ShortGrass => "minecraft:short_grass",
- Fern => "minecraft:fern",
- DeadBush => "minecraft:dead_bush",
- Bush => "minecraft:bush",
- ShortDryGrass => "minecraft:short_dry_grass",
- TallDryGrass => "minecraft:tall_dry_grass",
- Seagrass => "minecraft:seagrass",
- TallSeagrass => "minecraft:tall_seagrass",
- Piston => "minecraft:piston",
- PistonHead => "minecraft:piston_head",
- WhiteWool => "minecraft:white_wool",
- OrangeWool => "minecraft:orange_wool",
- MagentaWool => "minecraft:magenta_wool",
- LightBlueWool => "minecraft:light_blue_wool",
- YellowWool => "minecraft:yellow_wool",
- LimeWool => "minecraft:lime_wool",
- PinkWool => "minecraft:pink_wool",
- GrayWool => "minecraft:gray_wool",
- LightGrayWool => "minecraft:light_gray_wool",
- CyanWool => "minecraft:cyan_wool",
- PurpleWool => "minecraft:purple_wool",
- BlueWool => "minecraft:blue_wool",
- BrownWool => "minecraft:brown_wool",
- GreenWool => "minecraft:green_wool",
- RedWool => "minecraft:red_wool",
- BlackWool => "minecraft:black_wool",
- MovingPiston => "minecraft:moving_piston",
- Dandelion => "minecraft:dandelion",
- Torchflower => "minecraft:torchflower",
- Poppy => "minecraft:poppy",
- BlueOrchid => "minecraft:blue_orchid",
- Allium => "minecraft:allium",
- AzureBluet => "minecraft:azure_bluet",
- RedTulip => "minecraft:red_tulip",
- OrangeTulip => "minecraft:orange_tulip",
- WhiteTulip => "minecraft:white_tulip",
- PinkTulip => "minecraft:pink_tulip",
- OxeyeDaisy => "minecraft:oxeye_daisy",
- Cornflower => "minecraft:cornflower",
- WitherRose => "minecraft:wither_rose",
- LilyOfTheValley => "minecraft:lily_of_the_valley",
- BrownMushroom => "minecraft:brown_mushroom",
- RedMushroom => "minecraft:red_mushroom",
- GoldBlock => "minecraft:gold_block",
- IronBlock => "minecraft:iron_block",
- Bricks => "minecraft:bricks",
- Tnt => "minecraft:tnt",
- Bookshelf => "minecraft:bookshelf",
- ChiseledBookshelf => "minecraft:chiseled_bookshelf",
- AcaciaShelf => "minecraft:acacia_shelf",
- BambooShelf => "minecraft:bamboo_shelf",
- BirchShelf => "minecraft:birch_shelf",
- CherryShelf => "minecraft:cherry_shelf",
- CrimsonShelf => "minecraft:crimson_shelf",
- DarkOakShelf => "minecraft:dark_oak_shelf",
- JungleShelf => "minecraft:jungle_shelf",
- MangroveShelf => "minecraft:mangrove_shelf",
- OakShelf => "minecraft:oak_shelf",
- PaleOakShelf => "minecraft:pale_oak_shelf",
- SpruceShelf => "minecraft:spruce_shelf",
- WarpedShelf => "minecraft:warped_shelf",
- MossyCobblestone => "minecraft:mossy_cobblestone",
- Obsidian => "minecraft:obsidian",
- Torch => "minecraft:torch",
- WallTorch => "minecraft:wall_torch",
- Fire => "minecraft:fire",
- SoulFire => "minecraft:soul_fire",
- Spawner => "minecraft:spawner",
- CreakingHeart => "minecraft:creaking_heart",
- OakStairs => "minecraft:oak_stairs",
- Chest => "minecraft:chest",
- RedstoneWire => "minecraft:redstone_wire",
- DiamondOre => "minecraft:diamond_ore",
- DeepslateDiamondOre => "minecraft:deepslate_diamond_ore",
- DiamondBlock => "minecraft:diamond_block",
- CraftingTable => "minecraft:crafting_table",
- Wheat => "minecraft:wheat",
- Farmland => "minecraft:farmland",
- Furnace => "minecraft:furnace",
- OakSign => "minecraft:oak_sign",
- SpruceSign => "minecraft:spruce_sign",
- BirchSign => "minecraft:birch_sign",
- AcaciaSign => "minecraft:acacia_sign",
- CherrySign => "minecraft:cherry_sign",
- JungleSign => "minecraft:jungle_sign",
- DarkOakSign => "minecraft:dark_oak_sign",
- PaleOakSign => "minecraft:pale_oak_sign",
- MangroveSign => "minecraft:mangrove_sign",
- BambooSign => "minecraft:bamboo_sign",
- OakDoor => "minecraft:oak_door",
- Ladder => "minecraft:ladder",
- Rail => "minecraft:rail",
- CobblestoneStairs => "minecraft:cobblestone_stairs",
- OakWallSign => "minecraft:oak_wall_sign",
- SpruceWallSign => "minecraft:spruce_wall_sign",
- BirchWallSign => "minecraft:birch_wall_sign",
- AcaciaWallSign => "minecraft:acacia_wall_sign",
- CherryWallSign => "minecraft:cherry_wall_sign",
- JungleWallSign => "minecraft:jungle_wall_sign",
- DarkOakWallSign => "minecraft:dark_oak_wall_sign",
- PaleOakWallSign => "minecraft:pale_oak_wall_sign",
- MangroveWallSign => "minecraft:mangrove_wall_sign",
- BambooWallSign => "minecraft:bamboo_wall_sign",
- OakHangingSign => "minecraft:oak_hanging_sign",
- SpruceHangingSign => "minecraft:spruce_hanging_sign",
- BirchHangingSign => "minecraft:birch_hanging_sign",
- AcaciaHangingSign => "minecraft:acacia_hanging_sign",
- CherryHangingSign => "minecraft:cherry_hanging_sign",
- JungleHangingSign => "minecraft:jungle_hanging_sign",
- DarkOakHangingSign => "minecraft:dark_oak_hanging_sign",
- PaleOakHangingSign => "minecraft:pale_oak_hanging_sign",
- CrimsonHangingSign => "minecraft:crimson_hanging_sign",
- WarpedHangingSign => "minecraft:warped_hanging_sign",
- MangroveHangingSign => "minecraft:mangrove_hanging_sign",
- BambooHangingSign => "minecraft:bamboo_hanging_sign",
- OakWallHangingSign => "minecraft:oak_wall_hanging_sign",
- SpruceWallHangingSign => "minecraft:spruce_wall_hanging_sign",
- BirchWallHangingSign => "minecraft:birch_wall_hanging_sign",
- AcaciaWallHangingSign => "minecraft:acacia_wall_hanging_sign",
- CherryWallHangingSign => "minecraft:cherry_wall_hanging_sign",
- JungleWallHangingSign => "minecraft:jungle_wall_hanging_sign",
- DarkOakWallHangingSign => "minecraft:dark_oak_wall_hanging_sign",
- PaleOakWallHangingSign => "minecraft:pale_oak_wall_hanging_sign",
- MangroveWallHangingSign => "minecraft:mangrove_wall_hanging_sign",
- CrimsonWallHangingSign => "minecraft:crimson_wall_hanging_sign",
- WarpedWallHangingSign => "minecraft:warped_wall_hanging_sign",
- BambooWallHangingSign => "minecraft:bamboo_wall_hanging_sign",
- Lever => "minecraft:lever",
- StonePressurePlate => "minecraft:stone_pressure_plate",
- IronDoor => "minecraft:iron_door",
- OakPressurePlate => "minecraft:oak_pressure_plate",
- SprucePressurePlate => "minecraft:spruce_pressure_plate",
- BirchPressurePlate => "minecraft:birch_pressure_plate",
- JunglePressurePlate => "minecraft:jungle_pressure_plate",
- AcaciaPressurePlate => "minecraft:acacia_pressure_plate",
- CherryPressurePlate => "minecraft:cherry_pressure_plate",
- DarkOakPressurePlate => "minecraft:dark_oak_pressure_plate",
- PaleOakPressurePlate => "minecraft:pale_oak_pressure_plate",
- MangrovePressurePlate => "minecraft:mangrove_pressure_plate",
- BambooPressurePlate => "minecraft:bamboo_pressure_plate",
- RedstoneOre => "minecraft:redstone_ore",
- DeepslateRedstoneOre => "minecraft:deepslate_redstone_ore",
- RedstoneTorch => "minecraft:redstone_torch",
- RedstoneWallTorch => "minecraft:redstone_wall_torch",
- StoneButton => "minecraft:stone_button",
- Snow => "minecraft:snow",
- Ice => "minecraft:ice",
- SnowBlock => "minecraft:snow_block",
- Cactus => "minecraft:cactus",
- CactusFlower => "minecraft:cactus_flower",
- Clay => "minecraft:clay",
- SugarCane => "minecraft:sugar_cane",
- Jukebox => "minecraft:jukebox",
- OakFence => "minecraft:oak_fence",
- Netherrack => "minecraft:netherrack",
- SoulSand => "minecraft:soul_sand",
- SoulSoil => "minecraft:soul_soil",
- Basalt => "minecraft:basalt",
- PolishedBasalt => "minecraft:polished_basalt",
- SoulTorch => "minecraft:soul_torch",
- SoulWallTorch => "minecraft:soul_wall_torch",
- CopperTorch => "minecraft:copper_torch",
- CopperWallTorch => "minecraft:copper_wall_torch",
- Glowstone => "minecraft:glowstone",
- NetherPortal => "minecraft:nether_portal",
- CarvedPumpkin => "minecraft:carved_pumpkin",
- JackOLantern => "minecraft:jack_o_lantern",
- Cake => "minecraft:cake",
- Repeater => "minecraft:repeater",
- WhiteStainedGlass => "minecraft:white_stained_glass",
- OrangeStainedGlass => "minecraft:orange_stained_glass",
- MagentaStainedGlass => "minecraft:magenta_stained_glass",
- LightBlueStainedGlass => "minecraft:light_blue_stained_glass",
- YellowStainedGlass => "minecraft:yellow_stained_glass",
- LimeStainedGlass => "minecraft:lime_stained_glass",
- PinkStainedGlass => "minecraft:pink_stained_glass",
- GrayStainedGlass => "minecraft:gray_stained_glass",
- LightGrayStainedGlass => "minecraft:light_gray_stained_glass",
- CyanStainedGlass => "minecraft:cyan_stained_glass",
- PurpleStainedGlass => "minecraft:purple_stained_glass",
- BlueStainedGlass => "minecraft:blue_stained_glass",
- BrownStainedGlass => "minecraft:brown_stained_glass",
- GreenStainedGlass => "minecraft:green_stained_glass",
- RedStainedGlass => "minecraft:red_stained_glass",
- BlackStainedGlass => "minecraft:black_stained_glass",
- OakTrapdoor => "minecraft:oak_trapdoor",
- SpruceTrapdoor => "minecraft:spruce_trapdoor",
- BirchTrapdoor => "minecraft:birch_trapdoor",
- JungleTrapdoor => "minecraft:jungle_trapdoor",
- AcaciaTrapdoor => "minecraft:acacia_trapdoor",
- CherryTrapdoor => "minecraft:cherry_trapdoor",
- DarkOakTrapdoor => "minecraft:dark_oak_trapdoor",
- PaleOakTrapdoor => "minecraft:pale_oak_trapdoor",
- MangroveTrapdoor => "minecraft:mangrove_trapdoor",
- BambooTrapdoor => "minecraft:bamboo_trapdoor",
- StoneBricks => "minecraft:stone_bricks",
- MossyStoneBricks => "minecraft:mossy_stone_bricks",
- CrackedStoneBricks => "minecraft:cracked_stone_bricks",
- ChiseledStoneBricks => "minecraft:chiseled_stone_bricks",
- PackedMud => "minecraft:packed_mud",
- MudBricks => "minecraft:mud_bricks",
- InfestedStone => "minecraft:infested_stone",
- InfestedCobblestone => "minecraft:infested_cobblestone",
- InfestedStoneBricks => "minecraft:infested_stone_bricks",
- InfestedMossyStoneBricks => "minecraft:infested_mossy_stone_bricks",
- InfestedCrackedStoneBricks => "minecraft:infested_cracked_stone_bricks",
- InfestedChiseledStoneBricks => "minecraft:infested_chiseled_stone_bricks",
- BrownMushroomBlock => "minecraft:brown_mushroom_block",
- RedMushroomBlock => "minecraft:red_mushroom_block",
- MushroomStem => "minecraft:mushroom_stem",
- IronBars => "minecraft:iron_bars",
- CopperBars => "minecraft:copper_bars",
- ExposedCopperBars => "minecraft:exposed_copper_bars",
- WeatheredCopperBars => "minecraft:weathered_copper_bars",
- OxidizedCopperBars => "minecraft:oxidized_copper_bars",
- WaxedCopperBars => "minecraft:waxed_copper_bars",
- WaxedExposedCopperBars => "minecraft:waxed_exposed_copper_bars",
- WaxedWeatheredCopperBars => "minecraft:waxed_weathered_copper_bars",
- WaxedOxidizedCopperBars => "minecraft:waxed_oxidized_copper_bars",
- IronChain => "minecraft:iron_chain",
- CopperChain => "minecraft:copper_chain",
- ExposedCopperChain => "minecraft:exposed_copper_chain",
- WeatheredCopperChain => "minecraft:weathered_copper_chain",
- OxidizedCopperChain => "minecraft:oxidized_copper_chain",
- WaxedCopperChain => "minecraft:waxed_copper_chain",
- WaxedExposedCopperChain => "minecraft:waxed_exposed_copper_chain",
- WaxedWeatheredCopperChain => "minecraft:waxed_weathered_copper_chain",
- WaxedOxidizedCopperChain => "minecraft:waxed_oxidized_copper_chain",
- GlassPane => "minecraft:glass_pane",
- Pumpkin => "minecraft:pumpkin",
- Melon => "minecraft:melon",
- AttachedPumpkinStem => "minecraft:attached_pumpkin_stem",
- AttachedMelonStem => "minecraft:attached_melon_stem",
- PumpkinStem => "minecraft:pumpkin_stem",
- MelonStem => "minecraft:melon_stem",
- Vine => "minecraft:vine",
- GlowLichen => "minecraft:glow_lichen",
- ResinClump => "minecraft:resin_clump",
- OakFenceGate => "minecraft:oak_fence_gate",
- BrickStairs => "minecraft:brick_stairs",
- StoneBrickStairs => "minecraft:stone_brick_stairs",
- MudBrickStairs => "minecraft:mud_brick_stairs",
- Mycelium => "minecraft:mycelium",
- LilyPad => "minecraft:lily_pad",
- ResinBlock => "minecraft:resin_block",
- ResinBricks => "minecraft:resin_bricks",
- ResinBrickStairs => "minecraft:resin_brick_stairs",
- ResinBrickSlab => "minecraft:resin_brick_slab",
- ResinBrickWall => "minecraft:resin_brick_wall",
- ChiseledResinBricks => "minecraft:chiseled_resin_bricks",
- NetherBricks => "minecraft:nether_bricks",
- NetherBrickFence => "minecraft:nether_brick_fence",
- NetherBrickStairs => "minecraft:nether_brick_stairs",
- NetherWart => "minecraft:nether_wart",
- EnchantingTable => "minecraft:enchanting_table",
- BrewingStand => "minecraft:brewing_stand",
- Cauldron => "minecraft:cauldron",
- WaterCauldron => "minecraft:water_cauldron",
- LavaCauldron => "minecraft:lava_cauldron",
- PowderSnowCauldron => "minecraft:powder_snow_cauldron",
- EndPortal => "minecraft:end_portal",
- EndPortalFrame => "minecraft:end_portal_frame",
- EndStone => "minecraft:end_stone",
- DragonEgg => "minecraft:dragon_egg",
- RedstoneLamp => "minecraft:redstone_lamp",
- Cocoa => "minecraft:cocoa",
- SandstoneStairs => "minecraft:sandstone_stairs",
- EmeraldOre => "minecraft:emerald_ore",
- DeepslateEmeraldOre => "minecraft:deepslate_emerald_ore",
- EnderChest => "minecraft:ender_chest",
- TripwireHook => "minecraft:tripwire_hook",
- Tripwire => "minecraft:tripwire",
- EmeraldBlock => "minecraft:emerald_block",
- SpruceStairs => "minecraft:spruce_stairs",
- BirchStairs => "minecraft:birch_stairs",
- JungleStairs => "minecraft:jungle_stairs",
- CommandBlock => "minecraft:command_block",
- Beacon => "minecraft:beacon",
- CobblestoneWall => "minecraft:cobblestone_wall",
- MossyCobblestoneWall => "minecraft:mossy_cobblestone_wall",
- FlowerPot => "minecraft:flower_pot",
- PottedTorchflower => "minecraft:potted_torchflower",
- PottedOakSapling => "minecraft:potted_oak_sapling",
- PottedSpruceSapling => "minecraft:potted_spruce_sapling",
- PottedBirchSapling => "minecraft:potted_birch_sapling",
- PottedJungleSapling => "minecraft:potted_jungle_sapling",
- PottedAcaciaSapling => "minecraft:potted_acacia_sapling",
- PottedCherrySapling => "minecraft:potted_cherry_sapling",
- PottedDarkOakSapling => "minecraft:potted_dark_oak_sapling",
- PottedPaleOakSapling => "minecraft:potted_pale_oak_sapling",
- PottedMangrovePropagule => "minecraft:potted_mangrove_propagule",
- PottedFern => "minecraft:potted_fern",
- PottedDandelion => "minecraft:potted_dandelion",
- PottedPoppy => "minecraft:potted_poppy",
- PottedBlueOrchid => "minecraft:potted_blue_orchid",
- PottedAllium => "minecraft:potted_allium",
- PottedAzureBluet => "minecraft:potted_azure_bluet",
- PottedRedTulip => "minecraft:potted_red_tulip",
- PottedOrangeTulip => "minecraft:potted_orange_tulip",
- PottedWhiteTulip => "minecraft:potted_white_tulip",
- PottedPinkTulip => "minecraft:potted_pink_tulip",
- PottedOxeyeDaisy => "minecraft:potted_oxeye_daisy",
- PottedCornflower => "minecraft:potted_cornflower",
- PottedLilyOfTheValley => "minecraft:potted_lily_of_the_valley",
- PottedWitherRose => "minecraft:potted_wither_rose",
- PottedRedMushroom => "minecraft:potted_red_mushroom",
- PottedBrownMushroom => "minecraft:potted_brown_mushroom",
- PottedDeadBush => "minecraft:potted_dead_bush",
- PottedCactus => "minecraft:potted_cactus",
- Carrots => "minecraft:carrots",
- Potatoes => "minecraft:potatoes",
- OakButton => "minecraft:oak_button",
- SpruceButton => "minecraft:spruce_button",
- BirchButton => "minecraft:birch_button",
- JungleButton => "minecraft:jungle_button",
- AcaciaButton => "minecraft:acacia_button",
- CherryButton => "minecraft:cherry_button",
- DarkOakButton => "minecraft:dark_oak_button",
- PaleOakButton => "minecraft:pale_oak_button",
- MangroveButton => "minecraft:mangrove_button",
- BambooButton => "minecraft:bamboo_button",
- SkeletonSkull => "minecraft:skeleton_skull",
- SkeletonWallSkull => "minecraft:skeleton_wall_skull",
- WitherSkeletonSkull => "minecraft:wither_skeleton_skull",
- WitherSkeletonWallSkull => "minecraft:wither_skeleton_wall_skull",
- ZombieHead => "minecraft:zombie_head",
- ZombieWallHead => "minecraft:zombie_wall_head",
- PlayerHead => "minecraft:player_head",
- PlayerWallHead => "minecraft:player_wall_head",
- CreeperHead => "minecraft:creeper_head",
- CreeperWallHead => "minecraft:creeper_wall_head",
- DragonHead => "minecraft:dragon_head",
- DragonWallHead => "minecraft:dragon_wall_head",
- PiglinHead => "minecraft:piglin_head",
- PiglinWallHead => "minecraft:piglin_wall_head",
- Anvil => "minecraft:anvil",
- ChippedAnvil => "minecraft:chipped_anvil",
- DamagedAnvil => "minecraft:damaged_anvil",
- TrappedChest => "minecraft:trapped_chest",
- LightWeightedPressurePlate => "minecraft:light_weighted_pressure_plate",
- HeavyWeightedPressurePlate => "minecraft:heavy_weighted_pressure_plate",
- Comparator => "minecraft:comparator",
- DaylightDetector => "minecraft:daylight_detector",
- RedstoneBlock => "minecraft:redstone_block",
- NetherQuartzOre => "minecraft:nether_quartz_ore",
- Hopper => "minecraft:hopper",
- QuartzBlock => "minecraft:quartz_block",
- ChiseledQuartzBlock => "minecraft:chiseled_quartz_block",
- QuartzPillar => "minecraft:quartz_pillar",
- QuartzStairs => "minecraft:quartz_stairs",
- ActivatorRail => "minecraft:activator_rail",
- Dropper => "minecraft:dropper",
- WhiteTerracotta => "minecraft:white_terracotta",
- OrangeTerracotta => "minecraft:orange_terracotta",
- MagentaTerracotta => "minecraft:magenta_terracotta",
- LightBlueTerracotta => "minecraft:light_blue_terracotta",
- YellowTerracotta => "minecraft:yellow_terracotta",
- LimeTerracotta => "minecraft:lime_terracotta",
- PinkTerracotta => "minecraft:pink_terracotta",
- GrayTerracotta => "minecraft:gray_terracotta",
- LightGrayTerracotta => "minecraft:light_gray_terracotta",
- CyanTerracotta => "minecraft:cyan_terracotta",
- PurpleTerracotta => "minecraft:purple_terracotta",
- BlueTerracotta => "minecraft:blue_terracotta",
- BrownTerracotta => "minecraft:brown_terracotta",
- GreenTerracotta => "minecraft:green_terracotta",
- RedTerracotta => "minecraft:red_terracotta",
- BlackTerracotta => "minecraft:black_terracotta",
- WhiteStainedGlassPane => "minecraft:white_stained_glass_pane",
- OrangeStainedGlassPane => "minecraft:orange_stained_glass_pane",
- MagentaStainedGlassPane => "minecraft:magenta_stained_glass_pane",
- LightBlueStainedGlassPane => "minecraft:light_blue_stained_glass_pane",
- YellowStainedGlassPane => "minecraft:yellow_stained_glass_pane",
- LimeStainedGlassPane => "minecraft:lime_stained_glass_pane",
- PinkStainedGlassPane => "minecraft:pink_stained_glass_pane",
- GrayStainedGlassPane => "minecraft:gray_stained_glass_pane",
- LightGrayStainedGlassPane => "minecraft:light_gray_stained_glass_pane",
- CyanStainedGlassPane => "minecraft:cyan_stained_glass_pane",
- PurpleStainedGlassPane => "minecraft:purple_stained_glass_pane",
- BlueStainedGlassPane => "minecraft:blue_stained_glass_pane",
- BrownStainedGlassPane => "minecraft:brown_stained_glass_pane",
- GreenStainedGlassPane => "minecraft:green_stained_glass_pane",
- RedStainedGlassPane => "minecraft:red_stained_glass_pane",
- BlackStainedGlassPane => "minecraft:black_stained_glass_pane",
- AcaciaStairs => "minecraft:acacia_stairs",
- CherryStairs => "minecraft:cherry_stairs",
- DarkOakStairs => "minecraft:dark_oak_stairs",
- PaleOakStairs => "minecraft:pale_oak_stairs",
- MangroveStairs => "minecraft:mangrove_stairs",
- BambooStairs => "minecraft:bamboo_stairs",
- BambooMosaicStairs => "minecraft:bamboo_mosaic_stairs",
- SlimeBlock => "minecraft:slime_block",
- Barrier => "minecraft:barrier",
- Light => "minecraft:light",
- IronTrapdoor => "minecraft:iron_trapdoor",
- Prismarine => "minecraft:prismarine",
- PrismarineBricks => "minecraft:prismarine_bricks",
- DarkPrismarine => "minecraft:dark_prismarine",
- PrismarineStairs => "minecraft:prismarine_stairs",
- PrismarineBrickStairs => "minecraft:prismarine_brick_stairs",
- DarkPrismarineStairs => "minecraft:dark_prismarine_stairs",
- PrismarineSlab => "minecraft:prismarine_slab",
- PrismarineBrickSlab => "minecraft:prismarine_brick_slab",
- DarkPrismarineSlab => "minecraft:dark_prismarine_slab",
- SeaLantern => "minecraft:sea_lantern",
- HayBlock => "minecraft:hay_block",
- WhiteCarpet => "minecraft:white_carpet",
- OrangeCarpet => "minecraft:orange_carpet",
- MagentaCarpet => "minecraft:magenta_carpet",
- LightBlueCarpet => "minecraft:light_blue_carpet",
- YellowCarpet => "minecraft:yellow_carpet",
- LimeCarpet => "minecraft:lime_carpet",
- PinkCarpet => "minecraft:pink_carpet",
- GrayCarpet => "minecraft:gray_carpet",
- LightGrayCarpet => "minecraft:light_gray_carpet",
- CyanCarpet => "minecraft:cyan_carpet",
- PurpleCarpet => "minecraft:purple_carpet",
- BlueCarpet => "minecraft:blue_carpet",
- BrownCarpet => "minecraft:brown_carpet",
- GreenCarpet => "minecraft:green_carpet",
- RedCarpet => "minecraft:red_carpet",
- BlackCarpet => "minecraft:black_carpet",
- Terracotta => "minecraft:terracotta",
- CoalBlock => "minecraft:coal_block",
- PackedIce => "minecraft:packed_ice",
- Sunflower => "minecraft:sunflower",
- Lilac => "minecraft:lilac",
- RoseBush => "minecraft:rose_bush",
- Peony => "minecraft:peony",
- TallGrass => "minecraft:tall_grass",
- LargeFern => "minecraft:large_fern",
- WhiteBanner => "minecraft:white_banner",
- OrangeBanner => "minecraft:orange_banner",
- MagentaBanner => "minecraft:magenta_banner",
- LightBlueBanner => "minecraft:light_blue_banner",
- YellowBanner => "minecraft:yellow_banner",
- LimeBanner => "minecraft:lime_banner",
- PinkBanner => "minecraft:pink_banner",
- GrayBanner => "minecraft:gray_banner",
- LightGrayBanner => "minecraft:light_gray_banner",
- CyanBanner => "minecraft:cyan_banner",
- PurpleBanner => "minecraft:purple_banner",
- BlueBanner => "minecraft:blue_banner",
- BrownBanner => "minecraft:brown_banner",
- GreenBanner => "minecraft:green_banner",
- RedBanner => "minecraft:red_banner",
- BlackBanner => "minecraft:black_banner",
- WhiteWallBanner => "minecraft:white_wall_banner",
- OrangeWallBanner => "minecraft:orange_wall_banner",
- MagentaWallBanner => "minecraft:magenta_wall_banner",
- LightBlueWallBanner => "minecraft:light_blue_wall_banner",
- YellowWallBanner => "minecraft:yellow_wall_banner",
- LimeWallBanner => "minecraft:lime_wall_banner",
- PinkWallBanner => "minecraft:pink_wall_banner",
- GrayWallBanner => "minecraft:gray_wall_banner",
- LightGrayWallBanner => "minecraft:light_gray_wall_banner",
- CyanWallBanner => "minecraft:cyan_wall_banner",
- PurpleWallBanner => "minecraft:purple_wall_banner",
- BlueWallBanner => "minecraft:blue_wall_banner",
- BrownWallBanner => "minecraft:brown_wall_banner",
- GreenWallBanner => "minecraft:green_wall_banner",
- RedWallBanner => "minecraft:red_wall_banner",
- BlackWallBanner => "minecraft:black_wall_banner",
- RedSandstone => "minecraft:red_sandstone",
- ChiseledRedSandstone => "minecraft:chiseled_red_sandstone",
- CutRedSandstone => "minecraft:cut_red_sandstone",
- RedSandstoneStairs => "minecraft:red_sandstone_stairs",
- OakSlab => "minecraft:oak_slab",
- SpruceSlab => "minecraft:spruce_slab",
- BirchSlab => "minecraft:birch_slab",
- JungleSlab => "minecraft:jungle_slab",
- AcaciaSlab => "minecraft:acacia_slab",
- CherrySlab => "minecraft:cherry_slab",
- DarkOakSlab => "minecraft:dark_oak_slab",
- PaleOakSlab => "minecraft:pale_oak_slab",
- MangroveSlab => "minecraft:mangrove_slab",
- BambooSlab => "minecraft:bamboo_slab",
- BambooMosaicSlab => "minecraft:bamboo_mosaic_slab",
- StoneSlab => "minecraft:stone_slab",
- SmoothStoneSlab => "minecraft:smooth_stone_slab",
- SandstoneSlab => "minecraft:sandstone_slab",
- CutSandstoneSlab => "minecraft:cut_sandstone_slab",
- PetrifiedOakSlab => "minecraft:petrified_oak_slab",
- CobblestoneSlab => "minecraft:cobblestone_slab",
- BrickSlab => "minecraft:brick_slab",
- StoneBrickSlab => "minecraft:stone_brick_slab",
- MudBrickSlab => "minecraft:mud_brick_slab",
- NetherBrickSlab => "minecraft:nether_brick_slab",
- QuartzSlab => "minecraft:quartz_slab",
- RedSandstoneSlab => "minecraft:red_sandstone_slab",
- CutRedSandstoneSlab => "minecraft:cut_red_sandstone_slab",
- PurpurSlab => "minecraft:purpur_slab",
- SmoothStone => "minecraft:smooth_stone",
- SmoothSandstone => "minecraft:smooth_sandstone",
- SmoothQuartz => "minecraft:smooth_quartz",
- SmoothRedSandstone => "minecraft:smooth_red_sandstone",
- SpruceFenceGate => "minecraft:spruce_fence_gate",
- BirchFenceGate => "minecraft:birch_fence_gate",
- JungleFenceGate => "minecraft:jungle_fence_gate",
- AcaciaFenceGate => "minecraft:acacia_fence_gate",
- CherryFenceGate => "minecraft:cherry_fence_gate",
- DarkOakFenceGate => "minecraft:dark_oak_fence_gate",
- PaleOakFenceGate => "minecraft:pale_oak_fence_gate",
- MangroveFenceGate => "minecraft:mangrove_fence_gate",
- BambooFenceGate => "minecraft:bamboo_fence_gate",
- SpruceFence => "minecraft:spruce_fence",
- BirchFence => "minecraft:birch_fence",
- JungleFence => "minecraft:jungle_fence",
- AcaciaFence => "minecraft:acacia_fence",
- CherryFence => "minecraft:cherry_fence",
- DarkOakFence => "minecraft:dark_oak_fence",
- PaleOakFence => "minecraft:pale_oak_fence",
- MangroveFence => "minecraft:mangrove_fence",
- BambooFence => "minecraft:bamboo_fence",
- SpruceDoor => "minecraft:spruce_door",
- BirchDoor => "minecraft:birch_door",
- JungleDoor => "minecraft:jungle_door",
- AcaciaDoor => "minecraft:acacia_door",
- CherryDoor => "minecraft:cherry_door",
- DarkOakDoor => "minecraft:dark_oak_door",
- PaleOakDoor => "minecraft:pale_oak_door",
- MangroveDoor => "minecraft:mangrove_door",
- BambooDoor => "minecraft:bamboo_door",
- EndRod => "minecraft:end_rod",
- ChorusPlant => "minecraft:chorus_plant",
- ChorusFlower => "minecraft:chorus_flower",
- PurpurBlock => "minecraft:purpur_block",
- PurpurPillar => "minecraft:purpur_pillar",
- PurpurStairs => "minecraft:purpur_stairs",
- EndStoneBricks => "minecraft:end_stone_bricks",
- TorchflowerCrop => "minecraft:torchflower_crop",
- PitcherCrop => "minecraft:pitcher_crop",
- PitcherPlant => "minecraft:pitcher_plant",
- Beetroots => "minecraft:beetroots",
- DirtPath => "minecraft:dirt_path",
- EndGateway => "minecraft:end_gateway",
- RepeatingCommandBlock => "minecraft:repeating_command_block",
- ChainCommandBlock => "minecraft:chain_command_block",
- FrostedIce => "minecraft:frosted_ice",
- MagmaBlock => "minecraft:magma_block",
- NetherWartBlock => "minecraft:nether_wart_block",
- RedNetherBricks => "minecraft:red_nether_bricks",
- BoneBlock => "minecraft:bone_block",
- StructureVoid => "minecraft:structure_void",
- Observer => "minecraft:observer",
- ShulkerBox => "minecraft:shulker_box",
- WhiteShulkerBox => "minecraft:white_shulker_box",
- OrangeShulkerBox => "minecraft:orange_shulker_box",
- MagentaShulkerBox => "minecraft:magenta_shulker_box",
- LightBlueShulkerBox => "minecraft:light_blue_shulker_box",
- YellowShulkerBox => "minecraft:yellow_shulker_box",
- LimeShulkerBox => "minecraft:lime_shulker_box",
- PinkShulkerBox => "minecraft:pink_shulker_box",
- GrayShulkerBox => "minecraft:gray_shulker_box",
- LightGrayShulkerBox => "minecraft:light_gray_shulker_box",
- CyanShulkerBox => "minecraft:cyan_shulker_box",
- PurpleShulkerBox => "minecraft:purple_shulker_box",
- BlueShulkerBox => "minecraft:blue_shulker_box",
- BrownShulkerBox => "minecraft:brown_shulker_box",
- GreenShulkerBox => "minecraft:green_shulker_box",
- RedShulkerBox => "minecraft:red_shulker_box",
- BlackShulkerBox => "minecraft:black_shulker_box",
- WhiteGlazedTerracotta => "minecraft:white_glazed_terracotta",
- OrangeGlazedTerracotta => "minecraft:orange_glazed_terracotta",
- MagentaGlazedTerracotta => "minecraft:magenta_glazed_terracotta",
- LightBlueGlazedTerracotta => "minecraft:light_blue_glazed_terracotta",
- YellowGlazedTerracotta => "minecraft:yellow_glazed_terracotta",
- LimeGlazedTerracotta => "minecraft:lime_glazed_terracotta",
- PinkGlazedTerracotta => "minecraft:pink_glazed_terracotta",
- GrayGlazedTerracotta => "minecraft:gray_glazed_terracotta",
- LightGrayGlazedTerracotta => "minecraft:light_gray_glazed_terracotta",
- CyanGlazedTerracotta => "minecraft:cyan_glazed_terracotta",
- PurpleGlazedTerracotta => "minecraft:purple_glazed_terracotta",
- BlueGlazedTerracotta => "minecraft:blue_glazed_terracotta",
- BrownGlazedTerracotta => "minecraft:brown_glazed_terracotta",
- GreenGlazedTerracotta => "minecraft:green_glazed_terracotta",
- RedGlazedTerracotta => "minecraft:red_glazed_terracotta",
- BlackGlazedTerracotta => "minecraft:black_glazed_terracotta",
- WhiteConcrete => "minecraft:white_concrete",
- OrangeConcrete => "minecraft:orange_concrete",
- MagentaConcrete => "minecraft:magenta_concrete",
- LightBlueConcrete => "minecraft:light_blue_concrete",
- YellowConcrete => "minecraft:yellow_concrete",
- LimeConcrete => "minecraft:lime_concrete",
- PinkConcrete => "minecraft:pink_concrete",
- GrayConcrete => "minecraft:gray_concrete",
- LightGrayConcrete => "minecraft:light_gray_concrete",
- CyanConcrete => "minecraft:cyan_concrete",
- PurpleConcrete => "minecraft:purple_concrete",
- BlueConcrete => "minecraft:blue_concrete",
- BrownConcrete => "minecraft:brown_concrete",
- GreenConcrete => "minecraft:green_concrete",
- RedConcrete => "minecraft:red_concrete",
- BlackConcrete => "minecraft:black_concrete",
- WhiteConcretePowder => "minecraft:white_concrete_powder",
- OrangeConcretePowder => "minecraft:orange_concrete_powder",
- MagentaConcretePowder => "minecraft:magenta_concrete_powder",
- LightBlueConcretePowder => "minecraft:light_blue_concrete_powder",
- YellowConcretePowder => "minecraft:yellow_concrete_powder",
- LimeConcretePowder => "minecraft:lime_concrete_powder",
- PinkConcretePowder => "minecraft:pink_concrete_powder",
- GrayConcretePowder => "minecraft:gray_concrete_powder",
- LightGrayConcretePowder => "minecraft:light_gray_concrete_powder",
- CyanConcretePowder => "minecraft:cyan_concrete_powder",
- PurpleConcretePowder => "minecraft:purple_concrete_powder",
- BlueConcretePowder => "minecraft:blue_concrete_powder",
- BrownConcretePowder => "minecraft:brown_concrete_powder",
- GreenConcretePowder => "minecraft:green_concrete_powder",
- RedConcretePowder => "minecraft:red_concrete_powder",
- BlackConcretePowder => "minecraft:black_concrete_powder",
- Kelp => "minecraft:kelp",
- KelpPlant => "minecraft:kelp_plant",
- DriedKelpBlock => "minecraft:dried_kelp_block",
- TurtleEgg => "minecraft:turtle_egg",
- SnifferEgg => "minecraft:sniffer_egg",
- DriedGhast => "minecraft:dried_ghast",
- DeadTubeCoralBlock => "minecraft:dead_tube_coral_block",
- DeadBrainCoralBlock => "minecraft:dead_brain_coral_block",
- DeadBubbleCoralBlock => "minecraft:dead_bubble_coral_block",
- DeadFireCoralBlock => "minecraft:dead_fire_coral_block",
- DeadHornCoralBlock => "minecraft:dead_horn_coral_block",
- TubeCoralBlock => "minecraft:tube_coral_block",
- BrainCoralBlock => "minecraft:brain_coral_block",
- BubbleCoralBlock => "minecraft:bubble_coral_block",
- FireCoralBlock => "minecraft:fire_coral_block",
- HornCoralBlock => "minecraft:horn_coral_block",
- DeadTubeCoral => "minecraft:dead_tube_coral",
- DeadBrainCoral => "minecraft:dead_brain_coral",
- DeadBubbleCoral => "minecraft:dead_bubble_coral",
- DeadFireCoral => "minecraft:dead_fire_coral",
- DeadHornCoral => "minecraft:dead_horn_coral",
- TubeCoral => "minecraft:tube_coral",
- BrainCoral => "minecraft:brain_coral",
- BubbleCoral => "minecraft:bubble_coral",
- FireCoral => "minecraft:fire_coral",
- HornCoral => "minecraft:horn_coral",
- DeadTubeCoralFan => "minecraft:dead_tube_coral_fan",
- DeadBrainCoralFan => "minecraft:dead_brain_coral_fan",
- DeadBubbleCoralFan => "minecraft:dead_bubble_coral_fan",
- DeadFireCoralFan => "minecraft:dead_fire_coral_fan",
- DeadHornCoralFan => "minecraft:dead_horn_coral_fan",
- TubeCoralFan => "minecraft:tube_coral_fan",
- BrainCoralFan => "minecraft:brain_coral_fan",
- BubbleCoralFan => "minecraft:bubble_coral_fan",
- FireCoralFan => "minecraft:fire_coral_fan",
- HornCoralFan => "minecraft:horn_coral_fan",
- DeadTubeCoralWallFan => "minecraft:dead_tube_coral_wall_fan",
- DeadBrainCoralWallFan => "minecraft:dead_brain_coral_wall_fan",
- DeadBubbleCoralWallFan => "minecraft:dead_bubble_coral_wall_fan",
- DeadFireCoralWallFan => "minecraft:dead_fire_coral_wall_fan",
- DeadHornCoralWallFan => "minecraft:dead_horn_coral_wall_fan",
- TubeCoralWallFan => "minecraft:tube_coral_wall_fan",
- BrainCoralWallFan => "minecraft:brain_coral_wall_fan",
- BubbleCoralWallFan => "minecraft:bubble_coral_wall_fan",
- FireCoralWallFan => "minecraft:fire_coral_wall_fan",
- HornCoralWallFan => "minecraft:horn_coral_wall_fan",
- SeaPickle => "minecraft:sea_pickle",
- BlueIce => "minecraft:blue_ice",
- Conduit => "minecraft:conduit",
- BambooSapling => "minecraft:bamboo_sapling",
- Bamboo => "minecraft:bamboo",
- PottedBamboo => "minecraft:potted_bamboo",
- VoidAir => "minecraft:void_air",
- CaveAir => "minecraft:cave_air",
- BubbleColumn => "minecraft:bubble_column",
- PolishedGraniteStairs => "minecraft:polished_granite_stairs",
- SmoothRedSandstoneStairs => "minecraft:smooth_red_sandstone_stairs",
- MossyStoneBrickStairs => "minecraft:mossy_stone_brick_stairs",
- PolishedDioriteStairs => "minecraft:polished_diorite_stairs",
- MossyCobblestoneStairs => "minecraft:mossy_cobblestone_stairs",
- EndStoneBrickStairs => "minecraft:end_stone_brick_stairs",
- StoneStairs => "minecraft:stone_stairs",
- SmoothSandstoneStairs => "minecraft:smooth_sandstone_stairs",
- SmoothQuartzStairs => "minecraft:smooth_quartz_stairs",
- GraniteStairs => "minecraft:granite_stairs",
- AndesiteStairs => "minecraft:andesite_stairs",
- RedNetherBrickStairs => "minecraft:red_nether_brick_stairs",
- PolishedAndesiteStairs => "minecraft:polished_andesite_stairs",
- DioriteStairs => "minecraft:diorite_stairs",
- PolishedGraniteSlab => "minecraft:polished_granite_slab",
- SmoothRedSandstoneSlab => "minecraft:smooth_red_sandstone_slab",
- MossyStoneBrickSlab => "minecraft:mossy_stone_brick_slab",
- PolishedDioriteSlab => "minecraft:polished_diorite_slab",
- MossyCobblestoneSlab => "minecraft:mossy_cobblestone_slab",
- EndStoneBrickSlab => "minecraft:end_stone_brick_slab",
- SmoothSandstoneSlab => "minecraft:smooth_sandstone_slab",
- SmoothQuartzSlab => "minecraft:smooth_quartz_slab",
- GraniteSlab => "minecraft:granite_slab",
- AndesiteSlab => "minecraft:andesite_slab",
- RedNetherBrickSlab => "minecraft:red_nether_brick_slab",
- PolishedAndesiteSlab => "minecraft:polished_andesite_slab",
- DioriteSlab => "minecraft:diorite_slab",
- BrickWall => "minecraft:brick_wall",
- PrismarineWall => "minecraft:prismarine_wall",
- RedSandstoneWall => "minecraft:red_sandstone_wall",
- MossyStoneBrickWall => "minecraft:mossy_stone_brick_wall",
- GraniteWall => "minecraft:granite_wall",
- StoneBrickWall => "minecraft:stone_brick_wall",
- MudBrickWall => "minecraft:mud_brick_wall",
- NetherBrickWall => "minecraft:nether_brick_wall",
- AndesiteWall => "minecraft:andesite_wall",
- RedNetherBrickWall => "minecraft:red_nether_brick_wall",
- SandstoneWall => "minecraft:sandstone_wall",
- EndStoneBrickWall => "minecraft:end_stone_brick_wall",
- DioriteWall => "minecraft:diorite_wall",
- Scaffolding => "minecraft:scaffolding",
- Loom => "minecraft:loom",
- Barrel => "minecraft:barrel",
- Smoker => "minecraft:smoker",
- BlastFurnace => "minecraft:blast_furnace",
- CartographyTable => "minecraft:cartography_table",
- FletchingTable => "minecraft:fletching_table",
- Grindstone => "minecraft:grindstone",
- Lectern => "minecraft:lectern",
- SmithingTable => "minecraft:smithing_table",
- Stonecutter => "minecraft:stonecutter",
- Bell => "minecraft:bell",
- Lantern => "minecraft:lantern",
- SoulLantern => "minecraft:soul_lantern",
- CopperLantern => "minecraft:copper_lantern",
- ExposedCopperLantern => "minecraft:exposed_copper_lantern",
- WeatheredCopperLantern => "minecraft:weathered_copper_lantern",
- OxidizedCopperLantern => "minecraft:oxidized_copper_lantern",
- WaxedCopperLantern => "minecraft:waxed_copper_lantern",
- WaxedExposedCopperLantern => "minecraft:waxed_exposed_copper_lantern",
- WaxedWeatheredCopperLantern => "minecraft:waxed_weathered_copper_lantern",
- WaxedOxidizedCopperLantern => "minecraft:waxed_oxidized_copper_lantern",
- Campfire => "minecraft:campfire",
- SoulCampfire => "minecraft:soul_campfire",
- SweetBerryBush => "minecraft:sweet_berry_bush",
- WarpedStem => "minecraft:warped_stem",
- StrippedWarpedStem => "minecraft:stripped_warped_stem",
- WarpedHyphae => "minecraft:warped_hyphae",
- StrippedWarpedHyphae => "minecraft:stripped_warped_hyphae",
- WarpedNylium => "minecraft:warped_nylium",
- WarpedFungus => "minecraft:warped_fungus",
- WarpedWartBlock => "minecraft:warped_wart_block",
- WarpedRoots => "minecraft:warped_roots",
- NetherSprouts => "minecraft:nether_sprouts",
- CrimsonStem => "minecraft:crimson_stem",
- StrippedCrimsonStem => "minecraft:stripped_crimson_stem",
- CrimsonHyphae => "minecraft:crimson_hyphae",
- StrippedCrimsonHyphae => "minecraft:stripped_crimson_hyphae",
- CrimsonNylium => "minecraft:crimson_nylium",
- CrimsonFungus => "minecraft:crimson_fungus",
- Shroomlight => "minecraft:shroomlight",
- WeepingVines => "minecraft:weeping_vines",
- WeepingVinesPlant => "minecraft:weeping_vines_plant",
- TwistingVines => "minecraft:twisting_vines",
- TwistingVinesPlant => "minecraft:twisting_vines_plant",
- CrimsonRoots => "minecraft:crimson_roots",
- CrimsonPlanks => "minecraft:crimson_planks",
- WarpedPlanks => "minecraft:warped_planks",
- CrimsonSlab => "minecraft:crimson_slab",
- WarpedSlab => "minecraft:warped_slab",
- CrimsonPressurePlate => "minecraft:crimson_pressure_plate",
- WarpedPressurePlate => "minecraft:warped_pressure_plate",
- CrimsonFence => "minecraft:crimson_fence",
- WarpedFence => "minecraft:warped_fence",
- CrimsonTrapdoor => "minecraft:crimson_trapdoor",
- WarpedTrapdoor => "minecraft:warped_trapdoor",
- CrimsonFenceGate => "minecraft:crimson_fence_gate",
- WarpedFenceGate => "minecraft:warped_fence_gate",
- CrimsonStairs => "minecraft:crimson_stairs",
- WarpedStairs => "minecraft:warped_stairs",
- CrimsonButton => "minecraft:crimson_button",
- WarpedButton => "minecraft:warped_button",
- CrimsonDoor => "minecraft:crimson_door",
- WarpedDoor => "minecraft:warped_door",
- CrimsonSign => "minecraft:crimson_sign",
- WarpedSign => "minecraft:warped_sign",
- CrimsonWallSign => "minecraft:crimson_wall_sign",
- WarpedWallSign => "minecraft:warped_wall_sign",
- StructureBlock => "minecraft:structure_block",
- Jigsaw => "minecraft:jigsaw",
- TestBlock => "minecraft:test_block",
- TestInstanceBlock => "minecraft:test_instance_block",
- Composter => "minecraft:composter",
- Target => "minecraft:target",
- BeeNest => "minecraft:bee_nest",
- Beehive => "minecraft:beehive",
- HoneyBlock => "minecraft:honey_block",
- HoneycombBlock => "minecraft:honeycomb_block",
- NetheriteBlock => "minecraft:netherite_block",
- AncientDebris => "minecraft:ancient_debris",
- CryingObsidian => "minecraft:crying_obsidian",
- RespawnAnchor => "minecraft:respawn_anchor",
- PottedCrimsonFungus => "minecraft:potted_crimson_fungus",
- PottedWarpedFungus => "minecraft:potted_warped_fungus",
- PottedCrimsonRoots => "minecraft:potted_crimson_roots",
- PottedWarpedRoots => "minecraft:potted_warped_roots",
- Lodestone => "minecraft:lodestone",
- Blackstone => "minecraft:blackstone",
- BlackstoneStairs => "minecraft:blackstone_stairs",
- BlackstoneWall => "minecraft:blackstone_wall",
- BlackstoneSlab => "minecraft:blackstone_slab",
- PolishedBlackstone => "minecraft:polished_blackstone",
- PolishedBlackstoneBricks => "minecraft:polished_blackstone_bricks",
- CrackedPolishedBlackstoneBricks => "minecraft:cracked_polished_blackstone_bricks",
- ChiseledPolishedBlackstone => "minecraft:chiseled_polished_blackstone",
- PolishedBlackstoneBrickSlab => "minecraft:polished_blackstone_brick_slab",
- PolishedBlackstoneBrickStairs => "minecraft:polished_blackstone_brick_stairs",
- PolishedBlackstoneBrickWall => "minecraft:polished_blackstone_brick_wall",
- GildedBlackstone => "minecraft:gilded_blackstone",
- PolishedBlackstoneStairs => "minecraft:polished_blackstone_stairs",
- PolishedBlackstoneSlab => "minecraft:polished_blackstone_slab",
- PolishedBlackstonePressurePlate => "minecraft:polished_blackstone_pressure_plate",
- PolishedBlackstoneButton => "minecraft:polished_blackstone_button",
- PolishedBlackstoneWall => "minecraft:polished_blackstone_wall",
- ChiseledNetherBricks => "minecraft:chiseled_nether_bricks",
- CrackedNetherBricks => "minecraft:cracked_nether_bricks",
- QuartzBricks => "minecraft:quartz_bricks",
- Candle => "minecraft:candle",
- WhiteCandle => "minecraft:white_candle",
- OrangeCandle => "minecraft:orange_candle",
- MagentaCandle => "minecraft:magenta_candle",
- LightBlueCandle => "minecraft:light_blue_candle",
- YellowCandle => "minecraft:yellow_candle",
- LimeCandle => "minecraft:lime_candle",
- PinkCandle => "minecraft:pink_candle",
- GrayCandle => "minecraft:gray_candle",
- LightGrayCandle => "minecraft:light_gray_candle",
- CyanCandle => "minecraft:cyan_candle",
- PurpleCandle => "minecraft:purple_candle",
- BlueCandle => "minecraft:blue_candle",
- BrownCandle => "minecraft:brown_candle",
- GreenCandle => "minecraft:green_candle",
- RedCandle => "minecraft:red_candle",
- BlackCandle => "minecraft:black_candle",
- CandleCake => "minecraft:candle_cake",
- WhiteCandleCake => "minecraft:white_candle_cake",
- OrangeCandleCake => "minecraft:orange_candle_cake",
- MagentaCandleCake => "minecraft:magenta_candle_cake",
- LightBlueCandleCake => "minecraft:light_blue_candle_cake",
- YellowCandleCake => "minecraft:yellow_candle_cake",
- LimeCandleCake => "minecraft:lime_candle_cake",
- PinkCandleCake => "minecraft:pink_candle_cake",
- GrayCandleCake => "minecraft:gray_candle_cake",
- LightGrayCandleCake => "minecraft:light_gray_candle_cake",
- CyanCandleCake => "minecraft:cyan_candle_cake",
- PurpleCandleCake => "minecraft:purple_candle_cake",
- BlueCandleCake => "minecraft:blue_candle_cake",
- BrownCandleCake => "minecraft:brown_candle_cake",
- GreenCandleCake => "minecraft:green_candle_cake",
- RedCandleCake => "minecraft:red_candle_cake",
- BlackCandleCake => "minecraft:black_candle_cake",
- AmethystBlock => "minecraft:amethyst_block",
- BuddingAmethyst => "minecraft:budding_amethyst",
- AmethystCluster => "minecraft:amethyst_cluster",
- LargeAmethystBud => "minecraft:large_amethyst_bud",
- MediumAmethystBud => "minecraft:medium_amethyst_bud",
- SmallAmethystBud => "minecraft:small_amethyst_bud",
- Tuff => "minecraft:tuff",
- TuffSlab => "minecraft:tuff_slab",
- TuffStairs => "minecraft:tuff_stairs",
- TuffWall => "minecraft:tuff_wall",
- PolishedTuff => "minecraft:polished_tuff",
- PolishedTuffSlab => "minecraft:polished_tuff_slab",
- PolishedTuffStairs => "minecraft:polished_tuff_stairs",
- PolishedTuffWall => "minecraft:polished_tuff_wall",
- ChiseledTuff => "minecraft:chiseled_tuff",
- TuffBricks => "minecraft:tuff_bricks",
- TuffBrickSlab => "minecraft:tuff_brick_slab",
- TuffBrickStairs => "minecraft:tuff_brick_stairs",
- TuffBrickWall => "minecraft:tuff_brick_wall",
- ChiseledTuffBricks => "minecraft:chiseled_tuff_bricks",
- Calcite => "minecraft:calcite",
- TintedGlass => "minecraft:tinted_glass",
- PowderSnow => "minecraft:powder_snow",
- SculkSensor => "minecraft:sculk_sensor",
- CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
- Sculk => "minecraft:sculk",
- SculkVein => "minecraft:sculk_vein",
- SculkCatalyst => "minecraft:sculk_catalyst",
- SculkShrieker => "minecraft:sculk_shrieker",
- CopperBlock => "minecraft:copper_block",
- ExposedCopper => "minecraft:exposed_copper",
- WeatheredCopper => "minecraft:weathered_copper",
- OxidizedCopper => "minecraft:oxidized_copper",
- CopperOre => "minecraft:copper_ore",
- DeepslateCopperOre => "minecraft:deepslate_copper_ore",
- OxidizedCutCopper => "minecraft:oxidized_cut_copper",
- WeatheredCutCopper => "minecraft:weathered_cut_copper",
- ExposedCutCopper => "minecraft:exposed_cut_copper",
- CutCopper => "minecraft:cut_copper",
- OxidizedChiseledCopper => "minecraft:oxidized_chiseled_copper",
- WeatheredChiseledCopper => "minecraft:weathered_chiseled_copper",
- ExposedChiseledCopper => "minecraft:exposed_chiseled_copper",
- ChiseledCopper => "minecraft:chiseled_copper",
- WaxedOxidizedChiseledCopper => "minecraft:waxed_oxidized_chiseled_copper",
- WaxedWeatheredChiseledCopper => "minecraft:waxed_weathered_chiseled_copper",
- WaxedExposedChiseledCopper => "minecraft:waxed_exposed_chiseled_copper",
- WaxedChiseledCopper => "minecraft:waxed_chiseled_copper",
- OxidizedCutCopperStairs => "minecraft:oxidized_cut_copper_stairs",
- WeatheredCutCopperStairs => "minecraft:weathered_cut_copper_stairs",
- ExposedCutCopperStairs => "minecraft:exposed_cut_copper_stairs",
- CutCopperStairs => "minecraft:cut_copper_stairs",
- OxidizedCutCopperSlab => "minecraft:oxidized_cut_copper_slab",
- WeatheredCutCopperSlab => "minecraft:weathered_cut_copper_slab",
- ExposedCutCopperSlab => "minecraft:exposed_cut_copper_slab",
- CutCopperSlab => "minecraft:cut_copper_slab",
- WaxedCopperBlock => "minecraft:waxed_copper_block",
- WaxedWeatheredCopper => "minecraft:waxed_weathered_copper",
- WaxedExposedCopper => "minecraft:waxed_exposed_copper",
- WaxedOxidizedCopper => "minecraft:waxed_oxidized_copper",
- WaxedOxidizedCutCopper => "minecraft:waxed_oxidized_cut_copper",
- WaxedWeatheredCutCopper => "minecraft:waxed_weathered_cut_copper",
- WaxedExposedCutCopper => "minecraft:waxed_exposed_cut_copper",
- WaxedCutCopper => "minecraft:waxed_cut_copper",
- WaxedOxidizedCutCopperStairs => "minecraft:waxed_oxidized_cut_copper_stairs",
- WaxedWeatheredCutCopperStairs => "minecraft:waxed_weathered_cut_copper_stairs",
- WaxedExposedCutCopperStairs => "minecraft:waxed_exposed_cut_copper_stairs",
- WaxedCutCopperStairs => "minecraft:waxed_cut_copper_stairs",
- WaxedOxidizedCutCopperSlab => "minecraft:waxed_oxidized_cut_copper_slab",
- WaxedWeatheredCutCopperSlab => "minecraft:waxed_weathered_cut_copper_slab",
- WaxedExposedCutCopperSlab => "minecraft:waxed_exposed_cut_copper_slab",
- WaxedCutCopperSlab => "minecraft:waxed_cut_copper_slab",
- CopperDoor => "minecraft:copper_door",
- ExposedCopperDoor => "minecraft:exposed_copper_door",
- OxidizedCopperDoor => "minecraft:oxidized_copper_door",
- WeatheredCopperDoor => "minecraft:weathered_copper_door",
- WaxedCopperDoor => "minecraft:waxed_copper_door",
- WaxedExposedCopperDoor => "minecraft:waxed_exposed_copper_door",
- WaxedOxidizedCopperDoor => "minecraft:waxed_oxidized_copper_door",
- WaxedWeatheredCopperDoor => "minecraft:waxed_weathered_copper_door",
- CopperTrapdoor => "minecraft:copper_trapdoor",
- ExposedCopperTrapdoor => "minecraft:exposed_copper_trapdoor",
- OxidizedCopperTrapdoor => "minecraft:oxidized_copper_trapdoor",
- WeatheredCopperTrapdoor => "minecraft:weathered_copper_trapdoor",
- WaxedCopperTrapdoor => "minecraft:waxed_copper_trapdoor",
- WaxedExposedCopperTrapdoor => "minecraft:waxed_exposed_copper_trapdoor",
- WaxedOxidizedCopperTrapdoor => "minecraft:waxed_oxidized_copper_trapdoor",
- WaxedWeatheredCopperTrapdoor => "minecraft:waxed_weathered_copper_trapdoor",
- CopperGrate => "minecraft:copper_grate",
- ExposedCopperGrate => "minecraft:exposed_copper_grate",
- WeatheredCopperGrate => "minecraft:weathered_copper_grate",
- OxidizedCopperGrate => "minecraft:oxidized_copper_grate",
- WaxedCopperGrate => "minecraft:waxed_copper_grate",
- WaxedExposedCopperGrate => "minecraft:waxed_exposed_copper_grate",
- WaxedWeatheredCopperGrate => "minecraft:waxed_weathered_copper_grate",
- WaxedOxidizedCopperGrate => "minecraft:waxed_oxidized_copper_grate",
- CopperBulb => "minecraft:copper_bulb",
- ExposedCopperBulb => "minecraft:exposed_copper_bulb",
- WeatheredCopperBulb => "minecraft:weathered_copper_bulb",
- OxidizedCopperBulb => "minecraft:oxidized_copper_bulb",
- WaxedCopperBulb => "minecraft:waxed_copper_bulb",
- WaxedExposedCopperBulb => "minecraft:waxed_exposed_copper_bulb",
- WaxedWeatheredCopperBulb => "minecraft:waxed_weathered_copper_bulb",
- WaxedOxidizedCopperBulb => "minecraft:waxed_oxidized_copper_bulb",
- CopperChest => "minecraft:copper_chest",
- ExposedCopperChest => "minecraft:exposed_copper_chest",
- WeatheredCopperChest => "minecraft:weathered_copper_chest",
- OxidizedCopperChest => "minecraft:oxidized_copper_chest",
- WaxedCopperChest => "minecraft:waxed_copper_chest",
- WaxedExposedCopperChest => "minecraft:waxed_exposed_copper_chest",
- WaxedWeatheredCopperChest => "minecraft:waxed_weathered_copper_chest",
- WaxedOxidizedCopperChest => "minecraft:waxed_oxidized_copper_chest",
- CopperGolemStatue => "minecraft:copper_golem_statue",
- ExposedCopperGolemStatue => "minecraft:exposed_copper_golem_statue",
- WeatheredCopperGolemStatue => "minecraft:weathered_copper_golem_statue",
- OxidizedCopperGolemStatue => "minecraft:oxidized_copper_golem_statue",
- WaxedCopperGolemStatue => "minecraft:waxed_copper_golem_statue",
- WaxedExposedCopperGolemStatue => "minecraft:waxed_exposed_copper_golem_statue",
- WaxedWeatheredCopperGolemStatue => "minecraft:waxed_weathered_copper_golem_statue",
- WaxedOxidizedCopperGolemStatue => "minecraft:waxed_oxidized_copper_golem_statue",
- LightningRod => "minecraft:lightning_rod",
- ExposedLightningRod => "minecraft:exposed_lightning_rod",
- WeatheredLightningRod => "minecraft:weathered_lightning_rod",
- OxidizedLightningRod => "minecraft:oxidized_lightning_rod",
- WaxedLightningRod => "minecraft:waxed_lightning_rod",
- WaxedExposedLightningRod => "minecraft:waxed_exposed_lightning_rod",
- WaxedWeatheredLightningRod => "minecraft:waxed_weathered_lightning_rod",
- WaxedOxidizedLightningRod => "minecraft:waxed_oxidized_lightning_rod",
- PointedDripstone => "minecraft:pointed_dripstone",
- DripstoneBlock => "minecraft:dripstone_block",
- CaveVines => "minecraft:cave_vines",
- CaveVinesPlant => "minecraft:cave_vines_plant",
- SporeBlossom => "minecraft:spore_blossom",
- Azalea => "minecraft:azalea",
- FloweringAzalea => "minecraft:flowering_azalea",
- MossCarpet => "minecraft:moss_carpet",
- PinkPetals => "minecraft:pink_petals",
- Wildflowers => "minecraft:wildflowers",
- LeafLitter => "minecraft:leaf_litter",
- MossBlock => "minecraft:moss_block",
- BigDripleaf => "minecraft:big_dripleaf",
- BigDripleafStem => "minecraft:big_dripleaf_stem",
- SmallDripleaf => "minecraft:small_dripleaf",
- HangingRoots => "minecraft:hanging_roots",
- RootedDirt => "minecraft:rooted_dirt",
- Mud => "minecraft:mud",
- Deepslate => "minecraft:deepslate",
- CobbledDeepslate => "minecraft:cobbled_deepslate",
- CobbledDeepslateStairs => "minecraft:cobbled_deepslate_stairs",
- CobbledDeepslateSlab => "minecraft:cobbled_deepslate_slab",
- CobbledDeepslateWall => "minecraft:cobbled_deepslate_wall",
- PolishedDeepslate => "minecraft:polished_deepslate",
- PolishedDeepslateStairs => "minecraft:polished_deepslate_stairs",
- PolishedDeepslateSlab => "minecraft:polished_deepslate_slab",
- PolishedDeepslateWall => "minecraft:polished_deepslate_wall",
- DeepslateTiles => "minecraft:deepslate_tiles",
- DeepslateTileStairs => "minecraft:deepslate_tile_stairs",
- DeepslateTileSlab => "minecraft:deepslate_tile_slab",
- DeepslateTileWall => "minecraft:deepslate_tile_wall",
- DeepslateBricks => "minecraft:deepslate_bricks",
- DeepslateBrickStairs => "minecraft:deepslate_brick_stairs",
- DeepslateBrickSlab => "minecraft:deepslate_brick_slab",
- DeepslateBrickWall => "minecraft:deepslate_brick_wall",
- ChiseledDeepslate => "minecraft:chiseled_deepslate",
- CrackedDeepslateBricks => "minecraft:cracked_deepslate_bricks",
- CrackedDeepslateTiles => "minecraft:cracked_deepslate_tiles",
- InfestedDeepslate => "minecraft:infested_deepslate",
- SmoothBasalt => "minecraft:smooth_basalt",
- RawIronBlock => "minecraft:raw_iron_block",
- RawCopperBlock => "minecraft:raw_copper_block",
- RawGoldBlock => "minecraft:raw_gold_block",
- PottedAzaleaBush => "minecraft:potted_azalea_bush",
- PottedFloweringAzaleaBush => "minecraft:potted_flowering_azalea_bush",
- OchreFroglight => "minecraft:ochre_froglight",
- VerdantFroglight => "minecraft:verdant_froglight",
- PearlescentFroglight => "minecraft:pearlescent_froglight",
- Frogspawn => "minecraft:frogspawn",
- ReinforcedDeepslate => "minecraft:reinforced_deepslate",
- DecoratedPot => "minecraft:decorated_pot",
- Crafter => "minecraft:crafter",
- TrialSpawner => "minecraft:trial_spawner",
- Vault => "minecraft:vault",
- HeavyCore => "minecraft:heavy_core",
- PaleMossBlock => "minecraft:pale_moss_block",
- PaleMossCarpet => "minecraft:pale_moss_carpet",
- PaleHangingMoss => "minecraft:pale_hanging_moss",
- OpenEyeblossom => "minecraft:open_eyeblossom",
- ClosedEyeblossom => "minecraft:closed_eyeblossom",
- PottedOpenEyeblossom => "minecraft:potted_open_eyeblossom",
- PottedClosedEyeblossom => "minecraft:potted_closed_eyeblossom",
- FireflyBush => "minecraft:firefly_bush",
-}
-}
-
-registry! {
-/// An enum that contains every type of block entity.
-///
-/// A block entity is a block that contains data that can't be represented as
-/// just a block state, like how chests store items.
-enum BlockEntityKind {
- Furnace => "minecraft:furnace",
- Chest => "minecraft:chest",
- TrappedChest => "minecraft:trapped_chest",
- EnderChest => "minecraft:ender_chest",
- Jukebox => "minecraft:jukebox",
- Dispenser => "minecraft:dispenser",
- Dropper => "minecraft:dropper",
- Sign => "minecraft:sign",
- HangingSign => "minecraft:hanging_sign",
- MobSpawner => "minecraft:mob_spawner",
- CreakingHeart => "minecraft:creaking_heart",
- Piston => "minecraft:piston",
- BrewingStand => "minecraft:brewing_stand",
- EnchantingTable => "minecraft:enchanting_table",
- EndPortal => "minecraft:end_portal",
- Beacon => "minecraft:beacon",
- Skull => "minecraft:skull",
- DaylightDetector => "minecraft:daylight_detector",
- Hopper => "minecraft:hopper",
- Comparator => "minecraft:comparator",
- Banner => "minecraft:banner",
- StructureBlock => "minecraft:structure_block",
- EndGateway => "minecraft:end_gateway",
- CommandBlock => "minecraft:command_block",
- ShulkerBox => "minecraft:shulker_box",
- Bed => "minecraft:bed",
- Conduit => "minecraft:conduit",
- Barrel => "minecraft:barrel",
- Smoker => "minecraft:smoker",
- BlastFurnace => "minecraft:blast_furnace",
- Lectern => "minecraft:lectern",
- Bell => "minecraft:bell",
- Jigsaw => "minecraft:jigsaw",
- Campfire => "minecraft:campfire",
- Beehive => "minecraft:beehive",
- SculkSensor => "minecraft:sculk_sensor",
- CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
- SculkCatalyst => "minecraft:sculk_catalyst",
- SculkShrieker => "minecraft:sculk_shrieker",
- ChiseledBookshelf => "minecraft:chiseled_bookshelf",
- Shelf => "minecraft:shelf",
- BrushableBlock => "minecraft:brushable_block",
- DecoratedPot => "minecraft:decorated_pot",
- Crafter => "minecraft:crafter",
- TrialSpawner => "minecraft:trial_spawner",
- Vault => "minecraft:vault",
- TestBlock => "minecraft:test_block",
- TestInstanceBlock => "minecraft:test_instance_block",
- CopperGolemStatue => "minecraft:copper_golem_statue",
-}
-}
-
-registry! {
-enum BlockPredicateKind {
- MatchingBlocks => "minecraft:matching_blocks",
- MatchingBlockTag => "minecraft:matching_block_tag",
- MatchingFluids => "minecraft:matching_fluids",
- HasSturdyFace => "minecraft:has_sturdy_face",
- Solid => "minecraft:solid",
- Replaceable => "minecraft:replaceable",
- WouldSurvive => "minecraft:would_survive",
- InsideWorldBounds => "minecraft:inside_world_bounds",
- AnyOf => "minecraft:any_of",
- AllOf => "minecraft:all_of",
- Not => "minecraft:not",
- True => "minecraft:true",
- Unobstructed => "minecraft:unobstructed",
-}
-}
-
-registry! {
-enum ChunkStatus {
- Empty => "minecraft:empty",
- StructureStarts => "minecraft:structure_starts",
- StructureReferences => "minecraft:structure_references",
- Biomes => "minecraft:biomes",
- Noise => "minecraft:noise",
- Surface => "minecraft:surface",
- Carvers => "minecraft:carvers",
- Features => "minecraft:features",
- InitializeLight => "minecraft:initialize_light",
- Light => "minecraft:light",
- Spawn => "minecraft:spawn",
- Full => "minecraft:full",
-}
-}
-
-registry! {
-enum CommandArgumentKind {
- Bool => "brigadier:bool",
- Float => "brigadier:float",
- Double => "brigadier:double",
- Integer => "brigadier:integer",
- Long => "brigadier:long",
- String => "brigadier:string",
- Entity => "minecraft:entity",
- GameProfile => "minecraft:game_profile",
- BlockPos => "minecraft:block_pos",
- ColumnPos => "minecraft:column_pos",
- Vec3 => "minecraft:vec3",
- Vec2 => "minecraft:vec2",
- BlockState => "minecraft:block_state",
- BlockPredicate => "minecraft:block_predicate",
- ItemStack => "minecraft:item_stack",
- ItemPredicate => "minecraft:item_predicate",
- Color => "minecraft:color",
- HexColor => "minecraft:hex_color",
- Component => "minecraft:component",
- Style => "minecraft:style",
- Message => "minecraft:message",
- NbtCompoundTag => "minecraft:nbt_compound_tag",
- NbtTag => "minecraft:nbt_tag",
- NbtPath => "minecraft:nbt_path",
- Objective => "minecraft:objective",
- ObjectiveCriteria => "minecraft:objective_criteria",
- Operation => "minecraft:operation",
- Particle => "minecraft:particle",
- Angle => "minecraft:angle",
- Rotation => "minecraft:rotation",
- ScoreboardSlot => "minecraft:scoreboard_slot",
- ScoreHolder => "minecraft:score_holder",
- Swizzle => "minecraft:swizzle",
- Team => "minecraft:team",
- ItemSlot => "minecraft:item_slot",
- ItemSlots => "minecraft:item_slots",
- ResourceLocation => "minecraft:resource_location",
- Function => "minecraft:function",
- EntityAnchor => "minecraft:entity_anchor",
- IntRange => "minecraft:int_range",
- FloatRange => "minecraft:float_range",
- Dimension => "minecraft:dimension",
- Gamemode => "minecraft:gamemode",
- Time => "minecraft:time",
- ResourceOrTag => "minecraft:resource_or_tag",
- ResourceOrTagKey => "minecraft:resource_or_tag_key",
- Resource => "minecraft:resource",
- ResourceKey => "minecraft:resource_key",
- ResourceSelector => "minecraft:resource_selector",
- TemplateMirror => "minecraft:template_mirror",
- TemplateRotation => "minecraft:template_rotation",
- Heightmap => "minecraft:heightmap",
- LootTable => "minecraft:loot_table",
- LootPredicate => "minecraft:loot_predicate",
- LootModifier => "minecraft:loot_modifier",
- Dialog => "minecraft:dialog",
- Uuid => "minecraft:uuid",
-}
-}
-
-registry! {
-enum CustomStat {
- LeaveGame => "minecraft:leave_game",
- PlayTime => "minecraft:play_time",
- TotalWorldTime => "minecraft:total_world_time",
- TimeSinceDeath => "minecraft:time_since_death",
- TimeSinceRest => "minecraft:time_since_rest",
- SneakTime => "minecraft:sneak_time",
- WalkOneCm => "minecraft:walk_one_cm",
- CrouchOneCm => "minecraft:crouch_one_cm",
- SprintOneCm => "minecraft:sprint_one_cm",
- WalkOnWaterOneCm => "minecraft:walk_on_water_one_cm",
- FallOneCm => "minecraft:fall_one_cm",
- ClimbOneCm => "minecraft:climb_one_cm",
- FlyOneCm => "minecraft:fly_one_cm",
- WalkUnderWaterOneCm => "minecraft:walk_under_water_one_cm",
- MinecartOneCm => "minecraft:minecart_one_cm",
- BoatOneCm => "minecraft:boat_one_cm",
- PigOneCm => "minecraft:pig_one_cm",
- HappyGhastOneCm => "minecraft:happy_ghast_one_cm",
- HorseOneCm => "minecraft:horse_one_cm",
- AviateOneCm => "minecraft:aviate_one_cm",
- SwimOneCm => "minecraft:swim_one_cm",
- StriderOneCm => "minecraft:strider_one_cm",
- NautilusOneCm => "minecraft:nautilus_one_cm",
- Jump => "minecraft:jump",
- Drop => "minecraft:drop",
- DamageDealt => "minecraft:damage_dealt",
- DamageDealtAbsorbed => "minecraft:damage_dealt_absorbed",
- DamageDealtResisted => "minecraft:damage_dealt_resisted",
- DamageTaken => "minecraft:damage_taken",
- DamageBlockedByShield => "minecraft:damage_blocked_by_shield",
- DamageAbsorbed => "minecraft:damage_absorbed",
- DamageResisted => "minecraft:damage_resisted",
- Deaths => "minecraft:deaths",
- MobKills => "minecraft:mob_kills",
- AnimalsBred => "minecraft:animals_bred",
- PlayerKills => "minecraft:player_kills",
- FishCaught => "minecraft:fish_caught",
- TalkedToVillager => "minecraft:talked_to_villager",
- TradedWithVillager => "minecraft:traded_with_villager",
- EatCakeSlice => "minecraft:eat_cake_slice",
- FillCauldron => "minecraft:fill_cauldron",
- UseCauldron => "minecraft:use_cauldron",
- CleanArmor => "minecraft:clean_armor",
- CleanBanner => "minecraft:clean_banner",
- CleanShulkerBox => "minecraft:clean_shulker_box",
- InteractWithBrewingstand => "minecraft:interact_with_brewingstand",
- InteractWithBeacon => "minecraft:interact_with_beacon",
- InspectDropper => "minecraft:inspect_dropper",
- InspectHopper => "minecraft:inspect_hopper",
- InspectDispenser => "minecraft:inspect_dispenser",
- PlayNoteblock => "minecraft:play_noteblock",
- TuneNoteblock => "minecraft:tune_noteblock",
- PotFlower => "minecraft:pot_flower",
- TriggerTrappedChest => "minecraft:trigger_trapped_chest",
- OpenEnderchest => "minecraft:open_enderchest",
- EnchantItem => "minecraft:enchant_item",
- PlayRecord => "minecraft:play_record",
- InteractWithFurnace => "minecraft:interact_with_furnace",
- InteractWithCraftingTable => "minecraft:interact_with_crafting_table",
- OpenChest => "minecraft:open_chest",
- SleepInBed => "minecraft:sleep_in_bed",
- OpenShulkerBox => "minecraft:open_shulker_box",
- OpenBarrel => "minecraft:open_barrel",
- InteractWithBlastFurnace => "minecraft:interact_with_blast_furnace",
- InteractWithSmoker => "minecraft:interact_with_smoker",
- InteractWithLectern => "minecraft:interact_with_lectern",
- InteractWithCampfire => "minecraft:interact_with_campfire",
- InteractWithCartographyTable => "minecraft:interact_with_cartography_table",
- InteractWithLoom => "minecraft:interact_with_loom",
- InteractWithStonecutter => "minecraft:interact_with_stonecutter",
- BellRing => "minecraft:bell_ring",
- RaidTrigger => "minecraft:raid_trigger",
- RaidWin => "minecraft:raid_win",
- InteractWithAnvil => "minecraft:interact_with_anvil",
- InteractWithGrindstone => "minecraft:interact_with_grindstone",
- TargetHit => "minecraft:target_hit",
- InteractWithSmithingTable => "minecraft:interact_with_smithing_table",
-}
-}
-
-registry! {
-/// An enum that contains every type of entity.
-enum EntityKind {
- AcaciaBoat => "minecraft:acacia_boat",
- AcaciaChestBoat => "minecraft:acacia_chest_boat",
- Allay => "minecraft:allay",
- AreaEffectCloud => "minecraft:area_effect_cloud",
- Armadillo => "minecraft:armadillo",
- ArmorStand => "minecraft:armor_stand",
- Arrow => "minecraft:arrow",
- Axolotl => "minecraft:axolotl",
- BambooChestRaft => "minecraft:bamboo_chest_raft",
- BambooRaft => "minecraft:bamboo_raft",
- Bat => "minecraft:bat",
- Bee => "minecraft:bee",
- BirchBoat => "minecraft:birch_boat",
- BirchChestBoat => "minecraft:birch_chest_boat",
- Blaze => "minecraft:blaze",
- BlockDisplay => "minecraft:block_display",
- Bogged => "minecraft:bogged",
- Breeze => "minecraft:breeze",
- BreezeWindCharge => "minecraft:breeze_wind_charge",
- Camel => "minecraft:camel",
- CamelHusk => "minecraft:camel_husk",
- Cat => "minecraft:cat",
- CaveSpider => "minecraft:cave_spider",
- CherryBoat => "minecraft:cherry_boat",
- CherryChestBoat => "minecraft:cherry_chest_boat",
- ChestMinecart => "minecraft:chest_minecart",
- Chicken => "minecraft:chicken",
- Cod => "minecraft:cod",
- CopperGolem => "minecraft:copper_golem",
- CommandBlockMinecart => "minecraft:command_block_minecart",
- Cow => "minecraft:cow",
- Creaking => "minecraft:creaking",
- Creeper => "minecraft:creeper",
- DarkOakBoat => "minecraft:dark_oak_boat",
- DarkOakChestBoat => "minecraft:dark_oak_chest_boat",
- Dolphin => "minecraft:dolphin",
- Donkey => "minecraft:donkey",
- DragonFireball => "minecraft:dragon_fireball",
- Drowned => "minecraft:drowned",
- Egg => "minecraft:egg",
- ElderGuardian => "minecraft:elder_guardian",
- Enderman => "minecraft:enderman",
- Endermite => "minecraft:endermite",
- EnderDragon => "minecraft:ender_dragon",
- EnderPearl => "minecraft:ender_pearl",
- EndCrystal => "minecraft:end_crystal",
- Evoker => "minecraft:evoker",
- EvokerFangs => "minecraft:evoker_fangs",
- ExperienceBottle => "minecraft:experience_bottle",
- ExperienceOrb => "minecraft:experience_orb",
- EyeOfEnder => "minecraft:eye_of_ender",
- FallingBlock => "minecraft:falling_block",
- Fireball => "minecraft:fireball",
- FireworkRocket => "minecraft:firework_rocket",
- Fox => "minecraft:fox",
- Frog => "minecraft:frog",
- FurnaceMinecart => "minecraft:furnace_minecart",
- Ghast => "minecraft:ghast",
- HappyGhast => "minecraft:happy_ghast",
- Giant => "minecraft:giant",
- GlowItemFrame => "minecraft:glow_item_frame",
- GlowSquid => "minecraft:glow_squid",
- Goat => "minecraft:goat",
- Guardian => "minecraft:guardian",
- Hoglin => "minecraft:hoglin",
- HopperMinecart => "minecraft:hopper_minecart",
- Horse => "minecraft:horse",
- Husk => "minecraft:husk",
- Illusioner => "minecraft:illusioner",
- Interaction => "minecraft:interaction",
- IronGolem => "minecraft:iron_golem",
- Item => "minecraft:item",
- ItemDisplay => "minecraft:item_display",
- ItemFrame => "minecraft:item_frame",
- JungleBoat => "minecraft:jungle_boat",
- JungleChestBoat => "minecraft:jungle_chest_boat",
- LeashKnot => "minecraft:leash_knot",
- LightningBolt => "minecraft:lightning_bolt",
- Llama => "minecraft:llama",
- LlamaSpit => "minecraft:llama_spit",
- MagmaCube => "minecraft:magma_cube",
- MangroveBoat => "minecraft:mangrove_boat",
- MangroveChestBoat => "minecraft:mangrove_chest_boat",
- Mannequin => "minecraft:mannequin",
- Marker => "minecraft:marker",
- Minecart => "minecraft:minecart",
- Mooshroom => "minecraft:mooshroom",
- Mule => "minecraft:mule",
- Nautilus => "minecraft:nautilus",
- OakBoat => "minecraft:oak_boat",
- OakChestBoat => "minecraft:oak_chest_boat",
- Ocelot => "minecraft:ocelot",
- OminousItemSpawner => "minecraft:ominous_item_spawner",
- Painting => "minecraft:painting",
- PaleOakBoat => "minecraft:pale_oak_boat",
- PaleOakChestBoat => "minecraft:pale_oak_chest_boat",
- Panda => "minecraft:panda",
- Parched => "minecraft:parched",
- Parrot => "minecraft:parrot",
- Phantom => "minecraft:phantom",
- Pig => "minecraft:pig",
- Piglin => "minecraft:piglin",
- PiglinBrute => "minecraft:piglin_brute",
- Pillager => "minecraft:pillager",
- PolarBear => "minecraft:polar_bear",
- SplashPotion => "minecraft:splash_potion",
- LingeringPotion => "minecraft:lingering_potion",
- Pufferfish => "minecraft:pufferfish",
- Rabbit => "minecraft:rabbit",
- Ravager => "minecraft:ravager",
- Salmon => "minecraft:salmon",
- Sheep => "minecraft:sheep",
- Shulker => "minecraft:shulker",
- ShulkerBullet => "minecraft:shulker_bullet",
- Silverfish => "minecraft:silverfish",
- Skeleton => "minecraft:skeleton",
- SkeletonHorse => "minecraft:skeleton_horse",
- Slime => "minecraft:slime",
- SmallFireball => "minecraft:small_fireball",
- Sniffer => "minecraft:sniffer",
- Snowball => "minecraft:snowball",
- SnowGolem => "minecraft:snow_golem",
- SpawnerMinecart => "minecraft:spawner_minecart",
- SpectralArrow => "minecraft:spectral_arrow",
- Spider => "minecraft:spider",
- SpruceBoat => "minecraft:spruce_boat",
- SpruceChestBoat => "minecraft:spruce_chest_boat",
- Squid => "minecraft:squid",
- Stray => "minecraft:stray",
- Strider => "minecraft:strider",
- Tadpole => "minecraft:tadpole",
- TextDisplay => "minecraft:text_display",
- Tnt => "minecraft:tnt",
- TntMinecart => "minecraft:tnt_minecart",
- TraderLlama => "minecraft:trader_llama",
- Trident => "minecraft:trident",
- TropicalFish => "minecraft:tropical_fish",
- Turtle => "minecraft:turtle",
- Vex => "minecraft:vex",
- Villager => "minecraft:villager",
- Vindicator => "minecraft:vindicator",
- WanderingTrader => "minecraft:wandering_trader",
- Warden => "minecraft:warden",
- WindCharge => "minecraft:wind_charge",
- Witch => "minecraft:witch",
- Wither => "minecraft:wither",
- WitherSkeleton => "minecraft:wither_skeleton",
- WitherSkull => "minecraft:wither_skull",
- Wolf => "minecraft:wolf",
- Zoglin => "minecraft:zoglin",
- Zombie => "minecraft:zombie",
- ZombieHorse => "minecraft:zombie_horse",
- ZombieNautilus => "minecraft:zombie_nautilus",
- ZombieVillager => "minecraft:zombie_villager",
- ZombifiedPiglin => "minecraft:zombified_piglin",
- Player => "minecraft:player",
- FishingBobber => "minecraft:fishing_bobber",
-}
-}
-
-registry! {
-enum FloatProviderKind {
- Constant => "minecraft:constant",
- Uniform => "minecraft:uniform",
- ClampedNormal => "minecraft:clamped_normal",
- Trapezoid => "minecraft:trapezoid",
-}
-}
-
-registry! {
-enum Fluid {
- Empty => "minecraft:empty",
- FlowingWater => "minecraft:flowing_water",
- Water => "minecraft:water",
- FlowingLava => "minecraft:flowing_lava",
- Lava => "minecraft:lava",
-}
-}
-
-registry! {
-enum GameEvent {
- BlockActivate => "minecraft:block_activate",
- BlockAttach => "minecraft:block_attach",
- BlockChange => "minecraft:block_change",
- BlockClose => "minecraft:block_close",
- BlockDeactivate => "minecraft:block_deactivate",
- BlockDestroy => "minecraft:block_destroy",
- BlockDetach => "minecraft:block_detach",
- BlockOpen => "minecraft:block_open",
- BlockPlace => "minecraft:block_place",
- ContainerClose => "minecraft:container_close",
- ContainerOpen => "minecraft:container_open",
- Drink => "minecraft:drink",
- Eat => "minecraft:eat",
- ElytraGlide => "minecraft:elytra_glide",
- EntityDamage => "minecraft:entity_damage",
- EntityDie => "minecraft:entity_die",
- EntityDismount => "minecraft:entity_dismount",
- EntityInteract => "minecraft:entity_interact",
- EntityMount => "minecraft:entity_mount",
- EntityPlace => "minecraft:entity_place",
- EntityAction => "minecraft:entity_action",
- Equip => "minecraft:equip",
- Explode => "minecraft:explode",
- Flap => "minecraft:flap",
- FluidPickup => "minecraft:fluid_pickup",
- FluidPlace => "minecraft:fluid_place",
- HitGround => "minecraft:hit_ground",
- InstrumentPlay => "minecraft:instrument_play",
- ItemInteractFinish => "minecraft:item_interact_finish",
- ItemInteractStart => "minecraft:item_interact_start",
- JukeboxPlay => "minecraft:jukebox_play",
- JukeboxStopPlay => "minecraft:jukebox_stop_play",
- LightningStrike => "minecraft:lightning_strike",
- NoteBlockPlay => "minecraft:note_block_play",
- PrimeFuse => "minecraft:prime_fuse",
- ProjectileLand => "minecraft:projectile_land",
- ProjectileShoot => "minecraft:projectile_shoot",
- SculkSensorTendrilsClicking => "minecraft:sculk_sensor_tendrils_clicking",
- Shear => "minecraft:shear",
- Shriek => "minecraft:shriek",
- Splash => "minecraft:splash",
- Step => "minecraft:step",
- Swim => "minecraft:swim",
- Teleport => "minecraft:teleport",
- Unequip => "minecraft:unequip",
- Resonate1 => "minecraft:resonate_1",
- Resonate2 => "minecraft:resonate_2",
- Resonate3 => "minecraft:resonate_3",
- Resonate4 => "minecraft:resonate_4",
- Resonate5 => "minecraft:resonate_5",
- Resonate6 => "minecraft:resonate_6",
- Resonate7 => "minecraft:resonate_7",
- Resonate8 => "minecraft:resonate_8",
- Resonate9 => "minecraft:resonate_9",
- Resonate10 => "minecraft:resonate_10",
- Resonate11 => "minecraft:resonate_11",
- Resonate12 => "minecraft:resonate_12",
- Resonate13 => "minecraft:resonate_13",
- Resonate14 => "minecraft:resonate_14",
- Resonate15 => "minecraft:resonate_15",
-}
-}
-
-registry! {
-enum HeightProviderKind {
- Constant => "minecraft:constant",
- Uniform => "minecraft:uniform",
- BiasedToBottom => "minecraft:biased_to_bottom",
- VeryBiasedToBottom => "minecraft:very_biased_to_bottom",
- Trapezoid => "minecraft:trapezoid",
- WeightedList => "minecraft:weighted_list",
-}
-}
-
-registry! {
-enum IntProviderKind {
- Constant => "minecraft:constant",
- Uniform => "minecraft:uniform",
- BiasedToBottom => "minecraft:biased_to_bottom",
- Clamped => "minecraft:clamped",
- WeightedList => "minecraft:weighted_list",
- ClampedNormal => "minecraft:clamped_normal",
-}
-}
-
-registry! {
-/// Every type of item in the game.
-///
-/// You might find it useful in some cases to check for categories of items
-/// with [`azalea_registry::tags::items`](crate::tags::items), like this
-///
-/// ```
-/// let item = azalea_registry::Item::OakLog;
-/// let is_log = azalea_registry::tags::items::LOGS.contains(&item);
-/// assert!(is_log);
-/// ```
-enum Item {
- Air => "minecraft:air",
- Stone => "minecraft:stone",
- Granite => "minecraft:granite",
- PolishedGranite => "minecraft:polished_granite",
- Diorite => "minecraft:diorite",
- PolishedDiorite => "minecraft:polished_diorite",
- Andesite => "minecraft:andesite",
- PolishedAndesite => "minecraft:polished_andesite",
- Deepslate => "minecraft:deepslate",
- CobbledDeepslate => "minecraft:cobbled_deepslate",
- PolishedDeepslate => "minecraft:polished_deepslate",
- Calcite => "minecraft:calcite",
- Tuff => "minecraft:tuff",
- TuffSlab => "minecraft:tuff_slab",
- TuffStairs => "minecraft:tuff_stairs",
- TuffWall => "minecraft:tuff_wall",
- ChiseledTuff => "minecraft:chiseled_tuff",
- PolishedTuff => "minecraft:polished_tuff",
- PolishedTuffSlab => "minecraft:polished_tuff_slab",
- PolishedTuffStairs => "minecraft:polished_tuff_stairs",
- PolishedTuffWall => "minecraft:polished_tuff_wall",
- TuffBricks => "minecraft:tuff_bricks",
- TuffBrickSlab => "minecraft:tuff_brick_slab",
- TuffBrickStairs => "minecraft:tuff_brick_stairs",
- TuffBrickWall => "minecraft:tuff_brick_wall",
- ChiseledTuffBricks => "minecraft:chiseled_tuff_bricks",
- DripstoneBlock => "minecraft:dripstone_block",
- GrassBlock => "minecraft:grass_block",
- Dirt => "minecraft:dirt",
- CoarseDirt => "minecraft:coarse_dirt",
- Podzol => "minecraft:podzol",
- RootedDirt => "minecraft:rooted_dirt",
- Mud => "minecraft:mud",
- CrimsonNylium => "minecraft:crimson_nylium",
- WarpedNylium => "minecraft:warped_nylium",
- Cobblestone => "minecraft:cobblestone",
- OakPlanks => "minecraft:oak_planks",
- SprucePlanks => "minecraft:spruce_planks",
- BirchPlanks => "minecraft:birch_planks",
- JunglePlanks => "minecraft:jungle_planks",
- AcaciaPlanks => "minecraft:acacia_planks",
- CherryPlanks => "minecraft:cherry_planks",
- DarkOakPlanks => "minecraft:dark_oak_planks",
- PaleOakPlanks => "minecraft:pale_oak_planks",
- MangrovePlanks => "minecraft:mangrove_planks",
- BambooPlanks => "minecraft:bamboo_planks",
- CrimsonPlanks => "minecraft:crimson_planks",
- WarpedPlanks => "minecraft:warped_planks",
- BambooMosaic => "minecraft:bamboo_mosaic",
- OakSapling => "minecraft:oak_sapling",
- SpruceSapling => "minecraft:spruce_sapling",
- BirchSapling => "minecraft:birch_sapling",
- JungleSapling => "minecraft:jungle_sapling",
- AcaciaSapling => "minecraft:acacia_sapling",
- CherrySapling => "minecraft:cherry_sapling",
- DarkOakSapling => "minecraft:dark_oak_sapling",
- PaleOakSapling => "minecraft:pale_oak_sapling",
- MangrovePropagule => "minecraft:mangrove_propagule",
- Bedrock => "minecraft:bedrock",
- Sand => "minecraft:sand",
- SuspiciousSand => "minecraft:suspicious_sand",
- SuspiciousGravel => "minecraft:suspicious_gravel",
- RedSand => "minecraft:red_sand",
- Gravel => "minecraft:gravel",
- CoalOre => "minecraft:coal_ore",
- DeepslateCoalOre => "minecraft:deepslate_coal_ore",
- IronOre => "minecraft:iron_ore",
- DeepslateIronOre => "minecraft:deepslate_iron_ore",
- CopperOre => "minecraft:copper_ore",
- DeepslateCopperOre => "minecraft:deepslate_copper_ore",
- GoldOre => "minecraft:gold_ore",
- DeepslateGoldOre => "minecraft:deepslate_gold_ore",
- RedstoneOre => "minecraft:redstone_ore",
- DeepslateRedstoneOre => "minecraft:deepslate_redstone_ore",
- EmeraldOre => "minecraft:emerald_ore",
- DeepslateEmeraldOre => "minecraft:deepslate_emerald_ore",
- LapisOre => "minecraft:lapis_ore",
- DeepslateLapisOre => "minecraft:deepslate_lapis_ore",
- DiamondOre => "minecraft:diamond_ore",
- DeepslateDiamondOre => "minecraft:deepslate_diamond_ore",
- NetherGoldOre => "minecraft:nether_gold_ore",
- NetherQuartzOre => "minecraft:nether_quartz_ore",
- AncientDebris => "minecraft:ancient_debris",
- CoalBlock => "minecraft:coal_block",
- RawIronBlock => "minecraft:raw_iron_block",
- RawCopperBlock => "minecraft:raw_copper_block",
- RawGoldBlock => "minecraft:raw_gold_block",
- HeavyCore => "minecraft:heavy_core",
- AmethystBlock => "minecraft:amethyst_block",
- BuddingAmethyst => "minecraft:budding_amethyst",
- IronBlock => "minecraft:iron_block",
- CopperBlock => "minecraft:copper_block",
- GoldBlock => "minecraft:gold_block",
- DiamondBlock => "minecraft:diamond_block",
- NetheriteBlock => "minecraft:netherite_block",
- ExposedCopper => "minecraft:exposed_copper",
- WeatheredCopper => "minecraft:weathered_copper",
- OxidizedCopper => "minecraft:oxidized_copper",
- ChiseledCopper => "minecraft:chiseled_copper",
- ExposedChiseledCopper => "minecraft:exposed_chiseled_copper",
- WeatheredChiseledCopper => "minecraft:weathered_chiseled_copper",
- OxidizedChiseledCopper => "minecraft:oxidized_chiseled_copper",
- CutCopper => "minecraft:cut_copper",
- ExposedCutCopper => "minecraft:exposed_cut_copper",
- WeatheredCutCopper => "minecraft:weathered_cut_copper",
- OxidizedCutCopper => "minecraft:oxidized_cut_copper",
- CutCopperStairs => "minecraft:cut_copper_stairs",
- ExposedCutCopperStairs => "minecraft:exposed_cut_copper_stairs",
- WeatheredCutCopperStairs => "minecraft:weathered_cut_copper_stairs",
- OxidizedCutCopperStairs => "minecraft:oxidized_cut_copper_stairs",
- CutCopperSlab => "minecraft:cut_copper_slab",
- ExposedCutCopperSlab => "minecraft:exposed_cut_copper_slab",
- WeatheredCutCopperSlab => "minecraft:weathered_cut_copper_slab",
- OxidizedCutCopperSlab => "minecraft:oxidized_cut_copper_slab",
- WaxedCopperBlock => "minecraft:waxed_copper_block",
- WaxedExposedCopper => "minecraft:waxed_exposed_copper",
- WaxedWeatheredCopper => "minecraft:waxed_weathered_copper",
- WaxedOxidizedCopper => "minecraft:waxed_oxidized_copper",
- WaxedChiseledCopper => "minecraft:waxed_chiseled_copper",
- WaxedExposedChiseledCopper => "minecraft:waxed_exposed_chiseled_copper",
- WaxedWeatheredChiseledCopper => "minecraft:waxed_weathered_chiseled_copper",
- WaxedOxidizedChiseledCopper => "minecraft:waxed_oxidized_chiseled_copper",
- WaxedCutCopper => "minecraft:waxed_cut_copper",
- WaxedExposedCutCopper => "minecraft:waxed_exposed_cut_copper",
- WaxedWeatheredCutCopper => "minecraft:waxed_weathered_cut_copper",
- WaxedOxidizedCutCopper => "minecraft:waxed_oxidized_cut_copper",
- WaxedCutCopperStairs => "minecraft:waxed_cut_copper_stairs",
- WaxedExposedCutCopperStairs => "minecraft:waxed_exposed_cut_copper_stairs",
- WaxedWeatheredCutCopperStairs => "minecraft:waxed_weathered_cut_copper_stairs",
- WaxedOxidizedCutCopperStairs => "minecraft:waxed_oxidized_cut_copper_stairs",
- WaxedCutCopperSlab => "minecraft:waxed_cut_copper_slab",
- WaxedExposedCutCopperSlab => "minecraft:waxed_exposed_cut_copper_slab",
- WaxedWeatheredCutCopperSlab => "minecraft:waxed_weathered_cut_copper_slab",
- WaxedOxidizedCutCopperSlab => "minecraft:waxed_oxidized_cut_copper_slab",
- OakLog => "minecraft:oak_log",
- SpruceLog => "minecraft:spruce_log",
- BirchLog => "minecraft:birch_log",
- JungleLog => "minecraft:jungle_log",
- AcaciaLog => "minecraft:acacia_log",
- CherryLog => "minecraft:cherry_log",
- PaleOakLog => "minecraft:pale_oak_log",
- DarkOakLog => "minecraft:dark_oak_log",
- MangroveLog => "minecraft:mangrove_log",
- MangroveRoots => "minecraft:mangrove_roots",
- MuddyMangroveRoots => "minecraft:muddy_mangrove_roots",
- CrimsonStem => "minecraft:crimson_stem",
- WarpedStem => "minecraft:warped_stem",
- BambooBlock => "minecraft:bamboo_block",
- StrippedOakLog => "minecraft:stripped_oak_log",
- StrippedSpruceLog => "minecraft:stripped_spruce_log",
- StrippedBirchLog => "minecraft:stripped_birch_log",
- StrippedJungleLog => "minecraft:stripped_jungle_log",
- StrippedAcaciaLog => "minecraft:stripped_acacia_log",
- StrippedCherryLog => "minecraft:stripped_cherry_log",
- StrippedDarkOakLog => "minecraft:stripped_dark_oak_log",
- StrippedPaleOakLog => "minecraft:stripped_pale_oak_log",
- StrippedMangroveLog => "minecraft:stripped_mangrove_log",
- StrippedCrimsonStem => "minecraft:stripped_crimson_stem",
- StrippedWarpedStem => "minecraft:stripped_warped_stem",
- StrippedOakWood => "minecraft:stripped_oak_wood",
- StrippedSpruceWood => "minecraft:stripped_spruce_wood",
- StrippedBirchWood => "minecraft:stripped_birch_wood",
- StrippedJungleWood => "minecraft:stripped_jungle_wood",
- StrippedAcaciaWood => "minecraft:stripped_acacia_wood",
- StrippedCherryWood => "minecraft:stripped_cherry_wood",
- StrippedDarkOakWood => "minecraft:stripped_dark_oak_wood",
- StrippedPaleOakWood => "minecraft:stripped_pale_oak_wood",
- StrippedMangroveWood => "minecraft:stripped_mangrove_wood",
- StrippedCrimsonHyphae => "minecraft:stripped_crimson_hyphae",
- StrippedWarpedHyphae => "minecraft:stripped_warped_hyphae",
- StrippedBambooBlock => "minecraft:stripped_bamboo_block",
- OakWood => "minecraft:oak_wood",
- SpruceWood => "minecraft:spruce_wood",
- BirchWood => "minecraft:birch_wood",
- JungleWood => "minecraft:jungle_wood",
- AcaciaWood => "minecraft:acacia_wood",
- CherryWood => "minecraft:cherry_wood",
- PaleOakWood => "minecraft:pale_oak_wood",
- DarkOakWood => "minecraft:dark_oak_wood",
- MangroveWood => "minecraft:mangrove_wood",
- CrimsonHyphae => "minecraft:crimson_hyphae",
- WarpedHyphae => "minecraft:warped_hyphae",
- OakLeaves => "minecraft:oak_leaves",
- SpruceLeaves => "minecraft:spruce_leaves",
- BirchLeaves => "minecraft:birch_leaves",
- JungleLeaves => "minecraft:jungle_leaves",
- AcaciaLeaves => "minecraft:acacia_leaves",
- CherryLeaves => "minecraft:cherry_leaves",
- DarkOakLeaves => "minecraft:dark_oak_leaves",
- PaleOakLeaves => "minecraft:pale_oak_leaves",
- MangroveLeaves => "minecraft:mangrove_leaves",
- AzaleaLeaves => "minecraft:azalea_leaves",
- FloweringAzaleaLeaves => "minecraft:flowering_azalea_leaves",
- Sponge => "minecraft:sponge",
- WetSponge => "minecraft:wet_sponge",
- Glass => "minecraft:glass",
- TintedGlass => "minecraft:tinted_glass",
- LapisBlock => "minecraft:lapis_block",
- Sandstone => "minecraft:sandstone",
- ChiseledSandstone => "minecraft:chiseled_sandstone",
- CutSandstone => "minecraft:cut_sandstone",
- Cobweb => "minecraft:cobweb",
- ShortGrass => "minecraft:short_grass",
- Fern => "minecraft:fern",
- Bush => "minecraft:bush",
- Azalea => "minecraft:azalea",
- FloweringAzalea => "minecraft:flowering_azalea",
- DeadBush => "minecraft:dead_bush",
- FireflyBush => "minecraft:firefly_bush",
- ShortDryGrass => "minecraft:short_dry_grass",
- TallDryGrass => "minecraft:tall_dry_grass",
- Seagrass => "minecraft:seagrass",
- SeaPickle => "minecraft:sea_pickle",
- WhiteWool => "minecraft:white_wool",
- OrangeWool => "minecraft:orange_wool",
- MagentaWool => "minecraft:magenta_wool",
- LightBlueWool => "minecraft:light_blue_wool",
- YellowWool => "minecraft:yellow_wool",
- LimeWool => "minecraft:lime_wool",
- PinkWool => "minecraft:pink_wool",
- GrayWool => "minecraft:gray_wool",
- LightGrayWool => "minecraft:light_gray_wool",
- CyanWool => "minecraft:cyan_wool",
- PurpleWool => "minecraft:purple_wool",
- BlueWool => "minecraft:blue_wool",
- BrownWool => "minecraft:brown_wool",
- GreenWool => "minecraft:green_wool",
- RedWool => "minecraft:red_wool",
- BlackWool => "minecraft:black_wool",
- Dandelion => "minecraft:dandelion",
- OpenEyeblossom => "minecraft:open_eyeblossom",
- ClosedEyeblossom => "minecraft:closed_eyeblossom",
- Poppy => "minecraft:poppy",
- BlueOrchid => "minecraft:blue_orchid",
- Allium => "minecraft:allium",
- AzureBluet => "minecraft:azure_bluet",
- RedTulip => "minecraft:red_tulip",
- OrangeTulip => "minecraft:orange_tulip",
- WhiteTulip => "minecraft:white_tulip",
- PinkTulip => "minecraft:pink_tulip",
- OxeyeDaisy => "minecraft:oxeye_daisy",
- Cornflower => "minecraft:cornflower",
- LilyOfTheValley => "minecraft:lily_of_the_valley",
- WitherRose => "minecraft:wither_rose",
- Torchflower => "minecraft:torchflower",
- PitcherPlant => "minecraft:pitcher_plant",
- SporeBlossom => "minecraft:spore_blossom",
- BrownMushroom => "minecraft:brown_mushroom",
- RedMushroom => "minecraft:red_mushroom",
- CrimsonFungus => "minecraft:crimson_fungus",
- WarpedFungus => "minecraft:warped_fungus",
- CrimsonRoots => "minecraft:crimson_roots",
- WarpedRoots => "minecraft:warped_roots",
- NetherSprouts => "minecraft:nether_sprouts",
- WeepingVines => "minecraft:weeping_vines",
- TwistingVines => "minecraft:twisting_vines",
- SugarCane => "minecraft:sugar_cane",
- Kelp => "minecraft:kelp",
- PinkPetals => "minecraft:pink_petals",
- Wildflowers => "minecraft:wildflowers",
- LeafLitter => "minecraft:leaf_litter",
- MossCarpet => "minecraft:moss_carpet",
- MossBlock => "minecraft:moss_block",
- PaleMossCarpet => "minecraft:pale_moss_carpet",
- PaleHangingMoss => "minecraft:pale_hanging_moss",
- PaleMossBlock => "minecraft:pale_moss_block",
- HangingRoots => "minecraft:hanging_roots",
- BigDripleaf => "minecraft:big_dripleaf",
- SmallDripleaf => "minecraft:small_dripleaf",
- Bamboo => "minecraft:bamboo",
- OakSlab => "minecraft:oak_slab",
- SpruceSlab => "minecraft:spruce_slab",
- BirchSlab => "minecraft:birch_slab",
- JungleSlab => "minecraft:jungle_slab",
- AcaciaSlab => "minecraft:acacia_slab",
- CherrySlab => "minecraft:cherry_slab",
- DarkOakSlab => "minecraft:dark_oak_slab",
- PaleOakSlab => "minecraft:pale_oak_slab",
- MangroveSlab => "minecraft:mangrove_slab",
- BambooSlab => "minecraft:bamboo_slab",
- BambooMosaicSlab => "minecraft:bamboo_mosaic_slab",
- CrimsonSlab => "minecraft:crimson_slab",
- WarpedSlab => "minecraft:warped_slab",
- StoneSlab => "minecraft:stone_slab",
- SmoothStoneSlab => "minecraft:smooth_stone_slab",
- SandstoneSlab => "minecraft:sandstone_slab",
- CutSandstoneSlab => "minecraft:cut_sandstone_slab",
- PetrifiedOakSlab => "minecraft:petrified_oak_slab",
- CobblestoneSlab => "minecraft:cobblestone_slab",
- BrickSlab => "minecraft:brick_slab",
- StoneBrickSlab => "minecraft:stone_brick_slab",
- MudBrickSlab => "minecraft:mud_brick_slab",
- NetherBrickSlab => "minecraft:nether_brick_slab",
- QuartzSlab => "minecraft:quartz_slab",
- RedSandstoneSlab => "minecraft:red_sandstone_slab",
- CutRedSandstoneSlab => "minecraft:cut_red_sandstone_slab",
- PurpurSlab => "minecraft:purpur_slab",
- PrismarineSlab => "minecraft:prismarine_slab",
- PrismarineBrickSlab => "minecraft:prismarine_brick_slab",
- DarkPrismarineSlab => "minecraft:dark_prismarine_slab",
- SmoothQuartz => "minecraft:smooth_quartz",
- SmoothRedSandstone => "minecraft:smooth_red_sandstone",
- SmoothSandstone => "minecraft:smooth_sandstone",
- SmoothStone => "minecraft:smooth_stone",
- Bricks => "minecraft:bricks",
- AcaciaShelf => "minecraft:acacia_shelf",
- BambooShelf => "minecraft:bamboo_shelf",
- BirchShelf => "minecraft:birch_shelf",
- CherryShelf => "minecraft:cherry_shelf",
- CrimsonShelf => "minecraft:crimson_shelf",
- DarkOakShelf => "minecraft:dark_oak_shelf",
- JungleShelf => "minecraft:jungle_shelf",
- MangroveShelf => "minecraft:mangrove_shelf",
- OakShelf => "minecraft:oak_shelf",
- PaleOakShelf => "minecraft:pale_oak_shelf",
- SpruceShelf => "minecraft:spruce_shelf",
- WarpedShelf => "minecraft:warped_shelf",
- Bookshelf => "minecraft:bookshelf",
- ChiseledBookshelf => "minecraft:chiseled_bookshelf",
- DecoratedPot => "minecraft:decorated_pot",
- MossyCobblestone => "minecraft:mossy_cobblestone",
- Obsidian => "minecraft:obsidian",
- Torch => "minecraft:torch",
- EndRod => "minecraft:end_rod",
- ChorusPlant => "minecraft:chorus_plant",
- ChorusFlower => "minecraft:chorus_flower",
- PurpurBlock => "minecraft:purpur_block",
- PurpurPillar => "minecraft:purpur_pillar",
- PurpurStairs => "minecraft:purpur_stairs",
- Spawner => "minecraft:spawner",
- CreakingHeart => "minecraft:creaking_heart",
- Chest => "minecraft:chest",
- CraftingTable => "minecraft:crafting_table",
- Farmland => "minecraft:farmland",
- Furnace => "minecraft:furnace",
- Ladder => "minecraft:ladder",
- CobblestoneStairs => "minecraft:cobblestone_stairs",
- Snow => "minecraft:snow",
- Ice => "minecraft:ice",
- SnowBlock => "minecraft:snow_block",
- Cactus => "minecraft:cactus",
- CactusFlower => "minecraft:cactus_flower",
- Clay => "minecraft:clay",
- Jukebox => "minecraft:jukebox",
- OakFence => "minecraft:oak_fence",
- SpruceFence => "minecraft:spruce_fence",
- BirchFence => "minecraft:birch_fence",
- JungleFence => "minecraft:jungle_fence",
- AcaciaFence => "minecraft:acacia_fence",
- CherryFence => "minecraft:cherry_fence",
- DarkOakFence => "minecraft:dark_oak_fence",
- PaleOakFence => "minecraft:pale_oak_fence",
- MangroveFence => "minecraft:mangrove_fence",
- BambooFence => "minecraft:bamboo_fence",
- CrimsonFence => "minecraft:crimson_fence",
- WarpedFence => "minecraft:warped_fence",
- Pumpkin => "minecraft:pumpkin",
- CarvedPumpkin => "minecraft:carved_pumpkin",
- JackOLantern => "minecraft:jack_o_lantern",
- Netherrack => "minecraft:netherrack",
- SoulSand => "minecraft:soul_sand",
- SoulSoil => "minecraft:soul_soil",
- Basalt => "minecraft:basalt",
- PolishedBasalt => "minecraft:polished_basalt",
- SmoothBasalt => "minecraft:smooth_basalt",
- SoulTorch => "minecraft:soul_torch",
- CopperTorch => "minecraft:copper_torch",
- Glowstone => "minecraft:glowstone",
- InfestedStone => "minecraft:infested_stone",
- InfestedCobblestone => "minecraft:infested_cobblestone",
- InfestedStoneBricks => "minecraft:infested_stone_bricks",
- InfestedMossyStoneBricks => "minecraft:infested_mossy_stone_bricks",
- InfestedCrackedStoneBricks => "minecraft:infested_cracked_stone_bricks",
- InfestedChiseledStoneBricks => "minecraft:infested_chiseled_stone_bricks",
- InfestedDeepslate => "minecraft:infested_deepslate",
- StoneBricks => "minecraft:stone_bricks",
- MossyStoneBricks => "minecraft:mossy_stone_bricks",
- CrackedStoneBricks => "minecraft:cracked_stone_bricks",
- ChiseledStoneBricks => "minecraft:chiseled_stone_bricks",
- PackedMud => "minecraft:packed_mud",
- MudBricks => "minecraft:mud_bricks",
- DeepslateBricks => "minecraft:deepslate_bricks",
- CrackedDeepslateBricks => "minecraft:cracked_deepslate_bricks",
- DeepslateTiles => "minecraft:deepslate_tiles",
- CrackedDeepslateTiles => "minecraft:cracked_deepslate_tiles",
- ChiseledDeepslate => "minecraft:chiseled_deepslate",
- ReinforcedDeepslate => "minecraft:reinforced_deepslate",
- BrownMushroomBlock => "minecraft:brown_mushroom_block",
- RedMushroomBlock => "minecraft:red_mushroom_block",
- MushroomStem => "minecraft:mushroom_stem",
- IronBars => "minecraft:iron_bars",
- CopperBars => "minecraft:copper_bars",
- ExposedCopperBars => "minecraft:exposed_copper_bars",
- WeatheredCopperBars => "minecraft:weathered_copper_bars",
- OxidizedCopperBars => "minecraft:oxidized_copper_bars",
- WaxedCopperBars => "minecraft:waxed_copper_bars",
- WaxedExposedCopperBars => "minecraft:waxed_exposed_copper_bars",
- WaxedWeatheredCopperBars => "minecraft:waxed_weathered_copper_bars",
- WaxedOxidizedCopperBars => "minecraft:waxed_oxidized_copper_bars",
- IronChain => "minecraft:iron_chain",
- CopperChain => "minecraft:copper_chain",
- ExposedCopperChain => "minecraft:exposed_copper_chain",
- WeatheredCopperChain => "minecraft:weathered_copper_chain",
- OxidizedCopperChain => "minecraft:oxidized_copper_chain",
- WaxedCopperChain => "minecraft:waxed_copper_chain",
- WaxedExposedCopperChain => "minecraft:waxed_exposed_copper_chain",
- WaxedWeatheredCopperChain => "minecraft:waxed_weathered_copper_chain",
- WaxedOxidizedCopperChain => "minecraft:waxed_oxidized_copper_chain",
- GlassPane => "minecraft:glass_pane",
- Melon => "minecraft:melon",
- Vine => "minecraft:vine",
- GlowLichen => "minecraft:glow_lichen",
- ResinClump => "minecraft:resin_clump",
- ResinBlock => "minecraft:resin_block",
- ResinBricks => "minecraft:resin_bricks",
- ResinBrickStairs => "minecraft:resin_brick_stairs",
- ResinBrickSlab => "minecraft:resin_brick_slab",
- ResinBrickWall => "minecraft:resin_brick_wall",
- ChiseledResinBricks => "minecraft:chiseled_resin_bricks",
- BrickStairs => "minecraft:brick_stairs",
- StoneBrickStairs => "minecraft:stone_brick_stairs",
- MudBrickStairs => "minecraft:mud_brick_stairs",
- Mycelium => "minecraft:mycelium",
- LilyPad => "minecraft:lily_pad",
- NetherBricks => "minecraft:nether_bricks",
- CrackedNetherBricks => "minecraft:cracked_nether_bricks",
- ChiseledNetherBricks => "minecraft:chiseled_nether_bricks",
- NetherBrickFence => "minecraft:nether_brick_fence",
- NetherBrickStairs => "minecraft:nether_brick_stairs",
- Sculk => "minecraft:sculk",
- SculkVein => "minecraft:sculk_vein",
- SculkCatalyst => "minecraft:sculk_catalyst",
- SculkShrieker => "minecraft:sculk_shrieker",
- EnchantingTable => "minecraft:enchanting_table",
- EndPortalFrame => "minecraft:end_portal_frame",
- EndStone => "minecraft:end_stone",
- EndStoneBricks => "minecraft:end_stone_bricks",
- DragonEgg => "minecraft:dragon_egg",
- SandstoneStairs => "minecraft:sandstone_stairs",
- EnderChest => "minecraft:ender_chest",
- EmeraldBlock => "minecraft:emerald_block",
- OakStairs => "minecraft:oak_stairs",
- SpruceStairs => "minecraft:spruce_stairs",
- BirchStairs => "minecraft:birch_stairs",
- JungleStairs => "minecraft:jungle_stairs",
- AcaciaStairs => "minecraft:acacia_stairs",
- CherryStairs => "minecraft:cherry_stairs",
- DarkOakStairs => "minecraft:dark_oak_stairs",
- PaleOakStairs => "minecraft:pale_oak_stairs",
- MangroveStairs => "minecraft:mangrove_stairs",
- BambooStairs => "minecraft:bamboo_stairs",
- BambooMosaicStairs => "minecraft:bamboo_mosaic_stairs",
- CrimsonStairs => "minecraft:crimson_stairs",
- WarpedStairs => "minecraft:warped_stairs",
- CommandBlock => "minecraft:command_block",
- Beacon => "minecraft:beacon",
- CobblestoneWall => "minecraft:cobblestone_wall",
- MossyCobblestoneWall => "minecraft:mossy_cobblestone_wall",
- BrickWall => "minecraft:brick_wall",
- PrismarineWall => "minecraft:prismarine_wall",
- RedSandstoneWall => "minecraft:red_sandstone_wall",
- MossyStoneBrickWall => "minecraft:mossy_stone_brick_wall",
- GraniteWall => "minecraft:granite_wall",
- StoneBrickWall => "minecraft:stone_brick_wall",
- MudBrickWall => "minecraft:mud_brick_wall",
- NetherBrickWall => "minecraft:nether_brick_wall",
- AndesiteWall => "minecraft:andesite_wall",
- RedNetherBrickWall => "minecraft:red_nether_brick_wall",
- SandstoneWall => "minecraft:sandstone_wall",
- EndStoneBrickWall => "minecraft:end_stone_brick_wall",
- DioriteWall => "minecraft:diorite_wall",
- BlackstoneWall => "minecraft:blackstone_wall",
- PolishedBlackstoneWall => "minecraft:polished_blackstone_wall",
- PolishedBlackstoneBrickWall => "minecraft:polished_blackstone_brick_wall",
- CobbledDeepslateWall => "minecraft:cobbled_deepslate_wall",
- PolishedDeepslateWall => "minecraft:polished_deepslate_wall",
- DeepslateBrickWall => "minecraft:deepslate_brick_wall",
- DeepslateTileWall => "minecraft:deepslate_tile_wall",
- Anvil => "minecraft:anvil",
- ChippedAnvil => "minecraft:chipped_anvil",
- DamagedAnvil => "minecraft:damaged_anvil",
- ChiseledQuartzBlock => "minecraft:chiseled_quartz_block",
- QuartzBlock => "minecraft:quartz_block",
- QuartzBricks => "minecraft:quartz_bricks",
- QuartzPillar => "minecraft:quartz_pillar",
- QuartzStairs => "minecraft:quartz_stairs",
- WhiteTerracotta => "minecraft:white_terracotta",
- OrangeTerracotta => "minecraft:orange_terracotta",
- MagentaTerracotta => "minecraft:magenta_terracotta",
- LightBlueTerracotta => "minecraft:light_blue_terracotta",
- YellowTerracotta => "minecraft:yellow_terracotta",
- LimeTerracotta => "minecraft:lime_terracotta",
- PinkTerracotta => "minecraft:pink_terracotta",
- GrayTerracotta => "minecraft:gray_terracotta",
- LightGrayTerracotta => "minecraft:light_gray_terracotta",
- CyanTerracotta => "minecraft:cyan_terracotta",
- PurpleTerracotta => "minecraft:purple_terracotta",
- BlueTerracotta => "minecraft:blue_terracotta",
- BrownTerracotta => "minecraft:brown_terracotta",
- GreenTerracotta => "minecraft:green_terracotta",
- RedTerracotta => "minecraft:red_terracotta",
- BlackTerracotta => "minecraft:black_terracotta",
- Barrier => "minecraft:barrier",
- Light => "minecraft:light",
- HayBlock => "minecraft:hay_block",
- WhiteCarpet => "minecraft:white_carpet",
- OrangeCarpet => "minecraft:orange_carpet",
- MagentaCarpet => "minecraft:magenta_carpet",
- LightBlueCarpet => "minecraft:light_blue_carpet",
- YellowCarpet => "minecraft:yellow_carpet",
- LimeCarpet => "minecraft:lime_carpet",
- PinkCarpet => "minecraft:pink_carpet",
- GrayCarpet => "minecraft:gray_carpet",
- LightGrayCarpet => "minecraft:light_gray_carpet",
- CyanCarpet => "minecraft:cyan_carpet",
- PurpleCarpet => "minecraft:purple_carpet",
- BlueCarpet => "minecraft:blue_carpet",
- BrownCarpet => "minecraft:brown_carpet",
- GreenCarpet => "minecraft:green_carpet",
- RedCarpet => "minecraft:red_carpet",
- BlackCarpet => "minecraft:black_carpet",
- Terracotta => "minecraft:terracotta",
- PackedIce => "minecraft:packed_ice",
- DirtPath => "minecraft:dirt_path",
- Sunflower => "minecraft:sunflower",
- Lilac => "minecraft:lilac",
- RoseBush => "minecraft:rose_bush",
- Peony => "minecraft:peony",
- TallGrass => "minecraft:tall_grass",
- LargeFern => "minecraft:large_fern",
- WhiteStainedGlass => "minecraft:white_stained_glass",
- OrangeStainedGlass => "minecraft:orange_stained_glass",
- MagentaStainedGlass => "minecraft:magenta_stained_glass",
- LightBlueStainedGlass => "minecraft:light_blue_stained_glass",
- YellowStainedGlass => "minecraft:yellow_stained_glass",
- LimeStainedGlass => "minecraft:lime_stained_glass",
- PinkStainedGlass => "minecraft:pink_stained_glass",
- GrayStainedGlass => "minecraft:gray_stained_glass",
- LightGrayStainedGlass => "minecraft:light_gray_stained_glass",
- CyanStainedGlass => "minecraft:cyan_stained_glass",
- PurpleStainedGlass => "minecraft:purple_stained_glass",
- BlueStainedGlass => "minecraft:blue_stained_glass",
- BrownStainedGlass => "minecraft:brown_stained_glass",
- GreenStainedGlass => "minecraft:green_stained_glass",
- RedStainedGlass => "minecraft:red_stained_glass",
- BlackStainedGlass => "minecraft:black_stained_glass",
- WhiteStainedGlassPane => "minecraft:white_stained_glass_pane",
- OrangeStainedGlassPane => "minecraft:orange_stained_glass_pane",
- MagentaStainedGlassPane => "minecraft:magenta_stained_glass_pane",
- LightBlueStainedGlassPane => "minecraft:light_blue_stained_glass_pane",
- YellowStainedGlassPane => "minecraft:yellow_stained_glass_pane",
- LimeStainedGlassPane => "minecraft:lime_stained_glass_pane",
- PinkStainedGlassPane => "minecraft:pink_stained_glass_pane",
- GrayStainedGlassPane => "minecraft:gray_stained_glass_pane",
- LightGrayStainedGlassPane => "minecraft:light_gray_stained_glass_pane",
- CyanStainedGlassPane => "minecraft:cyan_stained_glass_pane",
- PurpleStainedGlassPane => "minecraft:purple_stained_glass_pane",
- BlueStainedGlassPane => "minecraft:blue_stained_glass_pane",
- BrownStainedGlassPane => "minecraft:brown_stained_glass_pane",
- GreenStainedGlassPane => "minecraft:green_stained_glass_pane",
- RedStainedGlassPane => "minecraft:red_stained_glass_pane",
- BlackStainedGlassPane => "minecraft:black_stained_glass_pane",
- Prismarine => "minecraft:prismarine",
- PrismarineBricks => "minecraft:prismarine_bricks",
- DarkPrismarine => "minecraft:dark_prismarine",
- PrismarineStairs => "minecraft:prismarine_stairs",
- PrismarineBrickStairs => "minecraft:prismarine_brick_stairs",
- DarkPrismarineStairs => "minecraft:dark_prismarine_stairs",
- SeaLantern => "minecraft:sea_lantern",
- RedSandstone => "minecraft:red_sandstone",
- ChiseledRedSandstone => "minecraft:chiseled_red_sandstone",
- CutRedSandstone => "minecraft:cut_red_sandstone",
- RedSandstoneStairs => "minecraft:red_sandstone_stairs",
- RepeatingCommandBlock => "minecraft:repeating_command_block",
- ChainCommandBlock => "minecraft:chain_command_block",
- MagmaBlock => "minecraft:magma_block",
- NetherWartBlock => "minecraft:nether_wart_block",
- WarpedWartBlock => "minecraft:warped_wart_block",
- RedNetherBricks => "minecraft:red_nether_bricks",
- BoneBlock => "minecraft:bone_block",
- StructureVoid => "minecraft:structure_void",
- ShulkerBox => "minecraft:shulker_box",
- WhiteShulkerBox => "minecraft:white_shulker_box",
- OrangeShulkerBox => "minecraft:orange_shulker_box",
- MagentaShulkerBox => "minecraft:magenta_shulker_box",
- LightBlueShulkerBox => "minecraft:light_blue_shulker_box",
- YellowShulkerBox => "minecraft:yellow_shulker_box",
- LimeShulkerBox => "minecraft:lime_shulker_box",
- PinkShulkerBox => "minecraft:pink_shulker_box",
- GrayShulkerBox => "minecraft:gray_shulker_box",
- LightGrayShulkerBox => "minecraft:light_gray_shulker_box",
- CyanShulkerBox => "minecraft:cyan_shulker_box",
- PurpleShulkerBox => "minecraft:purple_shulker_box",
- BlueShulkerBox => "minecraft:blue_shulker_box",
- BrownShulkerBox => "minecraft:brown_shulker_box",
- GreenShulkerBox => "minecraft:green_shulker_box",
- RedShulkerBox => "minecraft:red_shulker_box",
- BlackShulkerBox => "minecraft:black_shulker_box",
- WhiteGlazedTerracotta => "minecraft:white_glazed_terracotta",
- OrangeGlazedTerracotta => "minecraft:orange_glazed_terracotta",
- MagentaGlazedTerracotta => "minecraft:magenta_glazed_terracotta",
- LightBlueGlazedTerracotta => "minecraft:light_blue_glazed_terracotta",
- YellowGlazedTerracotta => "minecraft:yellow_glazed_terracotta",
- LimeGlazedTerracotta => "minecraft:lime_glazed_terracotta",
- PinkGlazedTerracotta => "minecraft:pink_glazed_terracotta",
- GrayGlazedTerracotta => "minecraft:gray_glazed_terracotta",
- LightGrayGlazedTerracotta => "minecraft:light_gray_glazed_terracotta",
- CyanGlazedTerracotta => "minecraft:cyan_glazed_terracotta",
- PurpleGlazedTerracotta => "minecraft:purple_glazed_terracotta",
- BlueGlazedTerracotta => "minecraft:blue_glazed_terracotta",
- BrownGlazedTerracotta => "minecraft:brown_glazed_terracotta",
- GreenGlazedTerracotta => "minecraft:green_glazed_terracotta",
- RedGlazedTerracotta => "minecraft:red_glazed_terracotta",
- BlackGlazedTerracotta => "minecraft:black_glazed_terracotta",
- WhiteConcrete => "minecraft:white_concrete",
- OrangeConcrete => "minecraft:orange_concrete",
- MagentaConcrete => "minecraft:magenta_concrete",
- LightBlueConcrete => "minecraft:light_blue_concrete",
- YellowConcrete => "minecraft:yellow_concrete",
- LimeConcrete => "minecraft:lime_concrete",
- PinkConcrete => "minecraft:pink_concrete",
- GrayConcrete => "minecraft:gray_concrete",
- LightGrayConcrete => "minecraft:light_gray_concrete",
- CyanConcrete => "minecraft:cyan_concrete",
- PurpleConcrete => "minecraft:purple_concrete",
- BlueConcrete => "minecraft:blue_concrete",
- BrownConcrete => "minecraft:brown_concrete",
- GreenConcrete => "minecraft:green_concrete",
- RedConcrete => "minecraft:red_concrete",
- BlackConcrete => "minecraft:black_concrete",
- WhiteConcretePowder => "minecraft:white_concrete_powder",
- OrangeConcretePowder => "minecraft:orange_concrete_powder",
- MagentaConcretePowder => "minecraft:magenta_concrete_powder",
- LightBlueConcretePowder => "minecraft:light_blue_concrete_powder",
- YellowConcretePowder => "minecraft:yellow_concrete_powder",
- LimeConcretePowder => "minecraft:lime_concrete_powder",
- PinkConcretePowder => "minecraft:pink_concrete_powder",
- GrayConcretePowder => "minecraft:gray_concrete_powder",
- LightGrayConcretePowder => "minecraft:light_gray_concrete_powder",
- CyanConcretePowder => "minecraft:cyan_concrete_powder",
- PurpleConcretePowder => "minecraft:purple_concrete_powder",
- BlueConcretePowder => "minecraft:blue_concrete_powder",
- BrownConcretePowder => "minecraft:brown_concrete_powder",
- GreenConcretePowder => "minecraft:green_concrete_powder",
- RedConcretePowder => "minecraft:red_concrete_powder",
- BlackConcretePowder => "minecraft:black_concrete_powder",
- TurtleEgg => "minecraft:turtle_egg",
- SnifferEgg => "minecraft:sniffer_egg",
- DriedGhast => "minecraft:dried_ghast",
- DeadTubeCoralBlock => "minecraft:dead_tube_coral_block",
- DeadBrainCoralBlock => "minecraft:dead_brain_coral_block",
- DeadBubbleCoralBlock => "minecraft:dead_bubble_coral_block",
- DeadFireCoralBlock => "minecraft:dead_fire_coral_block",
- DeadHornCoralBlock => "minecraft:dead_horn_coral_block",
- TubeCoralBlock => "minecraft:tube_coral_block",
- BrainCoralBlock => "minecraft:brain_coral_block",
- BubbleCoralBlock => "minecraft:bubble_coral_block",
- FireCoralBlock => "minecraft:fire_coral_block",
- HornCoralBlock => "minecraft:horn_coral_block",
- TubeCoral => "minecraft:tube_coral",
- BrainCoral => "minecraft:brain_coral",
- BubbleCoral => "minecraft:bubble_coral",
- FireCoral => "minecraft:fire_coral",
- HornCoral => "minecraft:horn_coral",
- DeadBrainCoral => "minecraft:dead_brain_coral",
- DeadBubbleCoral => "minecraft:dead_bubble_coral",
- DeadFireCoral => "minecraft:dead_fire_coral",
- DeadHornCoral => "minecraft:dead_horn_coral",
- DeadTubeCoral => "minecraft:dead_tube_coral",
- TubeCoralFan => "minecraft:tube_coral_fan",
- BrainCoralFan => "minecraft:brain_coral_fan",
- BubbleCoralFan => "minecraft:bubble_coral_fan",
- FireCoralFan => "minecraft:fire_coral_fan",
- HornCoralFan => "minecraft:horn_coral_fan",
- DeadTubeCoralFan => "minecraft:dead_tube_coral_fan",
- DeadBrainCoralFan => "minecraft:dead_brain_coral_fan",
- DeadBubbleCoralFan => "minecraft:dead_bubble_coral_fan",
- DeadFireCoralFan => "minecraft:dead_fire_coral_fan",
- DeadHornCoralFan => "minecraft:dead_horn_coral_fan",
- BlueIce => "minecraft:blue_ice",
- Conduit => "minecraft:conduit",
- PolishedGraniteStairs => "minecraft:polished_granite_stairs",
- SmoothRedSandstoneStairs => "minecraft:smooth_red_sandstone_stairs",
- MossyStoneBrickStairs => "minecraft:mossy_stone_brick_stairs",
- PolishedDioriteStairs => "minecraft:polished_diorite_stairs",
- MossyCobblestoneStairs => "minecraft:mossy_cobblestone_stairs",
- EndStoneBrickStairs => "minecraft:end_stone_brick_stairs",
- StoneStairs => "minecraft:stone_stairs",
- SmoothSandstoneStairs => "minecraft:smooth_sandstone_stairs",
- SmoothQuartzStairs => "minecraft:smooth_quartz_stairs",
- GraniteStairs => "minecraft:granite_stairs",
- AndesiteStairs => "minecraft:andesite_stairs",
- RedNetherBrickStairs => "minecraft:red_nether_brick_stairs",
- PolishedAndesiteStairs => "minecraft:polished_andesite_stairs",
- DioriteStairs => "minecraft:diorite_stairs",
- CobbledDeepslateStairs => "minecraft:cobbled_deepslate_stairs",
- PolishedDeepslateStairs => "minecraft:polished_deepslate_stairs",
- DeepslateBrickStairs => "minecraft:deepslate_brick_stairs",
- DeepslateTileStairs => "minecraft:deepslate_tile_stairs",
- PolishedGraniteSlab => "minecraft:polished_granite_slab",
- SmoothRedSandstoneSlab => "minecraft:smooth_red_sandstone_slab",
- MossyStoneBrickSlab => "minecraft:mossy_stone_brick_slab",
- PolishedDioriteSlab => "minecraft:polished_diorite_slab",
- MossyCobblestoneSlab => "minecraft:mossy_cobblestone_slab",
- EndStoneBrickSlab => "minecraft:end_stone_brick_slab",
- SmoothSandstoneSlab => "minecraft:smooth_sandstone_slab",
- SmoothQuartzSlab => "minecraft:smooth_quartz_slab",
- GraniteSlab => "minecraft:granite_slab",
- AndesiteSlab => "minecraft:andesite_slab",
- RedNetherBrickSlab => "minecraft:red_nether_brick_slab",
- PolishedAndesiteSlab => "minecraft:polished_andesite_slab",
- DioriteSlab => "minecraft:diorite_slab",
- CobbledDeepslateSlab => "minecraft:cobbled_deepslate_slab",
- PolishedDeepslateSlab => "minecraft:polished_deepslate_slab",
- DeepslateBrickSlab => "minecraft:deepslate_brick_slab",
- DeepslateTileSlab => "minecraft:deepslate_tile_slab",
- Scaffolding => "minecraft:scaffolding",
- Redstone => "minecraft:redstone",
- RedstoneTorch => "minecraft:redstone_torch",
- RedstoneBlock => "minecraft:redstone_block",
- Repeater => "minecraft:repeater",
- Comparator => "minecraft:comparator",
- Piston => "minecraft:piston",
- StickyPiston => "minecraft:sticky_piston",
- SlimeBlock => "minecraft:slime_block",
- HoneyBlock => "minecraft:honey_block",
- Observer => "minecraft:observer",
- Hopper => "minecraft:hopper",
- Dispenser => "minecraft:dispenser",
- Dropper => "minecraft:dropper",
- Lectern => "minecraft:lectern",
- Target => "minecraft:target",
- Lever => "minecraft:lever",
- LightningRod => "minecraft:lightning_rod",
- ExposedLightningRod => "minecraft:exposed_lightning_rod",
- WeatheredLightningRod => "minecraft:weathered_lightning_rod",
- OxidizedLightningRod => "minecraft:oxidized_lightning_rod",
- WaxedLightningRod => "minecraft:waxed_lightning_rod",
- WaxedExposedLightningRod => "minecraft:waxed_exposed_lightning_rod",
- WaxedWeatheredLightningRod => "minecraft:waxed_weathered_lightning_rod",
- WaxedOxidizedLightningRod => "minecraft:waxed_oxidized_lightning_rod",
- DaylightDetector => "minecraft:daylight_detector",
- SculkSensor => "minecraft:sculk_sensor",
- CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
- TripwireHook => "minecraft:tripwire_hook",
- TrappedChest => "minecraft:trapped_chest",
- Tnt => "minecraft:tnt",
- RedstoneLamp => "minecraft:redstone_lamp",
- NoteBlock => "minecraft:note_block",
- StoneButton => "minecraft:stone_button",
- PolishedBlackstoneButton => "minecraft:polished_blackstone_button",
- OakButton => "minecraft:oak_button",
- SpruceButton => "minecraft:spruce_button",
- BirchButton => "minecraft:birch_button",
- JungleButton => "minecraft:jungle_button",
- AcaciaButton => "minecraft:acacia_button",
- CherryButton => "minecraft:cherry_button",
- DarkOakButton => "minecraft:dark_oak_button",
- PaleOakButton => "minecraft:pale_oak_button",
- MangroveButton => "minecraft:mangrove_button",
- BambooButton => "minecraft:bamboo_button",
- CrimsonButton => "minecraft:crimson_button",
- WarpedButton => "minecraft:warped_button",
- StonePressurePlate => "minecraft:stone_pressure_plate",
- PolishedBlackstonePressurePlate => "minecraft:polished_blackstone_pressure_plate",
- LightWeightedPressurePlate => "minecraft:light_weighted_pressure_plate",
- HeavyWeightedPressurePlate => "minecraft:heavy_weighted_pressure_plate",
- OakPressurePlate => "minecraft:oak_pressure_plate",
- SprucePressurePlate => "minecraft:spruce_pressure_plate",
- BirchPressurePlate => "minecraft:birch_pressure_plate",
- JunglePressurePlate => "minecraft:jungle_pressure_plate",
- AcaciaPressurePlate => "minecraft:acacia_pressure_plate",
- CherryPressurePlate => "minecraft:cherry_pressure_plate",
- DarkOakPressurePlate => "minecraft:dark_oak_pressure_plate",
- PaleOakPressurePlate => "minecraft:pale_oak_pressure_plate",
- MangrovePressurePlate => "minecraft:mangrove_pressure_plate",
- BambooPressurePlate => "minecraft:bamboo_pressure_plate",
- CrimsonPressurePlate => "minecraft:crimson_pressure_plate",
- WarpedPressurePlate => "minecraft:warped_pressure_plate",
- IronDoor => "minecraft:iron_door",
- OakDoor => "minecraft:oak_door",
- SpruceDoor => "minecraft:spruce_door",
- BirchDoor => "minecraft:birch_door",
- JungleDoor => "minecraft:jungle_door",
- AcaciaDoor => "minecraft:acacia_door",
- CherryDoor => "minecraft:cherry_door",
- DarkOakDoor => "minecraft:dark_oak_door",
- PaleOakDoor => "minecraft:pale_oak_door",
- MangroveDoor => "minecraft:mangrove_door",
- BambooDoor => "minecraft:bamboo_door",
- CrimsonDoor => "minecraft:crimson_door",
- WarpedDoor => "minecraft:warped_door",
- CopperDoor => "minecraft:copper_door",
- ExposedCopperDoor => "minecraft:exposed_copper_door",
- WeatheredCopperDoor => "minecraft:weathered_copper_door",
- OxidizedCopperDoor => "minecraft:oxidized_copper_door",
- WaxedCopperDoor => "minecraft:waxed_copper_door",
- WaxedExposedCopperDoor => "minecraft:waxed_exposed_copper_door",
- WaxedWeatheredCopperDoor => "minecraft:waxed_weathered_copper_door",
- WaxedOxidizedCopperDoor => "minecraft:waxed_oxidized_copper_door",
- IronTrapdoor => "minecraft:iron_trapdoor",
- OakTrapdoor => "minecraft:oak_trapdoor",
- SpruceTrapdoor => "minecraft:spruce_trapdoor",
- BirchTrapdoor => "minecraft:birch_trapdoor",
- JungleTrapdoor => "minecraft:jungle_trapdoor",
- AcaciaTrapdoor => "minecraft:acacia_trapdoor",
- CherryTrapdoor => "minecraft:cherry_trapdoor",
- DarkOakTrapdoor => "minecraft:dark_oak_trapdoor",
- PaleOakTrapdoor => "minecraft:pale_oak_trapdoor",
- MangroveTrapdoor => "minecraft:mangrove_trapdoor",
- BambooTrapdoor => "minecraft:bamboo_trapdoor",
- CrimsonTrapdoor => "minecraft:crimson_trapdoor",
- WarpedTrapdoor => "minecraft:warped_trapdoor",
- CopperTrapdoor => "minecraft:copper_trapdoor",
- ExposedCopperTrapdoor => "minecraft:exposed_copper_trapdoor",
- WeatheredCopperTrapdoor => "minecraft:weathered_copper_trapdoor",
- OxidizedCopperTrapdoor => "minecraft:oxidized_copper_trapdoor",
- WaxedCopperTrapdoor => "minecraft:waxed_copper_trapdoor",
- WaxedExposedCopperTrapdoor => "minecraft:waxed_exposed_copper_trapdoor",
- WaxedWeatheredCopperTrapdoor => "minecraft:waxed_weathered_copper_trapdoor",
- WaxedOxidizedCopperTrapdoor => "minecraft:waxed_oxidized_copper_trapdoor",
- OakFenceGate => "minecraft:oak_fence_gate",
- SpruceFenceGate => "minecraft:spruce_fence_gate",
- BirchFenceGate => "minecraft:birch_fence_gate",
- JungleFenceGate => "minecraft:jungle_fence_gate",
- AcaciaFenceGate => "minecraft:acacia_fence_gate",
- CherryFenceGate => "minecraft:cherry_fence_gate",
- DarkOakFenceGate => "minecraft:dark_oak_fence_gate",
- PaleOakFenceGate => "minecraft:pale_oak_fence_gate",
- MangroveFenceGate => "minecraft:mangrove_fence_gate",
- BambooFenceGate => "minecraft:bamboo_fence_gate",
- CrimsonFenceGate => "minecraft:crimson_fence_gate",
- WarpedFenceGate => "minecraft:warped_fence_gate",
- PoweredRail => "minecraft:powered_rail",
- DetectorRail => "minecraft:detector_rail",
- Rail => "minecraft:rail",
- ActivatorRail => "minecraft:activator_rail",
- Saddle => "minecraft:saddle",
- WhiteHarness => "minecraft:white_harness",
- OrangeHarness => "minecraft:orange_harness",
- MagentaHarness => "minecraft:magenta_harness",
- LightBlueHarness => "minecraft:light_blue_harness",
- YellowHarness => "minecraft:yellow_harness",
- LimeHarness => "minecraft:lime_harness",
- PinkHarness => "minecraft:pink_harness",
- GrayHarness => "minecraft:gray_harness",
- LightGrayHarness => "minecraft:light_gray_harness",
- CyanHarness => "minecraft:cyan_harness",
- PurpleHarness => "minecraft:purple_harness",
- BlueHarness => "minecraft:blue_harness",
- BrownHarness => "minecraft:brown_harness",
- GreenHarness => "minecraft:green_harness",
- RedHarness => "minecraft:red_harness",
- BlackHarness => "minecraft:black_harness",
- Minecart => "minecraft:minecart",
- ChestMinecart => "minecraft:chest_minecart",
- FurnaceMinecart => "minecraft:furnace_minecart",
- TntMinecart => "minecraft:tnt_minecart",
- HopperMinecart => "minecraft:hopper_minecart",
- CarrotOnAStick => "minecraft:carrot_on_a_stick",
- WarpedFungusOnAStick => "minecraft:warped_fungus_on_a_stick",
- PhantomMembrane => "minecraft:phantom_membrane",
- Elytra => "minecraft:elytra",
- OakBoat => "minecraft:oak_boat",
- OakChestBoat => "minecraft:oak_chest_boat",
- SpruceBoat => "minecraft:spruce_boat",
- SpruceChestBoat => "minecraft:spruce_chest_boat",
- BirchBoat => "minecraft:birch_boat",
- BirchChestBoat => "minecraft:birch_chest_boat",
- JungleBoat => "minecraft:jungle_boat",
- JungleChestBoat => "minecraft:jungle_chest_boat",
- AcaciaBoat => "minecraft:acacia_boat",
- AcaciaChestBoat => "minecraft:acacia_chest_boat",
- CherryBoat => "minecraft:cherry_boat",
- CherryChestBoat => "minecraft:cherry_chest_boat",
- DarkOakBoat => "minecraft:dark_oak_boat",
- DarkOakChestBoat => "minecraft:dark_oak_chest_boat",
- PaleOakBoat => "minecraft:pale_oak_boat",
- PaleOakChestBoat => "minecraft:pale_oak_chest_boat",
- MangroveBoat => "minecraft:mangrove_boat",
- MangroveChestBoat => "minecraft:mangrove_chest_boat",
- BambooRaft => "minecraft:bamboo_raft",
- BambooChestRaft => "minecraft:bamboo_chest_raft",
- StructureBlock => "minecraft:structure_block",
- Jigsaw => "minecraft:jigsaw",
- TestBlock => "minecraft:test_block",
- TestInstanceBlock => "minecraft:test_instance_block",
- TurtleHelmet => "minecraft:turtle_helmet",
- TurtleScute => "minecraft:turtle_scute",
- ArmadilloScute => "minecraft:armadillo_scute",
- WolfArmor => "minecraft:wolf_armor",
- FlintAndSteel => "minecraft:flint_and_steel",
- Bowl => "minecraft:bowl",
- Apple => "minecraft:apple",
- Bow => "minecraft:bow",
- Arrow => "minecraft:arrow",
- Coal => "minecraft:coal",
- Charcoal => "minecraft:charcoal",
- Diamond => "minecraft:diamond",
- Emerald => "minecraft:emerald",
- LapisLazuli => "minecraft:lapis_lazuli",
- Quartz => "minecraft:quartz",
- AmethystShard => "minecraft:amethyst_shard",
- RawIron => "minecraft:raw_iron",
- IronIngot => "minecraft:iron_ingot",
- RawCopper => "minecraft:raw_copper",
- CopperIngot => "minecraft:copper_ingot",
- RawGold => "minecraft:raw_gold",
- GoldIngot => "minecraft:gold_ingot",
- NetheriteIngot => "minecraft:netherite_ingot",
- NetheriteScrap => "minecraft:netherite_scrap",
- WoodenSword => "minecraft:wooden_sword",
- WoodenShovel => "minecraft:wooden_shovel",
- WoodenPickaxe => "minecraft:wooden_pickaxe",
- WoodenAxe => "minecraft:wooden_axe",
- WoodenHoe => "minecraft:wooden_hoe",
- CopperSword => "minecraft:copper_sword",
- CopperShovel => "minecraft:copper_shovel",
- CopperPickaxe => "minecraft:copper_pickaxe",
- CopperAxe => "minecraft:copper_axe",
- CopperHoe => "minecraft:copper_hoe",
- StoneSword => "minecraft:stone_sword",
- StoneShovel => "minecraft:stone_shovel",
- StonePickaxe => "minecraft:stone_pickaxe",
- StoneAxe => "minecraft:stone_axe",
- StoneHoe => "minecraft:stone_hoe",
- GoldenSword => "minecraft:golden_sword",
- GoldenShovel => "minecraft:golden_shovel",
- GoldenPickaxe => "minecraft:golden_pickaxe",
- GoldenAxe => "minecraft:golden_axe",
- GoldenHoe => "minecraft:golden_hoe",
- IronSword => "minecraft:iron_sword",
- IronShovel => "minecraft:iron_shovel",
- IronPickaxe => "minecraft:iron_pickaxe",
- IronAxe => "minecraft:iron_axe",
- IronHoe => "minecraft:iron_hoe",
- DiamondSword => "minecraft:diamond_sword",
- DiamondShovel => "minecraft:diamond_shovel",
- DiamondPickaxe => "minecraft:diamond_pickaxe",
- DiamondAxe => "minecraft:diamond_axe",
- DiamondHoe => "minecraft:diamond_hoe",
- NetheriteSword => "minecraft:netherite_sword",
- NetheriteShovel => "minecraft:netherite_shovel",
- NetheritePickaxe => "minecraft:netherite_pickaxe",
- NetheriteAxe => "minecraft:netherite_axe",
- NetheriteHoe => "minecraft:netherite_hoe",
- Stick => "minecraft:stick",
- MushroomStew => "minecraft:mushroom_stew",
- String => "minecraft:string",
- Feather => "minecraft:feather",
- Gunpowder => "minecraft:gunpowder",
- WheatSeeds => "minecraft:wheat_seeds",
- Wheat => "minecraft:wheat",
- Bread => "minecraft:bread",
- LeatherHelmet => "minecraft:leather_helmet",
- LeatherChestplate => "minecraft:leather_chestplate",
- LeatherLeggings => "minecraft:leather_leggings",
- LeatherBoots => "minecraft:leather_boots",
- CopperHelmet => "minecraft:copper_helmet",
- CopperChestplate => "minecraft:copper_chestplate",
- CopperLeggings => "minecraft:copper_leggings",
- CopperBoots => "minecraft:copper_boots",
- ChainmailHelmet => "minecraft:chainmail_helmet",
- ChainmailChestplate => "minecraft:chainmail_chestplate",
- ChainmailLeggings => "minecraft:chainmail_leggings",
- ChainmailBoots => "minecraft:chainmail_boots",
- IronHelmet => "minecraft:iron_helmet",
- IronChestplate => "minecraft:iron_chestplate",
- IronLeggings => "minecraft:iron_leggings",
- IronBoots => "minecraft:iron_boots",
- DiamondHelmet => "minecraft:diamond_helmet",
- DiamondChestplate => "minecraft:diamond_chestplate",
- DiamondLeggings => "minecraft:diamond_leggings",
- DiamondBoots => "minecraft:diamond_boots",
- GoldenHelmet => "minecraft:golden_helmet",
- GoldenChestplate => "minecraft:golden_chestplate",
- GoldenLeggings => "minecraft:golden_leggings",
- GoldenBoots => "minecraft:golden_boots",
- NetheriteHelmet => "minecraft:netherite_helmet",
- NetheriteChestplate => "minecraft:netherite_chestplate",
- NetheriteLeggings => "minecraft:netherite_leggings",
- NetheriteBoots => "minecraft:netherite_boots",
- Flint => "minecraft:flint",
- Porkchop => "minecraft:porkchop",
- CookedPorkchop => "minecraft:cooked_porkchop",
- Painting => "minecraft:painting",
- GoldenApple => "minecraft:golden_apple",
- EnchantedGoldenApple => "minecraft:enchanted_golden_apple",
- OakSign => "minecraft:oak_sign",
- SpruceSign => "minecraft:spruce_sign",
- BirchSign => "minecraft:birch_sign",
- JungleSign => "minecraft:jungle_sign",
- AcaciaSign => "minecraft:acacia_sign",
- CherrySign => "minecraft:cherry_sign",
- DarkOakSign => "minecraft:dark_oak_sign",
- PaleOakSign => "minecraft:pale_oak_sign",
- MangroveSign => "minecraft:mangrove_sign",
- BambooSign => "minecraft:bamboo_sign",
- CrimsonSign => "minecraft:crimson_sign",
- WarpedSign => "minecraft:warped_sign",
- OakHangingSign => "minecraft:oak_hanging_sign",
- SpruceHangingSign => "minecraft:spruce_hanging_sign",
- BirchHangingSign => "minecraft:birch_hanging_sign",
- JungleHangingSign => "minecraft:jungle_hanging_sign",
- AcaciaHangingSign => "minecraft:acacia_hanging_sign",
- CherryHangingSign => "minecraft:cherry_hanging_sign",
- DarkOakHangingSign => "minecraft:dark_oak_hanging_sign",
- PaleOakHangingSign => "minecraft:pale_oak_hanging_sign",
- MangroveHangingSign => "minecraft:mangrove_hanging_sign",
- BambooHangingSign => "minecraft:bamboo_hanging_sign",
- CrimsonHangingSign => "minecraft:crimson_hanging_sign",
- WarpedHangingSign => "minecraft:warped_hanging_sign",
- Bucket => "minecraft:bucket",
- WaterBucket => "minecraft:water_bucket",
- LavaBucket => "minecraft:lava_bucket",
- PowderSnowBucket => "minecraft:powder_snow_bucket",
- Snowball => "minecraft:snowball",
- Leather => "minecraft:leather",
- MilkBucket => "minecraft:milk_bucket",
- PufferfishBucket => "minecraft:pufferfish_bucket",
- SalmonBucket => "minecraft:salmon_bucket",
- CodBucket => "minecraft:cod_bucket",
- TropicalFishBucket => "minecraft:tropical_fish_bucket",
- AxolotlBucket => "minecraft:axolotl_bucket",
- TadpoleBucket => "minecraft:tadpole_bucket",
- Brick => "minecraft:brick",
- ClayBall => "minecraft:clay_ball",
- DriedKelpBlock => "minecraft:dried_kelp_block",
- Paper => "minecraft:paper",
- Book => "minecraft:book",
- SlimeBall => "minecraft:slime_ball",
- Egg => "minecraft:egg",
- BlueEgg => "minecraft:blue_egg",
- BrownEgg => "minecraft:brown_egg",
- Compass => "minecraft:compass",
- RecoveryCompass => "minecraft:recovery_compass",
- Bundle => "minecraft:bundle",
- WhiteBundle => "minecraft:white_bundle",
- OrangeBundle => "minecraft:orange_bundle",
- MagentaBundle => "minecraft:magenta_bundle",
- LightBlueBundle => "minecraft:light_blue_bundle",
- YellowBundle => "minecraft:yellow_bundle",
- LimeBundle => "minecraft:lime_bundle",
- PinkBundle => "minecraft:pink_bundle",
- GrayBundle => "minecraft:gray_bundle",
- LightGrayBundle => "minecraft:light_gray_bundle",
- CyanBundle => "minecraft:cyan_bundle",
- PurpleBundle => "minecraft:purple_bundle",
- BlueBundle => "minecraft:blue_bundle",
- BrownBundle => "minecraft:brown_bundle",
- GreenBundle => "minecraft:green_bundle",
- RedBundle => "minecraft:red_bundle",
- BlackBundle => "minecraft:black_bundle",
- FishingRod => "minecraft:fishing_rod",
- Clock => "minecraft:clock",
- Spyglass => "minecraft:spyglass",
- GlowstoneDust => "minecraft:glowstone_dust",
- Cod => "minecraft:cod",
- Salmon => "minecraft:salmon",
- TropicalFish => "minecraft:tropical_fish",
- Pufferfish => "minecraft:pufferfish",
- CookedCod => "minecraft:cooked_cod",
- CookedSalmon => "minecraft:cooked_salmon",
- InkSac => "minecraft:ink_sac",
- GlowInkSac => "minecraft:glow_ink_sac",
- CocoaBeans => "minecraft:cocoa_beans",
- WhiteDye => "minecraft:white_dye",
- OrangeDye => "minecraft:orange_dye",
- MagentaDye => "minecraft:magenta_dye",
- LightBlueDye => "minecraft:light_blue_dye",
- YellowDye => "minecraft:yellow_dye",
- LimeDye => "minecraft:lime_dye",
- PinkDye => "minecraft:pink_dye",
- GrayDye => "minecraft:gray_dye",
- LightGrayDye => "minecraft:light_gray_dye",
- CyanDye => "minecraft:cyan_dye",
- PurpleDye => "minecraft:purple_dye",
- BlueDye => "minecraft:blue_dye",
- BrownDye => "minecraft:brown_dye",
- GreenDye => "minecraft:green_dye",
- RedDye => "minecraft:red_dye",
- BlackDye => "minecraft:black_dye",
- BoneMeal => "minecraft:bone_meal",
- Bone => "minecraft:bone",
- Sugar => "minecraft:sugar",
- Cake => "minecraft:cake",
- WhiteBed => "minecraft:white_bed",
- OrangeBed => "minecraft:orange_bed",
- MagentaBed => "minecraft:magenta_bed",
- LightBlueBed => "minecraft:light_blue_bed",
- YellowBed => "minecraft:yellow_bed",
- LimeBed => "minecraft:lime_bed",
- PinkBed => "minecraft:pink_bed",
- GrayBed => "minecraft:gray_bed",
- LightGrayBed => "minecraft:light_gray_bed",
- CyanBed => "minecraft:cyan_bed",
- PurpleBed => "minecraft:purple_bed",
- BlueBed => "minecraft:blue_bed",
- BrownBed => "minecraft:brown_bed",
- GreenBed => "minecraft:green_bed",
- RedBed => "minecraft:red_bed",
- BlackBed => "minecraft:black_bed",
- Cookie => "minecraft:cookie",
- Crafter => "minecraft:crafter",
- FilledMap => "minecraft:filled_map",
- Shears => "minecraft:shears",
- MelonSlice => "minecraft:melon_slice",
- DriedKelp => "minecraft:dried_kelp",
- PumpkinSeeds => "minecraft:pumpkin_seeds",
- MelonSeeds => "minecraft:melon_seeds",
- Beef => "minecraft:beef",
- CookedBeef => "minecraft:cooked_beef",
- Chicken => "minecraft:chicken",
- CookedChicken => "minecraft:cooked_chicken",
- RottenFlesh => "minecraft:rotten_flesh",
- EnderPearl => "minecraft:ender_pearl",
- BlazeRod => "minecraft:blaze_rod",
- GhastTear => "minecraft:ghast_tear",
- GoldNugget => "minecraft:gold_nugget",
- NetherWart => "minecraft:nether_wart",
- GlassBottle => "minecraft:glass_bottle",
- Potion => "minecraft:potion",
- SpiderEye => "minecraft:spider_eye",
- FermentedSpiderEye => "minecraft:fermented_spider_eye",
- BlazePowder => "minecraft:blaze_powder",
- MagmaCream => "minecraft:magma_cream",
- BrewingStand => "minecraft:brewing_stand",
- Cauldron => "minecraft:cauldron",
- EnderEye => "minecraft:ender_eye",
- GlisteringMelonSlice => "minecraft:glistering_melon_slice",
- ChickenSpawnEgg => "minecraft:chicken_spawn_egg",
- CowSpawnEgg => "minecraft:cow_spawn_egg",
- PigSpawnEgg => "minecraft:pig_spawn_egg",
- SheepSpawnEgg => "minecraft:sheep_spawn_egg",
- CamelSpawnEgg => "minecraft:camel_spawn_egg",
- DonkeySpawnEgg => "minecraft:donkey_spawn_egg",
- HorseSpawnEgg => "minecraft:horse_spawn_egg",
- MuleSpawnEgg => "minecraft:mule_spawn_egg",
- CatSpawnEgg => "minecraft:cat_spawn_egg",
- ParrotSpawnEgg => "minecraft:parrot_spawn_egg",
- WolfSpawnEgg => "minecraft:wolf_spawn_egg",
- ArmadilloSpawnEgg => "minecraft:armadillo_spawn_egg",
- BatSpawnEgg => "minecraft:bat_spawn_egg",
- BeeSpawnEgg => "minecraft:bee_spawn_egg",
- FoxSpawnEgg => "minecraft:fox_spawn_egg",
- GoatSpawnEgg => "minecraft:goat_spawn_egg",
- LlamaSpawnEgg => "minecraft:llama_spawn_egg",
- OcelotSpawnEgg => "minecraft:ocelot_spawn_egg",
- PandaSpawnEgg => "minecraft:panda_spawn_egg",
- PolarBearSpawnEgg => "minecraft:polar_bear_spawn_egg",
- RabbitSpawnEgg => "minecraft:rabbit_spawn_egg",
- AxolotlSpawnEgg => "minecraft:axolotl_spawn_egg",
- CodSpawnEgg => "minecraft:cod_spawn_egg",
- DolphinSpawnEgg => "minecraft:dolphin_spawn_egg",
- FrogSpawnEgg => "minecraft:frog_spawn_egg",
- GlowSquidSpawnEgg => "minecraft:glow_squid_spawn_egg",
- NautilusSpawnEgg => "minecraft:nautilus_spawn_egg",
- PufferfishSpawnEgg => "minecraft:pufferfish_spawn_egg",
- SalmonSpawnEgg => "minecraft:salmon_spawn_egg",
- SquidSpawnEgg => "minecraft:squid_spawn_egg",
- TadpoleSpawnEgg => "minecraft:tadpole_spawn_egg",
- TropicalFishSpawnEgg => "minecraft:tropical_fish_spawn_egg",
- TurtleSpawnEgg => "minecraft:turtle_spawn_egg",
- AllaySpawnEgg => "minecraft:allay_spawn_egg",
- MooshroomSpawnEgg => "minecraft:mooshroom_spawn_egg",
- SnifferSpawnEgg => "minecraft:sniffer_spawn_egg",
- CopperGolemSpawnEgg => "minecraft:copper_golem_spawn_egg",
- IronGolemSpawnEgg => "minecraft:iron_golem_spawn_egg",
- SnowGolemSpawnEgg => "minecraft:snow_golem_spawn_egg",
- TraderLlamaSpawnEgg => "minecraft:trader_llama_spawn_egg",
- VillagerSpawnEgg => "minecraft:villager_spawn_egg",
- WanderingTraderSpawnEgg => "minecraft:wandering_trader_spawn_egg",
- BoggedSpawnEgg => "minecraft:bogged_spawn_egg",
- CamelHuskSpawnEgg => "minecraft:camel_husk_spawn_egg",
- DrownedSpawnEgg => "minecraft:drowned_spawn_egg",
- HuskSpawnEgg => "minecraft:husk_spawn_egg",
- ParchedSpawnEgg => "minecraft:parched_spawn_egg",
- SkeletonSpawnEgg => "minecraft:skeleton_spawn_egg",
- SkeletonHorseSpawnEgg => "minecraft:skeleton_horse_spawn_egg",
- StraySpawnEgg => "minecraft:stray_spawn_egg",
- WitherSpawnEgg => "minecraft:wither_spawn_egg",
- WitherSkeletonSpawnEgg => "minecraft:wither_skeleton_spawn_egg",
- ZombieSpawnEgg => "minecraft:zombie_spawn_egg",
- ZombieHorseSpawnEgg => "minecraft:zombie_horse_spawn_egg",
- ZombieNautilusSpawnEgg => "minecraft:zombie_nautilus_spawn_egg",
- ZombieVillagerSpawnEgg => "minecraft:zombie_villager_spawn_egg",
- CaveSpiderSpawnEgg => "minecraft:cave_spider_spawn_egg",
- SpiderSpawnEgg => "minecraft:spider_spawn_egg",
- BreezeSpawnEgg => "minecraft:breeze_spawn_egg",
- CreakingSpawnEgg => "minecraft:creaking_spawn_egg",
- CreeperSpawnEgg => "minecraft:creeper_spawn_egg",
- ElderGuardianSpawnEgg => "minecraft:elder_guardian_spawn_egg",
- GuardianSpawnEgg => "minecraft:guardian_spawn_egg",
- PhantomSpawnEgg => "minecraft:phantom_spawn_egg",
- SilverfishSpawnEgg => "minecraft:silverfish_spawn_egg",
- SlimeSpawnEgg => "minecraft:slime_spawn_egg",
- WardenSpawnEgg => "minecraft:warden_spawn_egg",
- WitchSpawnEgg => "minecraft:witch_spawn_egg",
- EvokerSpawnEgg => "minecraft:evoker_spawn_egg",
- PillagerSpawnEgg => "minecraft:pillager_spawn_egg",
- RavagerSpawnEgg => "minecraft:ravager_spawn_egg",
- VindicatorSpawnEgg => "minecraft:vindicator_spawn_egg",
- VexSpawnEgg => "minecraft:vex_spawn_egg",
- BlazeSpawnEgg => "minecraft:blaze_spawn_egg",
- GhastSpawnEgg => "minecraft:ghast_spawn_egg",
- HappyGhastSpawnEgg => "minecraft:happy_ghast_spawn_egg",
- HoglinSpawnEgg => "minecraft:hoglin_spawn_egg",
- MagmaCubeSpawnEgg => "minecraft:magma_cube_spawn_egg",
- PiglinSpawnEgg => "minecraft:piglin_spawn_egg",
- PiglinBruteSpawnEgg => "minecraft:piglin_brute_spawn_egg",
- StriderSpawnEgg => "minecraft:strider_spawn_egg",
- ZoglinSpawnEgg => "minecraft:zoglin_spawn_egg",
- ZombifiedPiglinSpawnEgg => "minecraft:zombified_piglin_spawn_egg",
- EnderDragonSpawnEgg => "minecraft:ender_dragon_spawn_egg",
- EndermanSpawnEgg => "minecraft:enderman_spawn_egg",
- EndermiteSpawnEgg => "minecraft:endermite_spawn_egg",
- ShulkerSpawnEgg => "minecraft:shulker_spawn_egg",
- ExperienceBottle => "minecraft:experience_bottle",
- FireCharge => "minecraft:fire_charge",
- WindCharge => "minecraft:wind_charge",
- WritableBook => "minecraft:writable_book",
- WrittenBook => "minecraft:written_book",
- BreezeRod => "minecraft:breeze_rod",
- Mace => "minecraft:mace",
- ItemFrame => "minecraft:item_frame",
- GlowItemFrame => "minecraft:glow_item_frame",
- FlowerPot => "minecraft:flower_pot",
- Carrot => "minecraft:carrot",
- Potato => "minecraft:potato",
- BakedPotato => "minecraft:baked_potato",
- PoisonousPotato => "minecraft:poisonous_potato",
- Map => "minecraft:map",
- GoldenCarrot => "minecraft:golden_carrot",
- SkeletonSkull => "minecraft:skeleton_skull",
- WitherSkeletonSkull => "minecraft:wither_skeleton_skull",
- PlayerHead => "minecraft:player_head",
- ZombieHead => "minecraft:zombie_head",
- CreeperHead => "minecraft:creeper_head",
- DragonHead => "minecraft:dragon_head",
- PiglinHead => "minecraft:piglin_head",
- NetherStar => "minecraft:nether_star",
- PumpkinPie => "minecraft:pumpkin_pie",
- FireworkRocket => "minecraft:firework_rocket",
- FireworkStar => "minecraft:firework_star",
- EnchantedBook => "minecraft:enchanted_book",
- NetherBrick => "minecraft:nether_brick",
- ResinBrick => "minecraft:resin_brick",
- PrismarineShard => "minecraft:prismarine_shard",
- PrismarineCrystals => "minecraft:prismarine_crystals",
- Rabbit => "minecraft:rabbit",
- CookedRabbit => "minecraft:cooked_rabbit",
- RabbitStew => "minecraft:rabbit_stew",
- RabbitFoot => "minecraft:rabbit_foot",
- RabbitHide => "minecraft:rabbit_hide",
- ArmorStand => "minecraft:armor_stand",
- CopperHorseArmor => "minecraft:copper_horse_armor",
- IronHorseArmor => "minecraft:iron_horse_armor",
- GoldenHorseArmor => "minecraft:golden_horse_armor",
- DiamondHorseArmor => "minecraft:diamond_horse_armor",
- NetheriteHorseArmor => "minecraft:netherite_horse_armor",
- LeatherHorseArmor => "minecraft:leather_horse_armor",
- Lead => "minecraft:lead",
- NameTag => "minecraft:name_tag",
- CommandBlockMinecart => "minecraft:command_block_minecart",
- Mutton => "minecraft:mutton",
- CookedMutton => "minecraft:cooked_mutton",
- WhiteBanner => "minecraft:white_banner",
- OrangeBanner => "minecraft:orange_banner",
- MagentaBanner => "minecraft:magenta_banner",
- LightBlueBanner => "minecraft:light_blue_banner",
- YellowBanner => "minecraft:yellow_banner",
- LimeBanner => "minecraft:lime_banner",
- PinkBanner => "minecraft:pink_banner",
- GrayBanner => "minecraft:gray_banner",
- LightGrayBanner => "minecraft:light_gray_banner",
- CyanBanner => "minecraft:cyan_banner",
- PurpleBanner => "minecraft:purple_banner",
- BlueBanner => "minecraft:blue_banner",
- BrownBanner => "minecraft:brown_banner",
- GreenBanner => "minecraft:green_banner",
- RedBanner => "minecraft:red_banner",
- BlackBanner => "minecraft:black_banner",
- EndCrystal => "minecraft:end_crystal",
- ChorusFruit => "minecraft:chorus_fruit",
- PoppedChorusFruit => "minecraft:popped_chorus_fruit",
- TorchflowerSeeds => "minecraft:torchflower_seeds",
- PitcherPod => "minecraft:pitcher_pod",
- Beetroot => "minecraft:beetroot",
- BeetrootSeeds => "minecraft:beetroot_seeds",
- BeetrootSoup => "minecraft:beetroot_soup",
- DragonBreath => "minecraft:dragon_breath",
- SplashPotion => "minecraft:splash_potion",
- SpectralArrow => "minecraft:spectral_arrow",
- TippedArrow => "minecraft:tipped_arrow",
- LingeringPotion => "minecraft:lingering_potion",
- Shield => "minecraft:shield",
- WoodenSpear => "minecraft:wooden_spear",
- StoneSpear => "minecraft:stone_spear",
- CopperSpear => "minecraft:copper_spear",
- IronSpear => "minecraft:iron_spear",
- GoldenSpear => "minecraft:golden_spear",
- DiamondSpear => "minecraft:diamond_spear",
- NetheriteSpear => "minecraft:netherite_spear",
- TotemOfUndying => "minecraft:totem_of_undying",
- ShulkerShell => "minecraft:shulker_shell",
- IronNugget => "minecraft:iron_nugget",
- CopperNugget => "minecraft:copper_nugget",
- KnowledgeBook => "minecraft:knowledge_book",
- DebugStick => "minecraft:debug_stick",
- MusicDisc13 => "minecraft:music_disc_13",
- MusicDiscCat => "minecraft:music_disc_cat",
- MusicDiscBlocks => "minecraft:music_disc_blocks",
- MusicDiscChirp => "minecraft:music_disc_chirp",
- MusicDiscCreator => "minecraft:music_disc_creator",
- MusicDiscCreatorMusicBox => "minecraft:music_disc_creator_music_box",
- MusicDiscFar => "minecraft:music_disc_far",
- MusicDiscLavaChicken => "minecraft:music_disc_lava_chicken",
- MusicDiscMall => "minecraft:music_disc_mall",
- MusicDiscMellohi => "minecraft:music_disc_mellohi",
- MusicDiscStal => "minecraft:music_disc_stal",
- MusicDiscStrad => "minecraft:music_disc_strad",
- MusicDiscWard => "minecraft:music_disc_ward",
- MusicDisc11 => "minecraft:music_disc_11",
- MusicDiscWait => "minecraft:music_disc_wait",
- MusicDiscOtherside => "minecraft:music_disc_otherside",
- MusicDiscRelic => "minecraft:music_disc_relic",
- MusicDisc5 => "minecraft:music_disc_5",
- MusicDiscPigstep => "minecraft:music_disc_pigstep",
- MusicDiscPrecipice => "minecraft:music_disc_precipice",
- MusicDiscTears => "minecraft:music_disc_tears",
- DiscFragment5 => "minecraft:disc_fragment_5",
- Trident => "minecraft:trident",
- NautilusShell => "minecraft:nautilus_shell",
- IronNautilusArmor => "minecraft:iron_nautilus_armor",
- GoldenNautilusArmor => "minecraft:golden_nautilus_armor",
- DiamondNautilusArmor => "minecraft:diamond_nautilus_armor",
- NetheriteNautilusArmor => "minecraft:netherite_nautilus_armor",
- CopperNautilusArmor => "minecraft:copper_nautilus_armor",
- HeartOfTheSea => "minecraft:heart_of_the_sea",
- Crossbow => "minecraft:crossbow",
- SuspiciousStew => "minecraft:suspicious_stew",
- Loom => "minecraft:loom",
- FlowerBannerPattern => "minecraft:flower_banner_pattern",
- CreeperBannerPattern => "minecraft:creeper_banner_pattern",
- SkullBannerPattern => "minecraft:skull_banner_pattern",
- MojangBannerPattern => "minecraft:mojang_banner_pattern",
- GlobeBannerPattern => "minecraft:globe_banner_pattern",
- PiglinBannerPattern => "minecraft:piglin_banner_pattern",
- FlowBannerPattern => "minecraft:flow_banner_pattern",
- GusterBannerPattern => "minecraft:guster_banner_pattern",
- FieldMasonedBannerPattern => "minecraft:field_masoned_banner_pattern",
- BordureIndentedBannerPattern => "minecraft:bordure_indented_banner_pattern",
- GoatHorn => "minecraft:goat_horn",
- Composter => "minecraft:composter",
- Barrel => "minecraft:barrel",
- Smoker => "minecraft:smoker",
- BlastFurnace => "minecraft:blast_furnace",
- CartographyTable => "minecraft:cartography_table",
- FletchingTable => "minecraft:fletching_table",
- Grindstone => "minecraft:grindstone",
- SmithingTable => "minecraft:smithing_table",
- Stonecutter => "minecraft:stonecutter",
- Bell => "minecraft:bell",
- Lantern => "minecraft:lantern",
- SoulLantern => "minecraft:soul_lantern",
- CopperLantern => "minecraft:copper_lantern",
- ExposedCopperLantern => "minecraft:exposed_copper_lantern",
- WeatheredCopperLantern => "minecraft:weathered_copper_lantern",
- OxidizedCopperLantern => "minecraft:oxidized_copper_lantern",
- WaxedCopperLantern => "minecraft:waxed_copper_lantern",
- WaxedExposedCopperLantern => "minecraft:waxed_exposed_copper_lantern",
- WaxedWeatheredCopperLantern => "minecraft:waxed_weathered_copper_lantern",
- WaxedOxidizedCopperLantern => "minecraft:waxed_oxidized_copper_lantern",
- SweetBerries => "minecraft:sweet_berries",
- GlowBerries => "minecraft:glow_berries",
- Campfire => "minecraft:campfire",
- SoulCampfire => "minecraft:soul_campfire",
- Shroomlight => "minecraft:shroomlight",
- Honeycomb => "minecraft:honeycomb",
- BeeNest => "minecraft:bee_nest",
- Beehive => "minecraft:beehive",
- HoneyBottle => "minecraft:honey_bottle",
- HoneycombBlock => "minecraft:honeycomb_block",
- Lodestone => "minecraft:lodestone",
- CryingObsidian => "minecraft:crying_obsidian",
- Blackstone => "minecraft:blackstone",
- BlackstoneSlab => "minecraft:blackstone_slab",
- BlackstoneStairs => "minecraft:blackstone_stairs",
- GildedBlackstone => "minecraft:gilded_blackstone",
- PolishedBlackstone => "minecraft:polished_blackstone",
- PolishedBlackstoneSlab => "minecraft:polished_blackstone_slab",
- PolishedBlackstoneStairs => "minecraft:polished_blackstone_stairs",
- ChiseledPolishedBlackstone => "minecraft:chiseled_polished_blackstone",
- PolishedBlackstoneBricks => "minecraft:polished_blackstone_bricks",
- PolishedBlackstoneBrickSlab => "minecraft:polished_blackstone_brick_slab",
- PolishedBlackstoneBrickStairs => "minecraft:polished_blackstone_brick_stairs",
- CrackedPolishedBlackstoneBricks => "minecraft:cracked_polished_blackstone_bricks",
- RespawnAnchor => "minecraft:respawn_anchor",
- Candle => "minecraft:candle",
- WhiteCandle => "minecraft:white_candle",
- OrangeCandle => "minecraft:orange_candle",
- MagentaCandle => "minecraft:magenta_candle",
- LightBlueCandle => "minecraft:light_blue_candle",
- YellowCandle => "minecraft:yellow_candle",
- LimeCandle => "minecraft:lime_candle",
- PinkCandle => "minecraft:pink_candle",
- GrayCandle => "minecraft:gray_candle",
- LightGrayCandle => "minecraft:light_gray_candle",
- CyanCandle => "minecraft:cyan_candle",
- PurpleCandle => "minecraft:purple_candle",
- BlueCandle => "minecraft:blue_candle",
- BrownCandle => "minecraft:brown_candle",
- GreenCandle => "minecraft:green_candle",
- RedCandle => "minecraft:red_candle",
- BlackCandle => "minecraft:black_candle",
- SmallAmethystBud => "minecraft:small_amethyst_bud",
- MediumAmethystBud => "minecraft:medium_amethyst_bud",
- LargeAmethystBud => "minecraft:large_amethyst_bud",
- AmethystCluster => "minecraft:amethyst_cluster",
- PointedDripstone => "minecraft:pointed_dripstone",
- OchreFroglight => "minecraft:ochre_froglight",
- VerdantFroglight => "minecraft:verdant_froglight",
- PearlescentFroglight => "minecraft:pearlescent_froglight",
- Frogspawn => "minecraft:frogspawn",
- EchoShard => "minecraft:echo_shard",
- Brush => "minecraft:brush",
- NetheriteUpgradeSmithingTemplate => "minecraft:netherite_upgrade_smithing_template",
- SentryArmorTrimSmithingTemplate => "minecraft:sentry_armor_trim_smithing_template",
- DuneArmorTrimSmithingTemplate => "minecraft:dune_armor_trim_smithing_template",
- CoastArmorTrimSmithingTemplate => "minecraft:coast_armor_trim_smithing_template",
- WildArmorTrimSmithingTemplate => "minecraft:wild_armor_trim_smithing_template",
- WardArmorTrimSmithingTemplate => "minecraft:ward_armor_trim_smithing_template",
- EyeArmorTrimSmithingTemplate => "minecraft:eye_armor_trim_smithing_template",
- VexArmorTrimSmithingTemplate => "minecraft:vex_armor_trim_smithing_template",
- TideArmorTrimSmithingTemplate => "minecraft:tide_armor_trim_smithing_template",
- SnoutArmorTrimSmithingTemplate => "minecraft:snout_armor_trim_smithing_template",
- RibArmorTrimSmithingTemplate => "minecraft:rib_armor_trim_smithing_template",
- SpireArmorTrimSmithingTemplate => "minecraft:spire_armor_trim_smithing_template",
- WayfinderArmorTrimSmithingTemplate => "minecraft:wayfinder_armor_trim_smithing_template",
- ShaperArmorTrimSmithingTemplate => "minecraft:shaper_armor_trim_smithing_template",
- SilenceArmorTrimSmithingTemplate => "minecraft:silence_armor_trim_smithing_template",
- RaiserArmorTrimSmithingTemplate => "minecraft:raiser_armor_trim_smithing_template",
- HostArmorTrimSmithingTemplate => "minecraft:host_armor_trim_smithing_template",
- FlowArmorTrimSmithingTemplate => "minecraft:flow_armor_trim_smithing_template",
- BoltArmorTrimSmithingTemplate => "minecraft:bolt_armor_trim_smithing_template",
- AnglerPotterySherd => "minecraft:angler_pottery_sherd",
- ArcherPotterySherd => "minecraft:archer_pottery_sherd",
- ArmsUpPotterySherd => "minecraft:arms_up_pottery_sherd",
- BladePotterySherd => "minecraft:blade_pottery_sherd",
- BrewerPotterySherd => "minecraft:brewer_pottery_sherd",
- BurnPotterySherd => "minecraft:burn_pottery_sherd",
- DangerPotterySherd => "minecraft:danger_pottery_sherd",
- ExplorerPotterySherd => "minecraft:explorer_pottery_sherd",
- FlowPotterySherd => "minecraft:flow_pottery_sherd",
- FriendPotterySherd => "minecraft:friend_pottery_sherd",
- GusterPotterySherd => "minecraft:guster_pottery_sherd",
- HeartPotterySherd => "minecraft:heart_pottery_sherd",
- HeartbreakPotterySherd => "minecraft:heartbreak_pottery_sherd",
- HowlPotterySherd => "minecraft:howl_pottery_sherd",
- MinerPotterySherd => "minecraft:miner_pottery_sherd",
- MournerPotterySherd => "minecraft:mourner_pottery_sherd",
- PlentyPotterySherd => "minecraft:plenty_pottery_sherd",
- PrizePotterySherd => "minecraft:prize_pottery_sherd",
- ScrapePotterySherd => "minecraft:scrape_pottery_sherd",
- SheafPotterySherd => "minecraft:sheaf_pottery_sherd",
- ShelterPotterySherd => "minecraft:shelter_pottery_sherd",
- SkullPotterySherd => "minecraft:skull_pottery_sherd",
- SnortPotterySherd => "minecraft:snort_pottery_sherd",
- CopperGrate => "minecraft:copper_grate",
- ExposedCopperGrate => "minecraft:exposed_copper_grate",
- WeatheredCopperGrate => "minecraft:weathered_copper_grate",
- OxidizedCopperGrate => "minecraft:oxidized_copper_grate",
- WaxedCopperGrate => "minecraft:waxed_copper_grate",
- WaxedExposedCopperGrate => "minecraft:waxed_exposed_copper_grate",
- WaxedWeatheredCopperGrate => "minecraft:waxed_weathered_copper_grate",
- WaxedOxidizedCopperGrate => "minecraft:waxed_oxidized_copper_grate",
- CopperBulb => "minecraft:copper_bulb",
- ExposedCopperBulb => "minecraft:exposed_copper_bulb",
- WeatheredCopperBulb => "minecraft:weathered_copper_bulb",
- OxidizedCopperBulb => "minecraft:oxidized_copper_bulb",
- WaxedCopperBulb => "minecraft:waxed_copper_bulb",
- WaxedExposedCopperBulb => "minecraft:waxed_exposed_copper_bulb",
- WaxedWeatheredCopperBulb => "minecraft:waxed_weathered_copper_bulb",
- WaxedOxidizedCopperBulb => "minecraft:waxed_oxidized_copper_bulb",
- CopperChest => "minecraft:copper_chest",
- ExposedCopperChest => "minecraft:exposed_copper_chest",
- WeatheredCopperChest => "minecraft:weathered_copper_chest",
- OxidizedCopperChest => "minecraft:oxidized_copper_chest",
- WaxedCopperChest => "minecraft:waxed_copper_chest",
- WaxedExposedCopperChest => "minecraft:waxed_exposed_copper_chest",
- WaxedWeatheredCopperChest => "minecraft:waxed_weathered_copper_chest",
- WaxedOxidizedCopperChest => "minecraft:waxed_oxidized_copper_chest",
- CopperGolemStatue => "minecraft:copper_golem_statue",
- ExposedCopperGolemStatue => "minecraft:exposed_copper_golem_statue",
- WeatheredCopperGolemStatue => "minecraft:weathered_copper_golem_statue",
- OxidizedCopperGolemStatue => "minecraft:oxidized_copper_golem_statue",
- WaxedCopperGolemStatue => "minecraft:waxed_copper_golem_statue",
- WaxedExposedCopperGolemStatue => "minecraft:waxed_exposed_copper_golem_statue",
- WaxedWeatheredCopperGolemStatue => "minecraft:waxed_weathered_copper_golem_statue",
- WaxedOxidizedCopperGolemStatue => "minecraft:waxed_oxidized_copper_golem_statue",
- TrialSpawner => "minecraft:trial_spawner",
- TrialKey => "minecraft:trial_key",
- OminousTrialKey => "minecraft:ominous_trial_key",
- Vault => "minecraft:vault",
- OminousBottle => "minecraft:ominous_bottle",
-}
-}
-
-registry! {
-enum LootConditionKind {
- Inverted => "minecraft:inverted",
- AnyOf => "minecraft:any_of",
- AllOf => "minecraft:all_of",
- RandomChance => "minecraft:random_chance",
- RandomChanceWithEnchantedBonus => "minecraft:random_chance_with_enchanted_bonus",
- EntityProperties => "minecraft:entity_properties",
- KilledByPlayer => "minecraft:killed_by_player",
- EntityScores => "minecraft:entity_scores",
- BlockStateProperty => "minecraft:block_state_property",
- MatchTool => "minecraft:match_tool",
- TableBonus => "minecraft:table_bonus",
- SurvivesExplosion => "minecraft:survives_explosion",
- DamageSourceProperties => "minecraft:damage_source_properties",
- LocationCheck => "minecraft:location_check",
- WeatherCheck => "minecraft:weather_check",
- Reference => "minecraft:reference",
- TimeCheck => "minecraft:time_check",
- ValueCheck => "minecraft:value_check",
- EnchantmentActiveCheck => "minecraft:enchantment_active_check",
-}
-}
-
-registry! {
-enum LootFunctionKind {
- SetCount => "minecraft:set_count",
- SetItem => "minecraft:set_item",
- EnchantWithLevels => "minecraft:enchant_with_levels",
- EnchantRandomly => "minecraft:enchant_randomly",
- SetEnchantments => "minecraft:set_enchantments",
- SetCustomData => "minecraft:set_custom_data",
- SetComponents => "minecraft:set_components",
- FurnaceSmelt => "minecraft:furnace_smelt",
- EnchantedCountIncrease => "minecraft:enchanted_count_increase",
- SetDamage => "minecraft:set_damage",
- SetAttributes => "minecraft:set_attributes",
- SetName => "minecraft:set_name",
- ExplorationMap => "minecraft:exploration_map",
- SetStewEffect => "minecraft:set_stew_effect",
- CopyName => "minecraft:copy_name",
- SetContents => "minecraft:set_contents",
- ModifyContents => "minecraft:modify_contents",
- Filtered => "minecraft:filtered",
- LimitCount => "minecraft:limit_count",
- ApplyBonus => "minecraft:apply_bonus",
- SetLootTable => "minecraft:set_loot_table",
- ExplosionDecay => "minecraft:explosion_decay",
- SetLore => "minecraft:set_lore",
- FillPlayerHead => "minecraft:fill_player_head",
- CopyCustomData => "minecraft:copy_custom_data",
- CopyState => "minecraft:copy_state",
- SetBannerPattern => "minecraft:set_banner_pattern",
- SetPotion => "minecraft:set_potion",
- SetInstrument => "minecraft:set_instrument",
- Reference => "minecraft:reference",
- Sequence => "minecraft:sequence",
- CopyComponents => "minecraft:copy_components",
- SetFireworks => "minecraft:set_fireworks",
- SetFireworkExplosion => "minecraft:set_firework_explosion",
- SetBookCover => "minecraft:set_book_cover",
- SetWrittenBookPages => "minecraft:set_written_book_pages",
- SetWritableBookPages => "minecraft:set_writable_book_pages",
- ToggleTooltips => "minecraft:toggle_tooltips",
- SetOminousBottleAmplifier => "minecraft:set_ominous_bottle_amplifier",
- SetCustomModelData => "minecraft:set_custom_model_data",
- Discard => "minecraft:discard",
-}
-}
-
-registry! {
-enum LootNbtProviderKind {
- Storage => "minecraft:storage",
- Context => "minecraft:context",
-}
-}
-
-registry! {
-enum LootNumberProviderKind {
- Constant => "minecraft:constant",
- Uniform => "minecraft:uniform",
- Binomial => "minecraft:binomial",
- Score => "minecraft:score",
- Storage => "minecraft:storage",
- EnchantmentLevel => "minecraft:enchantment_level",
-}
-}
-
-registry! {
-enum LootPoolEntryKind {
- Empty => "minecraft:empty",
- Item => "minecraft:item",
- LootTable => "minecraft:loot_table",
- Dynamic => "minecraft:dynamic",
- Tag => "minecraft:tag",
- Slots => "minecraft:slots",
- Alternatives => "minecraft:alternatives",
- Sequence => "minecraft:sequence",
- Group => "minecraft:group",
-}
-}
-
-registry! {
-enum LootScoreProviderKind {
- Fixed => "minecraft:fixed",
- Context => "minecraft:context",
-}
-}
-
-registry! {
-enum MemoryModuleKind {
- Dummy => "minecraft:dummy",
- Home => "minecraft:home",
- JobSite => "minecraft:job_site",
- PotentialJobSite => "minecraft:potential_job_site",
- MeetingPoint => "minecraft:meeting_point",
- SecondaryJobSite => "minecraft:secondary_job_site",
- Mobs => "minecraft:mobs",
- VisibleMobs => "minecraft:visible_mobs",
- VisibleVillagerBabies => "minecraft:visible_villager_babies",
- NearestPlayers => "minecraft:nearest_players",
- NearestVisiblePlayer => "minecraft:nearest_visible_player",
- NearestVisibleTargetablePlayer => "minecraft:nearest_visible_targetable_player",
- NearestVisibleTargetablePlayers => "minecraft:nearest_visible_targetable_players",
- WalkTarget => "minecraft:walk_target",
- LookTarget => "minecraft:look_target",
- AttackTarget => "minecraft:attack_target",
- AttackCoolingDown => "minecraft:attack_cooling_down",
- InteractionTarget => "minecraft:interaction_target",
- BreedTarget => "minecraft:breed_target",
- RideTarget => "minecraft:ride_target",
- Path => "minecraft:path",
- InteractableDoors => "minecraft:interactable_doors",
- DoorsToClose => "minecraft:doors_to_close",
- NearestBed => "minecraft:nearest_bed",
- HurtBy => "minecraft:hurt_by",
- HurtByEntity => "minecraft:hurt_by_entity",
- AvoidTarget => "minecraft:avoid_target",
- NearestHostile => "minecraft:nearest_hostile",
- NearestAttackable => "minecraft:nearest_attackable",
- HidingPlace => "minecraft:hiding_place",
- HeardBellTime => "minecraft:heard_bell_time",
- CantReachWalkTargetSince => "minecraft:cant_reach_walk_target_since",
- GolemDetectedRecently => "minecraft:golem_detected_recently",
- DangerDetectedRecently => "minecraft:danger_detected_recently",
- LastSlept => "minecraft:last_slept",
- LastWoken => "minecraft:last_woken",
- LastWorkedAtPoi => "minecraft:last_worked_at_poi",
- NearestVisibleAdult => "minecraft:nearest_visible_adult",
- NearestVisibleWantedItem => "minecraft:nearest_visible_wanted_item",
- NearestVisibleNemesis => "minecraft:nearest_visible_nemesis",
- PlayDeadTicks => "minecraft:play_dead_ticks",
- TemptingPlayer => "minecraft:tempting_player",
- TemptationCooldownTicks => "minecraft:temptation_cooldown_ticks",
- GazeCooldownTicks => "minecraft:gaze_cooldown_ticks",
- IsTempted => "minecraft:is_tempted",
- LongJumpCoolingDown => "minecraft:long_jump_cooling_down",
- LongJumpMidJump => "minecraft:long_jump_mid_jump",
- HasHuntingCooldown => "minecraft:has_hunting_cooldown",
- RamCooldownTicks => "minecraft:ram_cooldown_ticks",
- RamTarget => "minecraft:ram_target",
- IsInWater => "minecraft:is_in_water",
- IsPregnant => "minecraft:is_pregnant",
- IsPanicking => "minecraft:is_panicking",
- UnreachableTongueTargets => "minecraft:unreachable_tongue_targets",
- VisitedBlockPositions => "minecraft:visited_block_positions",
- UnreachableTransportBlockPositions => "minecraft:unreachable_transport_block_positions",
- TransportItemsCooldownTicks => "minecraft:transport_items_cooldown_ticks",
- ChargeCooldownTicks => "minecraft:charge_cooldown_ticks",
- AttackTargetCooldown => "minecraft:attack_target_cooldown",
- SpearFleeingTime => "minecraft:spear_fleeing_time",
- SpearFleeingPosition => "minecraft:spear_fleeing_position",
- SpearChargePosition => "minecraft:spear_charge_position",
- SpearEngageTime => "minecraft:spear_engage_time",
- SpearStatus => "minecraft:spear_status",
- AngryAt => "minecraft:angry_at",
- UniversalAnger => "minecraft:universal_anger",
- AdmiringItem => "minecraft:admiring_item",
- TimeTryingToReachAdmireItem => "minecraft:time_trying_to_reach_admire_item",
- DisableWalkToAdmireItem => "minecraft:disable_walk_to_admire_item",
- AdmiringDisabled => "minecraft:admiring_disabled",
- HuntedRecently => "minecraft:hunted_recently",
- CelebrateLocation => "minecraft:celebrate_location",
- Dancing => "minecraft:dancing",
- NearestVisibleHuntableHoglin => "minecraft:nearest_visible_huntable_hoglin",
- NearestVisibleBabyHoglin => "minecraft:nearest_visible_baby_hoglin",
- NearestTargetablePlayerNotWearingGold => "minecraft:nearest_targetable_player_not_wearing_gold",
- NearbyAdultPiglins => "minecraft:nearby_adult_piglins",
- NearestVisibleAdultPiglins => "minecraft:nearest_visible_adult_piglins",
- NearestVisibleAdultHoglins => "minecraft:nearest_visible_adult_hoglins",
- NearestVisibleAdultPiglin => "minecraft:nearest_visible_adult_piglin",
- NearestVisibleZombified => "minecraft:nearest_visible_zombified",
- VisibleAdultPiglinCount => "minecraft:visible_adult_piglin_count",
- VisibleAdultHoglinCount => "minecraft:visible_adult_hoglin_count",
- NearestPlayerHoldingWantedItem => "minecraft:nearest_player_holding_wanted_item",
- AteRecently => "minecraft:ate_recently",
- NearestRepellent => "minecraft:nearest_repellent",
- Pacified => "minecraft:pacified",
- RoarTarget => "minecraft:roar_target",
- DisturbanceLocation => "minecraft:disturbance_location",
- RecentProjectile => "minecraft:recent_projectile",
- IsSniffing => "minecraft:is_sniffing",
- IsEmerging => "minecraft:is_emerging",
- RoarSoundDelay => "minecraft:roar_sound_delay",
- DigCooldown => "minecraft:dig_cooldown",
- RoarSoundCooldown => "minecraft:roar_sound_cooldown",
- SniffCooldown => "minecraft:sniff_cooldown",
- TouchCooldown => "minecraft:touch_cooldown",
- VibrationCooldown => "minecraft:vibration_cooldown",
- SonicBoomCooldown => "minecraft:sonic_boom_cooldown",
- SonicBoomSoundCooldown => "minecraft:sonic_boom_sound_cooldown",
- SonicBoomSoundDelay => "minecraft:sonic_boom_sound_delay",
- LikedPlayer => "minecraft:liked_player",
- LikedNoteblock => "minecraft:liked_noteblock",
- LikedNoteblockCooldownTicks => "minecraft:liked_noteblock_cooldown_ticks",
- ItemPickupCooldownTicks => "minecraft:item_pickup_cooldown_ticks",
- SnifferExploredPositions => "minecraft:sniffer_explored_positions",
- SnifferSniffingTarget => "minecraft:sniffer_sniffing_target",
- SnifferDigging => "minecraft:sniffer_digging",
- SnifferHappy => "minecraft:sniffer_happy",
- BreezeJumpCooldown => "minecraft:breeze_jump_cooldown",
- BreezeShoot => "minecraft:breeze_shoot",
- BreezeShootCharging => "minecraft:breeze_shoot_charging",
- BreezeShootRecover => "minecraft:breeze_shoot_recover",
- BreezeShootCooldown => "minecraft:breeze_shoot_cooldown",
- BreezeJumpInhaling => "minecraft:breeze_jump_inhaling",
- BreezeJumpTarget => "minecraft:breeze_jump_target",
- BreezeLeavingWater => "minecraft:breeze_leaving_water",
-}
-}
-
-registry! {
-enum MobEffect {
- Speed => "minecraft:speed",
- Slowness => "minecraft:slowness",
- Haste => "minecraft:haste",
- MiningFatigue => "minecraft:mining_fatigue",
- Strength => "minecraft:strength",
- InstantHealth => "minecraft:instant_health",
- InstantDamage => "minecraft:instant_damage",
- JumpBoost => "minecraft:jump_boost",
- Nausea => "minecraft:nausea",
- Regeneration => "minecraft:regeneration",
- Resistance => "minecraft:resistance",
- FireResistance => "minecraft:fire_resistance",
- WaterBreathing => "minecraft:water_breathing",
- Invisibility => "minecraft:invisibility",
- Blindness => "minecraft:blindness",
- NightVision => "minecraft:night_vision",
- Hunger => "minecraft:hunger",
- Weakness => "minecraft:weakness",
- Poison => "minecraft:poison",
- Wither => "minecraft:wither",
- HealthBoost => "minecraft:health_boost",
- Absorption => "minecraft:absorption",
- Saturation => "minecraft:saturation",
- Glowing => "minecraft:glowing",
- Levitation => "minecraft:levitation",
- Luck => "minecraft:luck",
- Unluck => "minecraft:unluck",
- SlowFalling => "minecraft:slow_falling",
- ConduitPower => "minecraft:conduit_power",
- DolphinsGrace => "minecraft:dolphins_grace",
- BadOmen => "minecraft:bad_omen",
- HeroOfTheVillage => "minecraft:hero_of_the_village",
- Darkness => "minecraft:darkness",
- TrialOmen => "minecraft:trial_omen",
- RaidOmen => "minecraft:raid_omen",
- WindCharged => "minecraft:wind_charged",
- Weaving => "minecraft:weaving",
- Oozing => "minecraft:oozing",
- Infested => "minecraft:infested",
- BreathOfTheNautilus => "minecraft:breath_of_the_nautilus",
-}
-}
-
-registry! {
-enum ParticleKind {
- AngryVillager => "minecraft:angry_villager",
- Block => "minecraft:block",
- BlockMarker => "minecraft:block_marker",
- Bubble => "minecraft:bubble",
- Cloud => "minecraft:cloud",
- CopperFireFlame => "minecraft:copper_fire_flame",
- Crit => "minecraft:crit",
- DamageIndicator => "minecraft:damage_indicator",
- DragonBreath => "minecraft:dragon_breath",
- DrippingLava => "minecraft:dripping_lava",
- FallingLava => "minecraft:falling_lava",
- LandingLava => "minecraft:landing_lava",
- DrippingWater => "minecraft:dripping_water",
- FallingWater => "minecraft:falling_water",
- Dust => "minecraft:dust",
- DustColorTransition => "minecraft:dust_color_transition",
- Effect => "minecraft:effect",
- ElderGuardian => "minecraft:elder_guardian",
- EnchantedHit => "minecraft:enchanted_hit",
- Enchant => "minecraft:enchant",
- EndRod => "minecraft:end_rod",
- EntityEffect => "minecraft:entity_effect",
- ExplosionEmitter => "minecraft:explosion_emitter",
- Explosion => "minecraft:explosion",
- Gust => "minecraft:gust",
- SmallGust => "minecraft:small_gust",
- GustEmitterLarge => "minecraft:gust_emitter_large",
- GustEmitterSmall => "minecraft:gust_emitter_small",
- SonicBoom => "minecraft:sonic_boom",
- FallingDust => "minecraft:falling_dust",
- Firework => "minecraft:firework",
- Fishing => "minecraft:fishing",
- Flame => "minecraft:flame",
- Infested => "minecraft:infested",
- CherryLeaves => "minecraft:cherry_leaves",
- PaleOakLeaves => "minecraft:pale_oak_leaves",
- TintedLeaves => "minecraft:tinted_leaves",
- SculkSoul => "minecraft:sculk_soul",
- SculkCharge => "minecraft:sculk_charge",
- SculkChargePop => "minecraft:sculk_charge_pop",
- SoulFireFlame => "minecraft:soul_fire_flame",
- Soul => "minecraft:soul",
- Flash => "minecraft:flash",
- HappyVillager => "minecraft:happy_villager",
- Composter => "minecraft:composter",
- Heart => "minecraft:heart",
- InstantEffect => "minecraft:instant_effect",
- Item => "minecraft:item",
- Vibration => "minecraft:vibration",
- Trail => "minecraft:trail",
- ItemSlime => "minecraft:item_slime",
- ItemCobweb => "minecraft:item_cobweb",
- ItemSnowball => "minecraft:item_snowball",
- LargeSmoke => "minecraft:large_smoke",
- Lava => "minecraft:lava",
- Mycelium => "minecraft:mycelium",
- Note => "minecraft:note",
- Poof => "minecraft:poof",
- Portal => "minecraft:portal",
- Rain => "minecraft:rain",
- Smoke => "minecraft:smoke",
- WhiteSmoke => "minecraft:white_smoke",
- Sneeze => "minecraft:sneeze",
- Spit => "minecraft:spit",
- SquidInk => "minecraft:squid_ink",
- SweepAttack => "minecraft:sweep_attack",
- TotemOfUndying => "minecraft:totem_of_undying",
- Underwater => "minecraft:underwater",
- Splash => "minecraft:splash",
- Witch => "minecraft:witch",
- BubblePop => "minecraft:bubble_pop",
- CurrentDown => "minecraft:current_down",
- BubbleColumnUp => "minecraft:bubble_column_up",
- Nautilus => "minecraft:nautilus",
- Dolphin => "minecraft:dolphin",
- CampfireCosySmoke => "minecraft:campfire_cosy_smoke",
- CampfireSignalSmoke => "minecraft:campfire_signal_smoke",
- DrippingHoney => "minecraft:dripping_honey",
- FallingHoney => "minecraft:falling_honey",
- LandingHoney => "minecraft:landing_honey",
- FallingNectar => "minecraft:falling_nectar",
- FallingSporeBlossom => "minecraft:falling_spore_blossom",
- Ash => "minecraft:ash",
- CrimsonSpore => "minecraft:crimson_spore",
- WarpedSpore => "minecraft:warped_spore",
- SporeBlossomAir => "minecraft:spore_blossom_air",
- DrippingObsidianTear => "minecraft:dripping_obsidian_tear",
- FallingObsidianTear => "minecraft:falling_obsidian_tear",
- LandingObsidianTear => "minecraft:landing_obsidian_tear",
- ReversePortal => "minecraft:reverse_portal",
- WhiteAsh => "minecraft:white_ash",
- SmallFlame => "minecraft:small_flame",
- Snowflake => "minecraft:snowflake",
- DrippingDripstoneLava => "minecraft:dripping_dripstone_lava",
- FallingDripstoneLava => "minecraft:falling_dripstone_lava",
- DrippingDripstoneWater => "minecraft:dripping_dripstone_water",
- FallingDripstoneWater => "minecraft:falling_dripstone_water",
- GlowSquidInk => "minecraft:glow_squid_ink",
- Glow => "minecraft:glow",
- WaxOn => "minecraft:wax_on",
- WaxOff => "minecraft:wax_off",
- ElectricSpark => "minecraft:electric_spark",
- Scrape => "minecraft:scrape",
- Shriek => "minecraft:shriek",
- EggCrack => "minecraft:egg_crack",
- DustPlume => "minecraft:dust_plume",
- TrialSpawnerDetection => "minecraft:trial_spawner_detection",
- TrialSpawnerDetectionOminous => "minecraft:trial_spawner_detection_ominous",
- VaultConnection => "minecraft:vault_connection",
- DustPillar => "minecraft:dust_pillar",
- OminousSpawning => "minecraft:ominous_spawning",
- RaidOmen => "minecraft:raid_omen",
- TrialOmen => "minecraft:trial_omen",
- BlockCrumble => "minecraft:block_crumble",
- Firefly => "minecraft:firefly",
-}
-}
-
-registry! {
-enum PointOfInterestKind {
- Armorer => "minecraft:armorer",
- Butcher => "minecraft:butcher",
- Cartographer => "minecraft:cartographer",
- Cleric => "minecraft:cleric",
- Farmer => "minecraft:farmer",
- Fisherman => "minecraft:fisherman",
- Fletcher => "minecraft:fletcher",
- Leatherworker => "minecraft:leatherworker",
- Librarian => "minecraft:librarian",
- Mason => "minecraft:mason",
- Shepherd => "minecraft:shepherd",
- Toolsmith => "minecraft:toolsmith",
- Weaponsmith => "minecraft:weaponsmith",
- Home => "minecraft:home",
- Meeting => "minecraft:meeting",
- Beehive => "minecraft:beehive",
- BeeNest => "minecraft:bee_nest",
- NetherPortal => "minecraft:nether_portal",
- Lodestone => "minecraft:lodestone",
- TestInstance => "minecraft:test_instance",
- LightningRod => "minecraft:lightning_rod",
-}
-}
-
-registry! {
-enum PosRuleTest {
- AlwaysTrue => "minecraft:always_true",
- LinearPos => "minecraft:linear_pos",
- AxisAlignedLinearPos => "minecraft:axis_aligned_linear_pos",
-}
-}
-
-registry! {
-enum PositionSourceKind {
- Block => "minecraft:block",
- Entity => "minecraft:entity",
-}
-}
-
-registry! {
-enum Potion {
- Water => "minecraft:water",
- Mundane => "minecraft:mundane",
- Thick => "minecraft:thick",
- Awkward => "minecraft:awkward",
- NightVision => "minecraft:night_vision",
- LongNightVision => "minecraft:long_night_vision",
- Invisibility => "minecraft:invisibility",
- LongInvisibility => "minecraft:long_invisibility",
- Leaping => "minecraft:leaping",
- LongLeaping => "minecraft:long_leaping",
- StrongLeaping => "minecraft:strong_leaping",
- FireResistance => "minecraft:fire_resistance",
- LongFireResistance => "minecraft:long_fire_resistance",
- Swiftness => "minecraft:swiftness",
- LongSwiftness => "minecraft:long_swiftness",
- StrongSwiftness => "minecraft:strong_swiftness",
- Slowness => "minecraft:slowness",
- LongSlowness => "minecraft:long_slowness",
- StrongSlowness => "minecraft:strong_slowness",
- TurtleMaster => "minecraft:turtle_master",
- LongTurtleMaster => "minecraft:long_turtle_master",
- StrongTurtleMaster => "minecraft:strong_turtle_master",
- WaterBreathing => "minecraft:water_breathing",
- LongWaterBreathing => "minecraft:long_water_breathing",
- Healing => "minecraft:healing",
- StrongHealing => "minecraft:strong_healing",
- Harming => "minecraft:harming",
- StrongHarming => "minecraft:strong_harming",
- Poison => "minecraft:poison",
- LongPoison => "minecraft:long_poison",
- StrongPoison => "minecraft:strong_poison",
- Regeneration => "minecraft:regeneration",
- LongRegeneration => "minecraft:long_regeneration",
- StrongRegeneration => "minecraft:strong_regeneration",
- Strength => "minecraft:strength",
- LongStrength => "minecraft:long_strength",
- StrongStrength => "minecraft:strong_strength",
- Weakness => "minecraft:weakness",
- LongWeakness => "minecraft:long_weakness",
- Luck => "minecraft:luck",
- SlowFalling => "minecraft:slow_falling",
- LongSlowFalling => "minecraft:long_slow_falling",
- WindCharged => "minecraft:wind_charged",
- Weaving => "minecraft:weaving",
- Oozing => "minecraft:oozing",
- Infested => "minecraft:infested",
-}
-}
-
-registry! {
-enum RecipeSerializer {
- CraftingShaped => "minecraft:crafting_shaped",
- CraftingShapeless => "minecraft:crafting_shapeless",
- CraftingSpecialArmordye => "minecraft:crafting_special_armordye",
- CraftingSpecialBookcloning => "minecraft:crafting_special_bookcloning",
- CraftingSpecialMapcloning => "minecraft:crafting_special_mapcloning",
- CraftingSpecialMapextending => "minecraft:crafting_special_mapextending",
- CraftingSpecialFireworkRocket => "minecraft:crafting_special_firework_rocket",
- CraftingSpecialFireworkStar => "minecraft:crafting_special_firework_star",
- CraftingSpecialFireworkStarFade => "minecraft:crafting_special_firework_star_fade",
- CraftingSpecialTippedarrow => "minecraft:crafting_special_tippedarrow",
- CraftingSpecialBannerduplicate => "minecraft:crafting_special_bannerduplicate",
- CraftingSpecialShielddecoration => "minecraft:crafting_special_shielddecoration",
- CraftingTransmute => "minecraft:crafting_transmute",
- CraftingSpecialRepairitem => "minecraft:crafting_special_repairitem",
- Smelting => "minecraft:smelting",
- Blasting => "minecraft:blasting",
- Smoking => "minecraft:smoking",
- CampfireCooking => "minecraft:campfire_cooking",
- Stonecutting => "minecraft:stonecutting",
- SmithingTransform => "minecraft:smithing_transform",
- SmithingTrim => "minecraft:smithing_trim",
- CraftingDecoratedPot => "minecraft:crafting_decorated_pot",
-}
-}
-
-registry! {
-enum RecipeKind {
- Crafting => "minecraft:crafting",
- Smelting => "minecraft:smelting",
- Blasting => "minecraft:blasting",
- Smoking => "minecraft:smoking",
- CampfireCooking => "minecraft:campfire_cooking",
- Stonecutting => "minecraft:stonecutting",
- Smithing => "minecraft:smithing",
-}
-}
-
-registry! {
-enum RuleTest {
- AlwaysTrue => "minecraft:always_true",
- BlockMatch => "minecraft:block_match",
- BlockstateMatch => "minecraft:blockstate_match",
- TagMatch => "minecraft:tag_match",
- RandomBlockMatch => "minecraft:random_block_match",
- RandomBlockstateMatch => "minecraft:random_blockstate_match",
-}
-}
-
-registry! {
-enum SensorKind {
- Dummy => "minecraft:dummy",
- NearestItems => "minecraft:nearest_items",
- NearestLivingEntities => "minecraft:nearest_living_entities",
- NearestPlayers => "minecraft:nearest_players",
- NearestBed => "minecraft:nearest_bed",
- HurtBy => "minecraft:hurt_by",
- VillagerHostiles => "minecraft:villager_hostiles",
- VillagerBabies => "minecraft:villager_babies",
- SecondaryPois => "minecraft:secondary_pois",
- GolemDetected => "minecraft:golem_detected",
- ArmadilloScareDetected => "minecraft:armadillo_scare_detected",
- PiglinSpecificSensor => "minecraft:piglin_specific_sensor",
- PiglinBruteSpecificSensor => "minecraft:piglin_brute_specific_sensor",
- HoglinSpecificSensor => "minecraft:hoglin_specific_sensor",
- NearestAdult => "minecraft:nearest_adult",
- NearestAdultAnyType => "minecraft:nearest_adult_any_type",
- AxolotlAttackables => "minecraft:axolotl_attackables",
- FoodTemptations => "minecraft:food_temptations",
- FrogTemptations => "minecraft:frog_temptations",
- NautilusTemptations => "minecraft:nautilus_temptations",
- FrogAttackables => "minecraft:frog_attackables",
- IsInWater => "minecraft:is_in_water",
- WardenEntitySensor => "minecraft:warden_entity_sensor",
- BreezeAttackEntitySensor => "minecraft:breeze_attack_entity_sensor",
-}
-}
-
-registry! {
-/// A known type of sound in Minecraft.
+/// A registry which has its values decided by the server in the
+/// `ClientboundRegistryData` packet.
///
-/// If you need to support custom sounds from resource packs, you should use
-/// `azalea_registry::Holder<SoundEvent, azalea_core::sound::CustomSound>` instead.
-enum SoundEvent {
- EntityAllayAmbientWithItem => "minecraft:entity.allay.ambient_with_item",
- EntityAllayAmbientWithoutItem => "minecraft:entity.allay.ambient_without_item",
- EntityAllayDeath => "minecraft:entity.allay.death",
- EntityAllayHurt => "minecraft:entity.allay.hurt",
- EntityAllayItemGiven => "minecraft:entity.allay.item_given",
- EntityAllayItemTaken => "minecraft:entity.allay.item_taken",
- EntityAllayItemThrown => "minecraft:entity.allay.item_thrown",
- AmbientCave => "minecraft:ambient.cave",
- AmbientBasaltDeltasAdditions => "minecraft:ambient.basalt_deltas.additions",
- AmbientBasaltDeltasLoop => "minecraft:ambient.basalt_deltas.loop",
- AmbientBasaltDeltasMood => "minecraft:ambient.basalt_deltas.mood",
- AmbientCrimsonForestAdditions => "minecraft:ambient.crimson_forest.additions",
- AmbientCrimsonForestLoop => "minecraft:ambient.crimson_forest.loop",
- AmbientCrimsonForestMood => "minecraft:ambient.crimson_forest.mood",
- AmbientNetherWastesAdditions => "minecraft:ambient.nether_wastes.additions",
- AmbientNetherWastesLoop => "minecraft:ambient.nether_wastes.loop",
- AmbientNetherWastesMood => "minecraft:ambient.nether_wastes.mood",
- AmbientSoulSandValleyAdditions => "minecraft:ambient.soul_sand_valley.additions",
- AmbientSoulSandValleyLoop => "minecraft:ambient.soul_sand_valley.loop",
- AmbientSoulSandValleyMood => "minecraft:ambient.soul_sand_valley.mood",
- AmbientWarpedForestAdditions => "minecraft:ambient.warped_forest.additions",
- AmbientWarpedForestLoop => "minecraft:ambient.warped_forest.loop",
- AmbientWarpedForestMood => "minecraft:ambient.warped_forest.mood",
- AmbientUnderwaterEnter => "minecraft:ambient.underwater.enter",
- AmbientUnderwaterExit => "minecraft:ambient.underwater.exit",
- AmbientUnderwaterLoop => "minecraft:ambient.underwater.loop",
- AmbientUnderwaterLoopAdditions => "minecraft:ambient.underwater.loop.additions",
- AmbientUnderwaterLoopAdditionsRare => "minecraft:ambient.underwater.loop.additions.rare",
- AmbientUnderwaterLoopAdditionsUltraRare => "minecraft:ambient.underwater.loop.additions.ultra_rare",
- BlockAmethystBlockBreak => "minecraft:block.amethyst_block.break",
- BlockAmethystBlockChime => "minecraft:block.amethyst_block.chime",
- BlockAmethystBlockFall => "minecraft:block.amethyst_block.fall",
- BlockAmethystBlockHit => "minecraft:block.amethyst_block.hit",
- BlockAmethystBlockPlace => "minecraft:block.amethyst_block.place",
- BlockAmethystBlockResonate => "minecraft:block.amethyst_block.resonate",
- BlockAmethystBlockStep => "minecraft:block.amethyst_block.step",
- BlockAmethystClusterBreak => "minecraft:block.amethyst_cluster.break",
- BlockAmethystClusterFall => "minecraft:block.amethyst_cluster.fall",
- BlockAmethystClusterHit => "minecraft:block.amethyst_cluster.hit",
- BlockAmethystClusterPlace => "minecraft:block.amethyst_cluster.place",
- BlockAmethystClusterStep => "minecraft:block.amethyst_cluster.step",
- BlockAncientDebrisBreak => "minecraft:block.ancient_debris.break",
- BlockAncientDebrisStep => "minecraft:block.ancient_debris.step",
- BlockAncientDebrisPlace => "minecraft:block.ancient_debris.place",
- BlockAncientDebrisHit => "minecraft:block.ancient_debris.hit",
- BlockAncientDebrisFall => "minecraft:block.ancient_debris.fall",
- BlockAnvilBreak => "minecraft:block.anvil.break",
- BlockAnvilDestroy => "minecraft:block.anvil.destroy",
- BlockAnvilFall => "minecraft:block.anvil.fall",
- BlockAnvilHit => "minecraft:block.anvil.hit",
- BlockAnvilLand => "minecraft:block.anvil.land",
- BlockAnvilPlace => "minecraft:block.anvil.place",
- BlockAnvilStep => "minecraft:block.anvil.step",
- BlockAnvilUse => "minecraft:block.anvil.use",
- EntityArmadilloEat => "minecraft:entity.armadillo.eat",
- EntityArmadilloHurt => "minecraft:entity.armadillo.hurt",
- EntityArmadilloHurtReduced => "minecraft:entity.armadillo.hurt_reduced",
- EntityArmadilloAmbient => "minecraft:entity.armadillo.ambient",
- EntityArmadilloStep => "minecraft:entity.armadillo.step",
- EntityArmadilloDeath => "minecraft:entity.armadillo.death",
- EntityArmadilloRoll => "minecraft:entity.armadillo.roll",
- EntityArmadilloLand => "minecraft:entity.armadillo.land",
- EntityArmadilloScuteDrop => "minecraft:entity.armadillo.scute_drop",
- EntityArmadilloUnrollFinish => "minecraft:entity.armadillo.unroll_finish",
- EntityArmadilloPeek => "minecraft:entity.armadillo.peek",
- EntityArmadilloUnrollStart => "minecraft:entity.armadillo.unroll_start",
- EntityArmadilloBrush => "minecraft:entity.armadillo.brush",
- ItemArmorEquipChain => "minecraft:item.armor.equip_chain",
- ItemArmorEquipDiamond => "minecraft:item.armor.equip_diamond",
- ItemArmorEquipElytra => "minecraft:item.armor.equip_elytra",
- ItemArmorEquipGeneric => "minecraft:item.armor.equip_generic",
- ItemArmorEquipGold => "minecraft:item.armor.equip_gold",
- ItemArmorEquipIron => "minecraft:item.armor.equip_iron",
- ItemArmorEquipLeather => "minecraft:item.armor.equip_leather",
- ItemArmorEquipCopper => "minecraft:item.armor.equip_copper",
- ItemArmorEquipNetherite => "minecraft:item.armor.equip_netherite",
- ItemArmorEquipTurtle => "minecraft:item.armor.equip_turtle",
- ItemArmorEquipWolf => "minecraft:item.armor.equip_wolf",
- ItemArmorUnequipWolf => "minecraft:item.armor.unequip_wolf",
- ItemArmorEquipNautilus => "minecraft:item.armor.equip_nautilus",
- ItemArmorUnequipNautilus => "minecraft:item.armor.unequip_nautilus",
- EntityArmorStandBreak => "minecraft:entity.armor_stand.break",
- EntityArmorStandFall => "minecraft:entity.armor_stand.fall",
- EntityArmorStandHit => "minecraft:entity.armor_stand.hit",
- EntityArmorStandPlace => "minecraft:entity.armor_stand.place",
- EntityArrowHit => "minecraft:entity.arrow.hit",
- EntityArrowHitPlayer => "minecraft:entity.arrow.hit_player",
- EntityArrowShoot => "minecraft:entity.arrow.shoot",
- ItemAxeStrip => "minecraft:item.axe.strip",
- ItemAxeScrape => "minecraft:item.axe.scrape",
- ItemAxeWaxOff => "minecraft:item.axe.wax_off",
- EntityAxolotlAttack => "minecraft:entity.axolotl.attack",
- EntityAxolotlDeath => "minecraft:entity.axolotl.death",
- EntityAxolotlHurt => "minecraft:entity.axolotl.hurt",
- EntityAxolotlIdleAir => "minecraft:entity.axolotl.idle_air",
- EntityAxolotlIdleWater => "minecraft:entity.axolotl.idle_water",
- EntityAxolotlSplash => "minecraft:entity.axolotl.splash",
- EntityAxolotlSwim => "minecraft:entity.axolotl.swim",
- BlockAzaleaBreak => "minecraft:block.azalea.break",
- BlockAzaleaFall => "minecraft:block.azalea.fall",
- BlockAzaleaHit => "minecraft:block.azalea.hit",
- BlockAzaleaPlace => "minecraft:block.azalea.place",
- BlockAzaleaStep => "minecraft:block.azalea.step",
- BlockAzaleaLeavesBreak => "minecraft:block.azalea_leaves.break",
- BlockAzaleaLeavesFall => "minecraft:block.azalea_leaves.fall",
- BlockAzaleaLeavesHit => "minecraft:block.azalea_leaves.hit",
- BlockAzaleaLeavesPlace => "minecraft:block.azalea_leaves.place",
- BlockAzaleaLeavesStep => "minecraft:block.azalea_leaves.step",
- EntityBabyNautilusAmbient => "minecraft:entity.baby_nautilus.ambient",
- EntityBabyNautilusAmbientLand => "minecraft:entity.baby_nautilus.ambient_land",
- EntityBabyNautilusDeath => "minecraft:entity.baby_nautilus.death",
- EntityBabyNautilusDeathLand => "minecraft:entity.baby_nautilus.death_land",
- EntityBabyNautilusEat => "minecraft:entity.baby_nautilus.eat",
- EntityBabyNautilusHurt => "minecraft:entity.baby_nautilus.hurt",
- EntityBabyNautilusHurtLand => "minecraft:entity.baby_nautilus.hurt_land",
- EntityNautilusRiding => "minecraft:entity.nautilus.riding",
- EntityBabyNautilusSwim => "minecraft:entity.baby_nautilus.swim",
- BlockBambooBreak => "minecraft:block.bamboo.break",
- BlockBambooFall => "minecraft:block.bamboo.fall",
- BlockBambooHit => "minecraft:block.bamboo.hit",
- BlockBambooPlace => "minecraft:block.bamboo.place",
- BlockBambooStep => "minecraft:block.bamboo.step",
- BlockBambooSaplingBreak => "minecraft:block.bamboo_sapling.break",
- BlockBambooSaplingHit => "minecraft:block.bamboo_sapling.hit",
- BlockBambooSaplingPlace => "minecraft:block.bamboo_sapling.place",
- BlockBambooWoodBreak => "minecraft:block.bamboo_wood.break",
- BlockBambooWoodFall => "minecraft:block.bamboo_wood.fall",
- BlockBambooWoodHit => "minecraft:block.bamboo_wood.hit",
- BlockBambooWoodPlace => "minecraft:block.bamboo_wood.place",
- BlockBambooWoodStep => "minecraft:block.bamboo_wood.step",
- BlockBambooWoodDoorClose => "minecraft:block.bamboo_wood_door.close",
- BlockBambooWoodDoorOpen => "minecraft:block.bamboo_wood_door.open",
- BlockBambooWoodTrapdoorClose => "minecraft:block.bamboo_wood_trapdoor.close",
- BlockBambooWoodTrapdoorOpen => "minecraft:block.bamboo_wood_trapdoor.open",
- BlockBambooWoodButtonClickOff => "minecraft:block.bamboo_wood_button.click_off",
- BlockBambooWoodButtonClickOn => "minecraft:block.bamboo_wood_button.click_on",
- BlockBambooWoodPressurePlateClickOff => "minecraft:block.bamboo_wood_pressure_plate.click_off",
- BlockBambooWoodPressurePlateClickOn => "minecraft:block.bamboo_wood_pressure_plate.click_on",
- BlockBambooWoodFenceGateClose => "minecraft:block.bamboo_wood_fence_gate.close",
- BlockBambooWoodFenceGateOpen => "minecraft:block.bamboo_wood_fence_gate.open",
- BlockBarrelClose => "minecraft:block.barrel.close",
- BlockBarrelOpen => "minecraft:block.barrel.open",
- BlockBasaltBreak => "minecraft:block.basalt.break",
- BlockBasaltStep => "minecraft:block.basalt.step",
- BlockBasaltPlace => "minecraft:block.basalt.place",
- BlockBasaltHit => "minecraft:block.basalt.hit",
- BlockBasaltFall => "minecraft:block.basalt.fall",
- EntityBatAmbient => "minecraft:entity.bat.ambient",
- EntityBatDeath => "minecraft:entity.bat.death",
- EntityBatHurt => "minecraft:entity.bat.hurt",
- EntityBatLoop => "minecraft:entity.bat.loop",
- EntityBatTakeoff => "minecraft:entity.bat.takeoff",
- BlockBeaconActivate => "minecraft:block.beacon.activate",
- BlockBeaconAmbient => "minecraft:block.beacon.ambient",
- BlockBeaconDeactivate => "minecraft:block.beacon.deactivate",
- BlockBeaconPowerSelect => "minecraft:block.beacon.power_select",
- EntityBeeDeath => "minecraft:entity.bee.death",
- EntityBeeHurt => "minecraft:entity.bee.hurt",
- EntityBeeLoopAggressive => "minecraft:entity.bee.loop_aggressive",
- EntityBeeLoop => "minecraft:entity.bee.loop",
- EntityBeeSting => "minecraft:entity.bee.sting",
- EntityBeePollinate => "minecraft:entity.bee.pollinate",
- BlockBeehiveDrip => "minecraft:block.beehive.drip",
- BlockBeehiveEnter => "minecraft:block.beehive.enter",
- BlockBeehiveExit => "minecraft:block.beehive.exit",
- BlockBeehiveShear => "minecraft:block.beehive.shear",
- BlockBeehiveWork => "minecraft:block.beehive.work",
- BlockBellUse => "minecraft:block.bell.use",
- BlockBellResonate => "minecraft:block.bell.resonate",
- BlockBigDripleafBreak => "minecraft:block.big_dripleaf.break",
- BlockBigDripleafFall => "minecraft:block.big_dripleaf.fall",
- BlockBigDripleafHit => "minecraft:block.big_dripleaf.hit",
- BlockBigDripleafPlace => "minecraft:block.big_dripleaf.place",
- BlockBigDripleafStep => "minecraft:block.big_dripleaf.step",
- EntityBlazeAmbient => "minecraft:entity.blaze.ambient",
- EntityBlazeBurn => "minecraft:entity.blaze.burn",
- EntityBlazeDeath => "minecraft:entity.blaze.death",
- EntityBlazeHurt => "minecraft:entity.blaze.hurt",
- EntityBlazeShoot => "minecraft:entity.blaze.shoot",
- EntityBoatPaddleLand => "minecraft:entity.boat.paddle_land",
- EntityBoatPaddleWater => "minecraft:entity.boat.paddle_water",
- EntityBoggedAmbient => "minecraft:entity.bogged.ambient",
- EntityBoggedDeath => "minecraft:entity.bogged.death",
- EntityBoggedHurt => "minecraft:entity.bogged.hurt",
- EntityBoggedShear => "minecraft:entity.bogged.shear",
- EntityBoggedStep => "minecraft:entity.bogged.step",
- BlockBoneBlockBreak => "minecraft:block.bone_block.break",
- BlockBoneBlockFall => "minecraft:block.bone_block.fall",
- BlockBoneBlockHit => "minecraft:block.bone_block.hit",
- BlockBoneBlockPlace => "minecraft:block.bone_block.place",
- BlockBoneBlockStep => "minecraft:block.bone_block.step",
- ItemBoneMealUse => "minecraft:item.bone_meal.use",
- ItemBookPageTurn => "minecraft:item.book.page_turn",
- ItemBookPut => "minecraft:item.book.put",
- BlockBlastfurnaceFireCrackle => "minecraft:block.blastfurnace.fire_crackle",
- ItemBottleEmpty => "minecraft:item.bottle.empty",
- ItemBottleFill => "minecraft:item.bottle.fill",
- ItemBottleFillDragonbreath => "minecraft:item.bottle.fill_dragonbreath",
- EntityBreezeCharge => "minecraft:entity.breeze.charge",
- EntityBreezeDeflect => "minecraft:entity.breeze.deflect",
- EntityBreezeInhale => "minecraft:entity.breeze.inhale",
- EntityBreezeIdleGround => "minecraft:entity.breeze.idle_ground",
- EntityBreezeIdleAir => "minecraft:entity.breeze.idle_air",
- EntityBreezeShoot => "minecraft:entity.breeze.shoot",
- EntityBreezeJump => "minecraft:entity.breeze.jump",
- EntityBreezeLand => "minecraft:entity.breeze.land",
- EntityBreezeSlide => "minecraft:entity.breeze.slide",
- EntityBreezeDeath => "minecraft:entity.breeze.death",
- EntityBreezeHurt => "minecraft:entity.breeze.hurt",
- EntityBreezeWhirl => "minecraft:entity.breeze.whirl",
- EntityBreezeWindBurst => "minecraft:entity.breeze.wind_burst",
- BlockBrewingStandBrew => "minecraft:block.brewing_stand.brew",
- ItemBrushBrushingGeneric => "minecraft:item.brush.brushing.generic",
- ItemBrushBrushingSand => "minecraft:item.brush.brushing.sand",
- ItemBrushBrushingGravel => "minecraft:item.brush.brushing.gravel",
- ItemBrushBrushingSandComplete => "minecraft:item.brush.brushing.sand.complete",
- ItemBrushBrushingGravelComplete => "minecraft:item.brush.brushing.gravel.complete",
- BlockBubbleColumnBubblePop => "minecraft:block.bubble_column.bubble_pop",
- BlockBubbleColumnUpwardsAmbient => "minecraft:block.bubble_column.upwards_ambient",
- BlockBubbleColumnUpwardsInside => "minecraft:block.bubble_column.upwards_inside",
- BlockBubbleColumnWhirlpoolAmbient => "minecraft:block.bubble_column.whirlpool_ambient",
- BlockBubbleColumnWhirlpoolInside => "minecraft:block.bubble_column.whirlpool_inside",
- UiHudBubblePop => "minecraft:ui.hud.bubble_pop",
- ItemBucketEmpty => "minecraft:item.bucket.empty",
- ItemBucketEmptyAxolotl => "minecraft:item.bucket.empty_axolotl",
- ItemBucketEmptyFish => "minecraft:item.bucket.empty_fish",
- ItemBucketEmptyLava => "minecraft:item.bucket.empty_lava",
- ItemBucketEmptyPowderSnow => "minecraft:item.bucket.empty_powder_snow",
- ItemBucketEmptyTadpole => "minecraft:item.bucket.empty_tadpole",
- ItemBucketFill => "minecraft:item.bucket.fill",
- ItemBucketFillAxolotl => "minecraft:item.bucket.fill_axolotl",
- ItemBucketFillFish => "minecraft:item.bucket.fill_fish",
- ItemBucketFillLava => "minecraft:item.bucket.fill_lava",
- ItemBucketFillPowderSnow => "minecraft:item.bucket.fill_powder_snow",
- ItemBucketFillTadpole => "minecraft:item.bucket.fill_tadpole",
- ItemBundleDropContents => "minecraft:item.bundle.drop_contents",
- ItemBundleInsert => "minecraft:item.bundle.insert",
- ItemBundleInsertFail => "minecraft:item.bundle.insert_fail",
- ItemBundleRemoveOne => "minecraft:item.bundle.remove_one",
- BlockCactusFlowerBreak => "minecraft:block.cactus_flower.break",
- BlockCactusFlowerPlace => "minecraft:block.cactus_flower.place",
- BlockCakeAddCandle => "minecraft:block.cake.add_candle",
- BlockCalciteBreak => "minecraft:block.calcite.break",
- BlockCalciteStep => "minecraft:block.calcite.step",
- BlockCalcitePlace => "minecraft:block.calcite.place",
- BlockCalciteHit => "minecraft:block.calcite.hit",
- BlockCalciteFall => "minecraft:block.calcite.fall",
- EntityCamelHuskAmbient => "minecraft:entity.camel_husk.ambient",
- EntityCamelHuskDash => "minecraft:entity.camel_husk.dash",
- EntityCamelHuskDashReady => "minecraft:entity.camel_husk.dash_ready",
- EntityCamelHuskDeath => "minecraft:entity.camel_husk.death",
- EntityCamelHuskEat => "minecraft:entity.camel_husk.eat",
- EntityCamelHuskHurt => "minecraft:entity.camel_husk.hurt",
- EntityCamelHuskSaddle => "minecraft:entity.camel_husk.saddle",
- EntityCamelHuskSit => "minecraft:entity.camel_husk.sit",
- EntityCamelHuskStand => "minecraft:entity.camel_husk.stand",
- EntityCamelHuskStep => "minecraft:entity.camel_husk.step",
- EntityCamelHuskStepSand => "minecraft:entity.camel_husk.step_sand",
- EntityCamelAmbient => "minecraft:entity.camel.ambient",
- EntityCamelDash => "minecraft:entity.camel.dash",
- EntityCamelDashReady => "minecraft:entity.camel.dash_ready",
- EntityCamelDeath => "minecraft:entity.camel.death",
- EntityCamelEat => "minecraft:entity.camel.eat",
- EntityCamelHurt => "minecraft:entity.camel.hurt",
- EntityCamelSaddle => "minecraft:entity.camel.saddle",
- EntityCamelSit => "minecraft:entity.camel.sit",
- EntityCamelStand => "minecraft:entity.camel.stand",
- EntityCamelStep => "minecraft:entity.camel.step",
- EntityCamelStepSand => "minecraft:entity.camel.step_sand",
- BlockCampfireCrackle => "minecraft:block.campfire.crackle",
- BlockCandleAmbient => "minecraft:block.candle.ambient",
- BlockCandleBreak => "minecraft:block.candle.break",
- BlockCandleExtinguish => "minecraft:block.candle.extinguish",
- BlockCandleFall => "minecraft:block.candle.fall",
- BlockCandleHit => "minecraft:block.candle.hit",
- BlockCandlePlace => "minecraft:block.candle.place",
- BlockCandleStep => "minecraft:block.candle.step",
- EntityCatAmbient => "minecraft:entity.cat.ambient",
- EntityCatStrayAmbient => "minecraft:entity.cat.stray_ambient",
- EntityCatDeath => "minecraft:entity.cat.death",
- EntityCatEat => "minecraft:entity.cat.eat",
- EntityCatHiss => "minecraft:entity.cat.hiss",
- EntityCatBegForFood => "minecraft:entity.cat.beg_for_food",
- EntityCatHurt => "minecraft:entity.cat.hurt",
- EntityCatPurr => "minecraft:entity.cat.purr",
- EntityCatPurreow => "minecraft:entity.cat.purreow",
- BlockCaveVinesBreak => "minecraft:block.cave_vines.break",
- BlockCaveVinesFall => "minecraft:block.cave_vines.fall",
- BlockCaveVinesHit => "minecraft:block.cave_vines.hit",
- BlockCaveVinesPlace => "minecraft:block.cave_vines.place",
- BlockCaveVinesStep => "minecraft:block.cave_vines.step",
- BlockCaveVinesPickBerries => "minecraft:block.cave_vines.pick_berries",
- BlockChainBreak => "minecraft:block.chain.break",
- BlockChainFall => "minecraft:block.chain.fall",
- BlockChainHit => "minecraft:block.chain.hit",
- BlockChainPlace => "minecraft:block.chain.place",
- BlockChainStep => "minecraft:block.chain.step",
- BlockCherryWoodBreak => "minecraft:block.cherry_wood.break",
- BlockCherryWoodFall => "minecraft:block.cherry_wood.fall",
- BlockCherryWoodHit => "minecraft:block.cherry_wood.hit",
- BlockCherryWoodPlace => "minecraft:block.cherry_wood.place",
- BlockCherryWoodStep => "minecraft:block.cherry_wood.step",
- BlockCherrySaplingBreak => "minecraft:block.cherry_sapling.break",
- BlockCherrySaplingFall => "minecraft:block.cherry_sapling.fall",
- BlockCherrySaplingHit => "minecraft:block.cherry_sapling.hit",
- BlockCherrySaplingPlace => "minecraft:block.cherry_sapling.place",
- BlockCherrySaplingStep => "minecraft:block.cherry_sapling.step",
- BlockCherryLeavesBreak => "minecraft:block.cherry_leaves.break",
- BlockCherryLeavesFall => "minecraft:block.cherry_leaves.fall",
- BlockCherryLeavesHit => "minecraft:block.cherry_leaves.hit",
- BlockCherryLeavesPlace => "minecraft:block.cherry_leaves.place",
- BlockCherryLeavesStep => "minecraft:block.cherry_leaves.step",
- BlockCherryWoodHangingSignStep => "minecraft:block.cherry_wood_hanging_sign.step",
- BlockCherryWoodHangingSignBreak => "minecraft:block.cherry_wood_hanging_sign.break",
- BlockCherryWoodHangingSignFall => "minecraft:block.cherry_wood_hanging_sign.fall",
- BlockCherryWoodHangingSignHit => "minecraft:block.cherry_wood_hanging_sign.hit",
- BlockCherryWoodHangingSignPlace => "minecraft:block.cherry_wood_hanging_sign.place",
- BlockCherryWoodDoorClose => "minecraft:block.cherry_wood_door.close",
- BlockCherryWoodDoorOpen => "minecraft:block.cherry_wood_door.open",
- BlockCherryWoodTrapdoorClose => "minecraft:block.cherry_wood_trapdoor.close",
- BlockCherryWoodTrapdoorOpen => "minecraft:block.cherry_wood_trapdoor.open",
- BlockCherryWoodButtonClickOff => "minecraft:block.cherry_wood_button.click_off",
- BlockCherryWoodButtonClickOn => "minecraft:block.cherry_wood_button.click_on",
- BlockCherryWoodPressurePlateClickOff => "minecraft:block.cherry_wood_pressure_plate.click_off",
- BlockCherryWoodPressurePlateClickOn => "minecraft:block.cherry_wood_pressure_plate.click_on",
- BlockCherryWoodFenceGateClose => "minecraft:block.cherry_wood_fence_gate.close",
- BlockCherryWoodFenceGateOpen => "minecraft:block.cherry_wood_fence_gate.open",
- BlockChestClose => "minecraft:block.chest.close",
- BlockChestLocked => "minecraft:block.chest.locked",
- BlockChestOpen => "minecraft:block.chest.open",
- EntityChickenAmbient => "minecraft:entity.chicken.ambient",
- EntityChickenDeath => "minecraft:entity.chicken.death",
- EntityChickenEgg => "minecraft:entity.chicken.egg",
- EntityChickenHurt => "minecraft:entity.chicken.hurt",
- EntityChickenStep => "minecraft:entity.chicken.step",
- BlockChiseledBookshelfBreak => "minecraft:block.chiseled_bookshelf.break",
- BlockChiseledBookshelfFall => "minecraft:block.chiseled_bookshelf.fall",
- BlockChiseledBookshelfHit => "minecraft:block.chiseled_bookshelf.hit",
- BlockChiseledBookshelfInsert => "minecraft:block.chiseled_bookshelf.insert",
- BlockChiseledBookshelfInsertEnchanted => "minecraft:block.chiseled_bookshelf.insert.enchanted",
- BlockChiseledBookshelfStep => "minecraft:block.chiseled_bookshelf.step",
- BlockChiseledBookshelfPickup => "minecraft:block.chiseled_bookshelf.pickup",
- BlockChiseledBookshelfPickupEnchanted => "minecraft:block.chiseled_bookshelf.pickup.enchanted",
- BlockChiseledBookshelfPlace => "minecraft:block.chiseled_bookshelf.place",
- BlockChorusFlowerDeath => "minecraft:block.chorus_flower.death",
- BlockChorusFlowerGrow => "minecraft:block.chorus_flower.grow",
- ItemChorusFruitTeleport => "minecraft:item.chorus_fruit.teleport",
- BlockCobwebBreak => "minecraft:block.cobweb.break",
- BlockCobwebStep => "minecraft:block.cobweb.step",
- BlockCobwebPlace => "minecraft:block.cobweb.place",
- BlockCobwebHit => "minecraft:block.cobweb.hit",
- BlockCobwebFall => "minecraft:block.cobweb.fall",
- EntityCodAmbient => "minecraft:entity.cod.ambient",
- EntityCodDeath => "minecraft:entity.cod.death",
- EntityCodFlop => "minecraft:entity.cod.flop",
- EntityCodHurt => "minecraft:entity.cod.hurt",
- BlockComparatorClick => "minecraft:block.comparator.click",
- BlockComposterEmpty => "minecraft:block.composter.empty",
- BlockComposterFill => "minecraft:block.composter.fill",
- BlockComposterFillSuccess => "minecraft:block.composter.fill_success",
- BlockComposterReady => "minecraft:block.composter.ready",
- BlockConduitActivate => "minecraft:block.conduit.activate",
- BlockConduitAmbient => "minecraft:block.conduit.ambient",
- BlockConduitAmbientShort => "minecraft:block.conduit.ambient.short",
- BlockConduitAttackTarget => "minecraft:block.conduit.attack.target",
- BlockConduitDeactivate => "minecraft:block.conduit.deactivate",
- BlockCopperBulbBreak => "minecraft:block.copper_bulb.break",
- BlockCopperBulbStep => "minecraft:block.copper_bulb.step",
- BlockCopperBulbPlace => "minecraft:block.copper_bulb.place",
- BlockCopperBulbHit => "minecraft:block.copper_bulb.hit",
- BlockCopperBulbFall => "minecraft:block.copper_bulb.fall",
- BlockCopperBulbTurnOn => "minecraft:block.copper_bulb.turn_on",
- BlockCopperBulbTurnOff => "minecraft:block.copper_bulb.turn_off",
- BlockCopperBreak => "minecraft:block.copper.break",
- BlockCopperStep => "minecraft:block.copper.step",
- BlockCopperPlace => "minecraft:block.copper.place",
- BlockCopperHit => "minecraft:block.copper.hit",
- BlockCopperFall => "minecraft:block.copper.fall",
- BlockCopperChestClose => "minecraft:block.copper_chest.close",
- BlockCopperChestOpen => "minecraft:block.copper_chest.open",
- BlockCopperChestWeatheredClose => "minecraft:block.copper_chest_weathered.close",
- BlockCopperChestWeatheredOpen => "minecraft:block.copper_chest_weathered.open",
- BlockCopperChestOxidizedClose => "minecraft:block.copper_chest_oxidized.close",
- BlockCopperChestOxidizedOpen => "minecraft:block.copper_chest_oxidized.open",
- BlockCopperDoorClose => "minecraft:block.copper_door.close",
- BlockCopperDoorOpen => "minecraft:block.copper_door.open",
- EntityCopperGolemStep => "minecraft:entity.copper_golem.step",
- EntityCopperGolemHurt => "minecraft:entity.copper_golem.hurt",
- EntityCopperGolemDeath => "minecraft:entity.copper_golem.death",
- EntityCopperGolemWeatheredStep => "minecraft:entity.copper_golem_weathered.step",
- EntityCopperGolemWeatheredHurt => "minecraft:entity.copper_golem_weathered.hurt",
- EntityCopperGolemWeatheredDeath => "minecraft:entity.copper_golem_weathered.death",
- EntityCopperGolemOxidizedStep => "minecraft:entity.copper_golem_oxidized.step",
- EntityCopperGolemOxidizedHurt => "minecraft:entity.copper_golem_oxidized.hurt",
- EntityCopperGolemOxidizedDeath => "minecraft:entity.copper_golem_oxidized.death",
- EntityCopperGolemSpin => "minecraft:entity.copper_golem.spin",
- EntityCopperGolemWeatheredSpin => "minecraft:entity.copper_golem_weathered.spin",
- EntityCopperGolemOxidizedSpin => "minecraft:entity.copper_golem_oxidized.spin",
- EntityCopperGolemNoItemGet => "minecraft:entity.copper_golem.no_item_get",
- EntityCopperGolemNoItemNoGet => "minecraft:entity.copper_golem.no_item_no_get",
- EntityCopperGolemItemDrop => "minecraft:entity.copper_golem.item_drop",
- EntityCopperGolemItemNoDrop => "minecraft:entity.copper_golem.item_no_drop",
- EntityCopperGolemBecomeStatue => "minecraft:entity.copper_golem_become_statue",
- BlockCopperGolemStatueBreak => "minecraft:block.copper_golem_statue.break",
- BlockCopperGolemStatuePlace => "minecraft:block.copper_golem_statue.place",
- BlockCopperGolemStatueHit => "minecraft:block.copper_golem_statue.hit",
- BlockCopperGolemStatueStep => "minecraft:block.copper_golem_statue.step",
- BlockCopperGolemStatueFall => "minecraft:block.copper_golem_statue.fall",
- EntityCopperGolemSpawn => "minecraft:entity.copper_golem.spawn",
- EntityCopperGolemShear => "minecraft:entity.copper_golem.shear",
- BlockCopperGrateBreak => "minecraft:block.copper_grate.break",
- BlockCopperGrateStep => "minecraft:block.copper_grate.step",
- BlockCopperGratePlace => "minecraft:block.copper_grate.place",
- BlockCopperGrateHit => "minecraft:block.copper_grate.hit",
- BlockCopperGrateFall => "minecraft:block.copper_grate.fall",
- BlockCopperTrapdoorClose => "minecraft:block.copper_trapdoor.close",
- BlockCopperTrapdoorOpen => "minecraft:block.copper_trapdoor.open",
- BlockCoralBlockBreak => "minecraft:block.coral_block.break",
- BlockCoralBlockFall => "minecraft:block.coral_block.fall",
- BlockCoralBlockHit => "minecraft:block.coral_block.hit",
- BlockCoralBlockPlace => "minecraft:block.coral_block.place",
- BlockCoralBlockStep => "minecraft:block.coral_block.step",
- EntityCowAmbient => "minecraft:entity.cow.ambient",
- EntityCowDeath => "minecraft:entity.cow.death",
- EntityCowHurt => "minecraft:entity.cow.hurt",
- EntityCowMilk => "minecraft:entity.cow.milk",
- EntityCowStep => "minecraft:entity.cow.step",
- BlockCrafterCraft => "minecraft:block.crafter.craft",
- BlockCrafterFail => "minecraft:block.crafter.fail",
- EntityCreakingAmbient => "minecraft:entity.creaking.ambient",
- EntityCreakingActivate => "minecraft:entity.creaking.activate",
- EntityCreakingDeactivate => "minecraft:entity.creaking.deactivate",
- EntityCreakingAttack => "minecraft:entity.creaking.attack",
- EntityCreakingDeath => "minecraft:entity.creaking.death",
- EntityCreakingStep => "minecraft:entity.creaking.step",
- EntityCreakingFreeze => "minecraft:entity.creaking.freeze",
- EntityCreakingUnfreeze => "minecraft:entity.creaking.unfreeze",
- EntityCreakingSpawn => "minecraft:entity.creaking.spawn",
- EntityCreakingSway => "minecraft:entity.creaking.sway",
- EntityCreakingTwitch => "minecraft:entity.creaking.twitch",
- BlockCreakingHeartBreak => "minecraft:block.creaking_heart.break",
- BlockCreakingHeartFall => "minecraft:block.creaking_heart.fall",
- BlockCreakingHeartHit => "minecraft:block.creaking_heart.hit",
- BlockCreakingHeartHurt => "minecraft:block.creaking_heart.hurt",
- BlockCreakingHeartPlace => "minecraft:block.creaking_heart.place",
- BlockCreakingHeartStep => "minecraft:block.creaking_heart.step",
- BlockCreakingHeartIdle => "minecraft:block.creaking_heart.idle",
- BlockCreakingHeartSpawn => "minecraft:block.creaking_heart.spawn",
- EntityCreeperDeath => "minecraft:entity.creeper.death",
- EntityCreeperHurt => "minecraft:entity.creeper.hurt",
- EntityCreeperPrimed => "minecraft:entity.creeper.primed",
- BlockCropBreak => "minecraft:block.crop.break",
- ItemCropPlant => "minecraft:item.crop.plant",
- ItemCrossbowHit => "minecraft:item.crossbow.hit",
- ItemCrossbowLoadingEnd => "minecraft:item.crossbow.loading_end",
- ItemCrossbowLoadingMiddle => "minecraft:item.crossbow.loading_middle",
- ItemCrossbowLoadingStart => "minecraft:item.crossbow.loading_start",
- ItemCrossbowQuickCharge1 => "minecraft:item.crossbow.quick_charge_1",
- ItemCrossbowQuickCharge2 => "minecraft:item.crossbow.quick_charge_2",
- ItemCrossbowQuickCharge3 => "minecraft:item.crossbow.quick_charge_3",
- ItemCrossbowShoot => "minecraft:item.crossbow.shoot",
- BlockDeadbushIdle => "minecraft:block.deadbush.idle",
- BlockDecoratedPotBreak => "minecraft:block.decorated_pot.break",
- BlockDecoratedPotFall => "minecraft:block.decorated_pot.fall",
- BlockDecoratedPotHit => "minecraft:block.decorated_pot.hit",
- BlockDecoratedPotInsert => "minecraft:block.decorated_pot.insert",
- BlockDecoratedPotInsertFail => "minecraft:block.decorated_pot.insert_fail",
- BlockDecoratedPotStep => "minecraft:block.decorated_pot.step",
- BlockDecoratedPotPlace => "minecraft:block.decorated_pot.place",
- BlockDecoratedPotShatter => "minecraft:block.decorated_pot.shatter",
- BlockDeepslateBricksBreak => "minecraft:block.deepslate_bricks.break",
- BlockDeepslateBricksFall => "minecraft:block.deepslate_bricks.fall",
- BlockDeepslateBricksHit => "minecraft:block.deepslate_bricks.hit",
- BlockDeepslateBricksPlace => "minecraft:block.deepslate_bricks.place",
- BlockDeepslateBricksStep => "minecraft:block.deepslate_bricks.step",
- BlockDeepslateBreak => "minecraft:block.deepslate.break",
- BlockDeepslateFall => "minecraft:block.deepslate.fall",
- BlockDeepslateHit => "minecraft:block.deepslate.hit",
- BlockDeepslatePlace => "minecraft:block.deepslate.place",
- BlockDeepslateStep => "minecraft:block.deepslate.step",
- BlockDeepslateTilesBreak => "minecraft:block.deepslate_tiles.break",
- BlockDeepslateTilesFall => "minecraft:block.deepslate_tiles.fall",
- BlockDeepslateTilesHit => "minecraft:block.deepslate_tiles.hit",
- BlockDeepslateTilesPlace => "minecraft:block.deepslate_tiles.place",
- BlockDeepslateTilesStep => "minecraft:block.deepslate_tiles.step",
- BlockDispenserDispense => "minecraft:block.dispenser.dispense",
- BlockDispenserFail => "minecraft:block.dispenser.fail",
- BlockDispenserLaunch => "minecraft:block.dispenser.launch",
- EntityDolphinAmbient => "minecraft:entity.dolphin.ambient",
- EntityDolphinAmbientWater => "minecraft:entity.dolphin.ambient_water",
- EntityDolphinAttack => "minecraft:entity.dolphin.attack",
- EntityDolphinDeath => "minecraft:entity.dolphin.death",
- EntityDolphinEat => "minecraft:entity.dolphin.eat",
- EntityDolphinHurt => "minecraft:entity.dolphin.hurt",
- EntityDolphinJump => "minecraft:entity.dolphin.jump",
- EntityDolphinPlay => "minecraft:entity.dolphin.play",
- EntityDolphinSplash => "minecraft:entity.dolphin.splash",
- EntityDolphinSwim => "minecraft:entity.dolphin.swim",
- EntityDonkeyAmbient => "minecraft:entity.donkey.ambient",
- EntityDonkeyAngry => "minecraft:entity.donkey.angry",
- EntityDonkeyChest => "minecraft:entity.donkey.chest",
- EntityDonkeyDeath => "minecraft:entity.donkey.death",
- EntityDonkeyEat => "minecraft:entity.donkey.eat",
- EntityDonkeyHurt => "minecraft:entity.donkey.hurt",
- EntityDonkeyJump => "minecraft:entity.donkey.jump",
- BlockDriedGhastBreak => "minecraft:block.dried_ghast.break",
- BlockDriedGhastStep => "minecraft:block.dried_ghast.step",
- BlockDriedGhastFall => "minecraft:block.dried_ghast.fall",
- BlockDriedGhastAmbient => "minecraft:block.dried_ghast.ambient",
- BlockDriedGhastAmbientWater => "minecraft:block.dried_ghast.ambient_water",
- BlockDriedGhastPlace => "minecraft:block.dried_ghast.place",
- BlockDriedGhastPlaceInWater => "minecraft:block.dried_ghast.place_in_water",
- BlockDriedGhastTransition => "minecraft:block.dried_ghast.transition",
- BlockDripstoneBlockBreak => "minecraft:block.dripstone_block.break",
- BlockDripstoneBlockStep => "minecraft:block.dripstone_block.step",
- BlockDripstoneBlockPlace => "minecraft:block.dripstone_block.place",
- BlockDripstoneBlockHit => "minecraft:block.dripstone_block.hit",
- BlockDripstoneBlockFall => "minecraft:block.dripstone_block.fall",
- BlockDryGrassAmbient => "minecraft:block.dry_grass.ambient",
- BlockPointedDripstoneBreak => "minecraft:block.pointed_dripstone.break",
- BlockPointedDripstoneStep => "minecraft:block.pointed_dripstone.step",
- BlockPointedDripstonePlace => "minecraft:block.pointed_dripstone.place",
- BlockPointedDripstoneHit => "minecraft:block.pointed_dripstone.hit",
- BlockPointedDripstoneFall => "minecraft:block.pointed_dripstone.fall",
- BlockPointedDripstoneLand => "minecraft:block.pointed_dripstone.land",
- BlockPointedDripstoneDripLava => "minecraft:block.pointed_dripstone.drip_lava",
- BlockPointedDripstoneDripWater => "minecraft:block.pointed_dripstone.drip_water",
- BlockPointedDripstoneDripLavaIntoCauldron => "minecraft:block.pointed_dripstone.drip_lava_into_cauldron",
- BlockPointedDripstoneDripWaterIntoCauldron => "minecraft:block.pointed_dripstone.drip_water_into_cauldron",
- BlockBigDripleafTiltDown => "minecraft:block.big_dripleaf.tilt_down",
- BlockBigDripleafTiltUp => "minecraft:block.big_dripleaf.tilt_up",
- EntityDrownedAmbient => "minecraft:entity.drowned.ambient",
- EntityDrownedAmbientWater => "minecraft:entity.drowned.ambient_water",
- EntityDrownedDeath => "minecraft:entity.drowned.death",
- EntityDrownedDeathWater => "minecraft:entity.drowned.death_water",
- EntityDrownedHurt => "minecraft:entity.drowned.hurt",
- EntityDrownedHurtWater => "minecraft:entity.drowned.hurt_water",
- EntityDrownedShoot => "minecraft:entity.drowned.shoot",
- EntityDrownedStep => "minecraft:entity.drowned.step",
- EntityDrownedSwim => "minecraft:entity.drowned.swim",
- ItemDyeUse => "minecraft:item.dye.use",
- EntityEggThrow => "minecraft:entity.egg.throw",
- EntityElderGuardianAmbient => "minecraft:entity.elder_guardian.ambient",
- EntityElderGuardianAmbientLand => "minecraft:entity.elder_guardian.ambient_land",
- EntityElderGuardianCurse => "minecraft:entity.elder_guardian.curse",
- EntityElderGuardianDeath => "minecraft:entity.elder_guardian.death",
- EntityElderGuardianDeathLand => "minecraft:entity.elder_guardian.death_land",
- EntityElderGuardianFlop => "minecraft:entity.elder_guardian.flop",
- EntityElderGuardianHurt => "minecraft:entity.elder_guardian.hurt",
- EntityElderGuardianHurtLand => "minecraft:entity.elder_guardian.hurt_land",
- ItemElytraFlying => "minecraft:item.elytra.flying",
- BlockEnchantmentTableUse => "minecraft:block.enchantment_table.use",
- BlockEnderChestClose => "minecraft:block.ender_chest.close",
- BlockEnderChestOpen => "minecraft:block.ender_chest.open",
- EntityEnderDragonAmbient => "minecraft:entity.ender_dragon.ambient",
- EntityEnderDragonDeath => "minecraft:entity.ender_dragon.death",
- EntityDragonFireballExplode => "minecraft:entity.dragon_fireball.explode",
- EntityEnderDragonFlap => "minecraft:entity.ender_dragon.flap",
- EntityEnderDragonGrowl => "minecraft:entity.ender_dragon.growl",
- EntityEnderDragonHurt => "minecraft:entity.ender_dragon.hurt",
- EntityEnderDragonShoot => "minecraft:entity.ender_dragon.shoot",
- EntityEnderEyeDeath => "minecraft:entity.ender_eye.death",
- EntityEnderEyeLaunch => "minecraft:entity.ender_eye.launch",
- EntityEndermanAmbient => "minecraft:entity.enderman.ambient",
- EntityEndermanDeath => "minecraft:entity.enderman.death",
- EntityEndermanHurt => "minecraft:entity.enderman.hurt",
- EntityEndermanScream => "minecraft:entity.enderman.scream",
- EntityEndermanStare => "minecraft:entity.enderman.stare",
- EntityEndermanTeleport => "minecraft:entity.enderman.teleport",
- EntityEndermiteAmbient => "minecraft:entity.endermite.ambient",
- EntityEndermiteDeath => "minecraft:entity.endermite.death",
- EntityEndermiteHurt => "minecraft:entity.endermite.hurt",
- EntityEndermiteStep => "minecraft:entity.endermite.step",
- EntityEnderPearlThrow => "minecraft:entity.ender_pearl.throw",
- BlockEndGatewaySpawn => "minecraft:block.end_gateway.spawn",
- BlockEndPortalFrameFill => "minecraft:block.end_portal_frame.fill",
- BlockEndPortalSpawn => "minecraft:block.end_portal.spawn",
- EntityEvokerAmbient => "minecraft:entity.evoker.ambient",
- EntityEvokerCastSpell => "minecraft:entity.evoker.cast_spell",
- EntityEvokerCelebrate => "minecraft:entity.evoker.celebrate",
- EntityEvokerDeath => "minecraft:entity.evoker.death",
- EntityEvokerFangsAttack => "minecraft:entity.evoker_fangs.attack",
- EntityEvokerHurt => "minecraft:entity.evoker.hurt",
- EntityEvokerPrepareAttack => "minecraft:entity.evoker.prepare_attack",
- EntityEvokerPrepareSummon => "minecraft:entity.evoker.prepare_summon",
- EntityEvokerPrepareWololo => "minecraft:entity.evoker.prepare_wololo",
- EntityExperienceBottleThrow => "minecraft:entity.experience_bottle.throw",
- EntityExperienceOrbPickup => "minecraft:entity.experience_orb.pickup",
- BlockEyeblossomOpenLong => "minecraft:block.eyeblossom.open_long",
- BlockEyeblossomOpen => "minecraft:block.eyeblossom.open",
- BlockEyeblossomCloseLong => "minecraft:block.eyeblossom.close_long",
- BlockEyeblossomClose => "minecraft:block.eyeblossom.close",
- BlockEyeblossomIdle => "minecraft:block.eyeblossom.idle",
- BlockFenceGateClose => "minecraft:block.fence_gate.close",
- BlockFenceGateOpen => "minecraft:block.fence_gate.open",
- ItemFirechargeUse => "minecraft:item.firecharge.use",
- BlockFireflyBushIdle => "minecraft:block.firefly_bush.idle",
- EntityFireworkRocketBlast => "minecraft:entity.firework_rocket.blast",
- EntityFireworkRocketBlastFar => "minecraft:entity.firework_rocket.blast_far",
- EntityFireworkRocketLargeBlast => "minecraft:entity.firework_rocket.large_blast",
- EntityFireworkRocketLargeBlastFar => "minecraft:entity.firework_rocket.large_blast_far",
- EntityFireworkRocketLaunch => "minecraft:entity.firework_rocket.launch",
- EntityFireworkRocketShoot => "minecraft:entity.firework_rocket.shoot",
- EntityFireworkRocketTwinkle => "minecraft:entity.firework_rocket.twinkle",
- EntityFireworkRocketTwinkleFar => "minecraft:entity.firework_rocket.twinkle_far",
- BlockFireAmbient => "minecraft:block.fire.ambient",
- BlockFireExtinguish => "minecraft:block.fire.extinguish",
- EntityFishSwim => "minecraft:entity.fish.swim",
- EntityFishingBobberRetrieve => "minecraft:entity.fishing_bobber.retrieve",
- EntityFishingBobberSplash => "minecraft:entity.fishing_bobber.splash",
- EntityFishingBobberThrow => "minecraft:entity.fishing_bobber.throw",
- ItemFlintandsteelUse => "minecraft:item.flintandsteel.use",
- BlockFloweringAzaleaBreak => "minecraft:block.flowering_azalea.break",
- BlockFloweringAzaleaFall => "minecraft:block.flowering_azalea.fall",
- BlockFloweringAzaleaHit => "minecraft:block.flowering_azalea.hit",
- BlockFloweringAzaleaPlace => "minecraft:block.flowering_azalea.place",
- BlockFloweringAzaleaStep => "minecraft:block.flowering_azalea.step",
- EntityFoxAggro => "minecraft:entity.fox.aggro",
- EntityFoxAmbient => "minecraft:entity.fox.ambient",
- EntityFoxBite => "minecraft:entity.fox.bite",
- EntityFoxDeath => "minecraft:entity.fox.death",
- EntityFoxEat => "minecraft:entity.fox.eat",
- EntityFoxHurt => "minecraft:entity.fox.hurt",
- EntityFoxScreech => "minecraft:entity.fox.screech",
- EntityFoxSleep => "minecraft:entity.fox.sleep",
- EntityFoxSniff => "minecraft:entity.fox.sniff",
- EntityFoxSpit => "minecraft:entity.fox.spit",
- EntityFoxTeleport => "minecraft:entity.fox.teleport",
- BlockSuspiciousSandBreak => "minecraft:block.suspicious_sand.break",
- BlockSuspiciousSandStep => "minecraft:block.suspicious_sand.step",
- BlockSuspiciousSandPlace => "minecraft:block.suspicious_sand.place",
- BlockSuspiciousSandHit => "minecraft:block.suspicious_sand.hit",
- BlockSuspiciousSandFall => "minecraft:block.suspicious_sand.fall",
- BlockSuspiciousGravelBreak => "minecraft:block.suspicious_gravel.break",
- BlockSuspiciousGravelStep => "minecraft:block.suspicious_gravel.step",
- BlockSuspiciousGravelPlace => "minecraft:block.suspicious_gravel.place",
- BlockSuspiciousGravelHit => "minecraft:block.suspicious_gravel.hit",
- BlockSuspiciousGravelFall => "minecraft:block.suspicious_gravel.fall",
- BlockFroglightBreak => "minecraft:block.froglight.break",
- BlockFroglightFall => "minecraft:block.froglight.fall",
- BlockFroglightHit => "minecraft:block.froglight.hit",
- BlockFroglightPlace => "minecraft:block.froglight.place",
- BlockFroglightStep => "minecraft:block.froglight.step",
- BlockFrogspawnStep => "minecraft:block.frogspawn.step",
- BlockFrogspawnBreak => "minecraft:block.frogspawn.break",
- BlockFrogspawnFall => "minecraft:block.frogspawn.fall",
- BlockFrogspawnHatch => "minecraft:block.frogspawn.hatch",
- BlockFrogspawnHit => "minecraft:block.frogspawn.hit",
- BlockFrogspawnPlace => "minecraft:block.frogspawn.place",
- EntityFrogAmbient => "minecraft:entity.frog.ambient",
- EntityFrogDeath => "minecraft:entity.frog.death",
- EntityFrogEat => "minecraft:entity.frog.eat",
- EntityFrogHurt => "minecraft:entity.frog.hurt",
- EntityFrogLaySpawn => "minecraft:entity.frog.lay_spawn",
- EntityFrogLongJump => "minecraft:entity.frog.long_jump",
- EntityFrogStep => "minecraft:entity.frog.step",
- EntityFrogTongue => "minecraft:entity.frog.tongue",
- BlockRootsBreak => "minecraft:block.roots.break",
- BlockRootsStep => "minecraft:block.roots.step",
- BlockRootsPlace => "minecraft:block.roots.place",
- BlockRootsHit => "minecraft:block.roots.hit",
- BlockRootsFall => "minecraft:block.roots.fall",
- BlockFurnaceFireCrackle => "minecraft:block.furnace.fire_crackle",
- EntityGenericBigFall => "minecraft:entity.generic.big_fall",
- EntityGenericBurn => "minecraft:entity.generic.burn",
- EntityGenericDeath => "minecraft:entity.generic.death",
- EntityGenericDrink => "minecraft:entity.generic.drink",
- EntityGenericEat => "minecraft:entity.generic.eat",
- EntityGenericExplode => "minecraft:entity.generic.explode",
- EntityGenericExtinguishFire => "minecraft:entity.generic.extinguish_fire",
- EntityGenericHurt => "minecraft:entity.generic.hurt",
- EntityGenericSmallFall => "minecraft:entity.generic.small_fall",
- EntityGenericSplash => "minecraft:entity.generic.splash",
- EntityGenericSwim => "minecraft:entity.generic.swim",
- EntityGhastAmbient => "minecraft:entity.ghast.ambient",
- EntityGhastDeath => "minecraft:entity.ghast.death",
- EntityGhastHurt => "minecraft:entity.ghast.hurt",
- EntityGhastScream => "minecraft:entity.ghast.scream",
- EntityGhastShoot => "minecraft:entity.ghast.shoot",
- EntityGhastWarn => "minecraft:entity.ghast.warn",
- EntityGhastlingAmbient => "minecraft:entity.ghastling.ambient",
- EntityGhastlingDeath => "minecraft:entity.ghastling.death",
- EntityGhastlingHurt => "minecraft:entity.ghastling.hurt",
- EntityGhastlingSpawn => "minecraft:entity.ghastling.spawn",
- BlockGildedBlackstoneBreak => "minecraft:block.gilded_blackstone.break",
- BlockGildedBlackstoneFall => "minecraft:block.gilded_blackstone.fall",
- BlockGildedBlackstoneHit => "minecraft:block.gilded_blackstone.hit",
- BlockGildedBlackstonePlace => "minecraft:block.gilded_blackstone.place",
- BlockGildedBlackstoneStep => "minecraft:block.gilded_blackstone.step",
- BlockGlassBreak => "minecraft:block.glass.break",
- BlockGlassFall => "minecraft:block.glass.fall",
- BlockGlassHit => "minecraft:block.glass.hit",
- BlockGlassPlace => "minecraft:block.glass.place",
- BlockGlassStep => "minecraft:block.glass.step",
- ItemGlowInkSacUse => "minecraft:item.glow_ink_sac.use",
- EntityGlowItemFrameAddItem => "minecraft:entity.glow_item_frame.add_item",
- EntityGlowItemFrameBreak => "minecraft:entity.glow_item_frame.break",
- EntityGlowItemFramePlace => "minecraft:entity.glow_item_frame.place",
- EntityGlowItemFrameRemoveItem => "minecraft:entity.glow_item_frame.remove_item",
- EntityGlowItemFrameRotateItem => "minecraft:entity.glow_item_frame.rotate_item",
- EntityGlowSquidAmbient => "minecraft:entity.glow_squid.ambient",
- EntityGlowSquidDeath => "minecraft:entity.glow_squid.death",
- EntityGlowSquidHurt => "minecraft:entity.glow_squid.hurt",
- EntityGlowSquidSquirt => "minecraft:entity.glow_squid.squirt",
- EntityGoatAmbient => "minecraft:entity.goat.ambient",
- EntityGoatDeath => "minecraft:entity.goat.death",
- EntityGoatEat => "minecraft:entity.goat.eat",
- EntityGoatHurt => "minecraft:entity.goat.hurt",
- EntityGoatLongJump => "minecraft:entity.goat.long_jump",
- EntityGoatMilk => "minecraft:entity.goat.milk",
- EntityGoatPrepareRam => "minecraft:entity.goat.prepare_ram",
- EntityGoatRamImpact => "minecraft:entity.goat.ram_impact",
- EntityGoatHornBreak => "minecraft:entity.goat.horn_break",
- EntityGoatScreamingAmbient => "minecraft:entity.goat.screaming.ambient",
- EntityGoatScreamingDeath => "minecraft:entity.goat.screaming.death",
- EntityGoatScreamingEat => "minecraft:entity.goat.screaming.eat",
- EntityGoatScreamingHurt => "minecraft:entity.goat.screaming.hurt",
- EntityGoatScreamingLongJump => "minecraft:entity.goat.screaming.long_jump",
- EntityGoatScreamingMilk => "minecraft:entity.goat.screaming.milk",
- EntityGoatScreamingPrepareRam => "minecraft:entity.goat.screaming.prepare_ram",
- EntityGoatScreamingRamImpact => "minecraft:entity.goat.screaming.ram_impact",
- EntityGoatStep => "minecraft:entity.goat.step",
- BlockGrassBreak => "minecraft:block.grass.break",
- BlockGrassFall => "minecraft:block.grass.fall",
- BlockGrassHit => "minecraft:block.grass.hit",
- BlockGrassPlace => "minecraft:block.grass.place",
- BlockGrassStep => "minecraft:block.grass.step",
- BlockGravelBreak => "minecraft:block.gravel.break",
- BlockGravelFall => "minecraft:block.gravel.fall",
- BlockGravelHit => "minecraft:block.gravel.hit",
- BlockGravelPlace => "minecraft:block.gravel.place",
- BlockGravelStep => "minecraft:block.gravel.step",
- BlockGrindstoneUse => "minecraft:block.grindstone.use",
- BlockGrowingPlantCrop => "minecraft:block.growing_plant.crop",
- EntityGuardianAmbient => "minecraft:entity.guardian.ambient",
- EntityGuardianAmbientLand => "minecraft:entity.guardian.ambient_land",
- EntityGuardianAttack => "minecraft:entity.guardian.attack",
- EntityGuardianDeath => "minecraft:entity.guardian.death",
- EntityGuardianDeathLand => "minecraft:entity.guardian.death_land",
- EntityGuardianFlop => "minecraft:entity.guardian.flop",
- EntityGuardianHurt => "minecraft:entity.guardian.hurt",
- EntityGuardianHurtLand => "minecraft:entity.guardian.hurt_land",
- BlockHangingRootsBreak => "minecraft:block.hanging_roots.break",
- BlockHangingRootsFall => "minecraft:block.hanging_roots.fall",
- BlockHangingRootsHit => "minecraft:block.hanging_roots.hit",
- BlockHangingRootsPlace => "minecraft:block.hanging_roots.place",
- BlockHangingRootsStep => "minecraft:block.hanging_roots.step",
- BlockHangingSignStep => "minecraft:block.hanging_sign.step",
- BlockHangingSignBreak => "minecraft:block.hanging_sign.break",
- BlockHangingSignFall => "minecraft:block.hanging_sign.fall",
- BlockHangingSignHit => "minecraft:block.hanging_sign.hit",
- BlockHangingSignPlace => "minecraft:block.hanging_sign.place",
- EntityHappyGhastAmbient => "minecraft:entity.happy_ghast.ambient",
- EntityHappyGhastDeath => "minecraft:entity.happy_ghast.death",
- EntityHappyGhastHurt => "minecraft:entity.happy_ghast.hurt",
- EntityHappyGhastRiding => "minecraft:entity.happy_ghast.riding",
- BlockHeavyCoreBreak => "minecraft:block.heavy_core.break",
- BlockHeavyCoreFall => "minecraft:block.heavy_core.fall",
- BlockHeavyCoreHit => "minecraft:block.heavy_core.hit",
- BlockHeavyCorePlace => "minecraft:block.heavy_core.place",
- BlockHeavyCoreStep => "minecraft:block.heavy_core.step",
- BlockNetherWoodHangingSignStep => "minecraft:block.nether_wood_hanging_sign.step",
- BlockNetherWoodHangingSignBreak => "minecraft:block.nether_wood_hanging_sign.break",
- BlockNetherWoodHangingSignFall => "minecraft:block.nether_wood_hanging_sign.fall",
- BlockNetherWoodHangingSignHit => "minecraft:block.nether_wood_hanging_sign.hit",
- BlockNetherWoodHangingSignPlace => "minecraft:block.nether_wood_hanging_sign.place",
- BlockBambooWoodHangingSignStep => "minecraft:block.bamboo_wood_hanging_sign.step",
- BlockBambooWoodHangingSignBreak => "minecraft:block.bamboo_wood_hanging_sign.break",
- BlockBambooWoodHangingSignFall => "minecraft:block.bamboo_wood_hanging_sign.fall",
- BlockBambooWoodHangingSignHit => "minecraft:block.bamboo_wood_hanging_sign.hit",
- BlockBambooWoodHangingSignPlace => "minecraft:block.bamboo_wood_hanging_sign.place",
- BlockTrialSpawnerBreak => "minecraft:block.trial_spawner.break",
- BlockTrialSpawnerStep => "minecraft:block.trial_spawner.step",
- BlockTrialSpawnerPlace => "minecraft:block.trial_spawner.place",
- BlockTrialSpawnerHit => "minecraft:block.trial_spawner.hit",
- BlockTrialSpawnerFall => "minecraft:block.trial_spawner.fall",
- BlockTrialSpawnerSpawnMob => "minecraft:block.trial_spawner.spawn_mob",
- BlockTrialSpawnerAboutToSpawnItem => "minecraft:block.trial_spawner.about_to_spawn_item",
- BlockTrialSpawnerSpawnItem => "minecraft:block.trial_spawner.spawn_item",
- BlockTrialSpawnerSpawnItemBegin => "minecraft:block.trial_spawner.spawn_item_begin",
- BlockTrialSpawnerDetectPlayer => "minecraft:block.trial_spawner.detect_player",
- BlockTrialSpawnerOminousActivate => "minecraft:block.trial_spawner.ominous_activate",
- BlockTrialSpawnerAmbient => "minecraft:block.trial_spawner.ambient",
- BlockTrialSpawnerAmbientOminous => "minecraft:block.trial_spawner.ambient_ominous",
- BlockTrialSpawnerOpenShutter => "minecraft:block.trial_spawner.open_shutter",
- BlockTrialSpawnerCloseShutter => "minecraft:block.trial_spawner.close_shutter",
- BlockTrialSpawnerEjectItem => "minecraft:block.trial_spawner.eject_item",
- EntityHappyGhastEquip => "minecraft:entity.happy_ghast.equip",
- EntityHappyGhastUnequip => "minecraft:entity.happy_ghast.unequip",
- EntityHappyGhastHarnessGogglesUp => "minecraft:entity.happy_ghast.harness_goggles_up",
- EntityHappyGhastHarnessGogglesDown => "minecraft:entity.happy_ghast.harness_goggles_down",
- ItemHoeTill => "minecraft:item.hoe.till",
- EntityHoglinAmbient => "minecraft:entity.hoglin.ambient",
- EntityHoglinAngry => "minecraft:entity.hoglin.angry",
- EntityHoglinAttack => "minecraft:entity.hoglin.attack",
- EntityHoglinConvertedToZombified => "minecraft:entity.hoglin.converted_to_zombified",
- EntityHoglinDeath => "minecraft:entity.hoglin.death",
- EntityHoglinHurt => "minecraft:entity.hoglin.hurt",
- EntityHoglinRetreat => "minecraft:entity.hoglin.retreat",
- EntityHoglinStep => "minecraft:entity.hoglin.step",
- BlockHoneyBlockBreak => "minecraft:block.honey_block.break",
- BlockHoneyBlockFall => "minecraft:block.honey_block.fall",
- BlockHoneyBlockHit => "minecraft:block.honey_block.hit",
- BlockHoneyBlockPlace => "minecraft:block.honey_block.place",
- BlockHoneyBlockSlide => "minecraft:block.honey_block.slide",
- BlockHoneyBlockStep => "minecraft:block.honey_block.step",
- ItemHoneycombWaxOn => "minecraft:item.honeycomb.wax_on",
- ItemHoneyBottleDrink => "minecraft:item.honey_bottle.drink",
- ItemGoatHornSound0 => "minecraft:item.goat_horn.sound.0",
- ItemGoatHornSound1 => "minecraft:item.goat_horn.sound.1",
- ItemGoatHornSound2 => "minecraft:item.goat_horn.sound.2",
- ItemGoatHornSound3 => "minecraft:item.goat_horn.sound.3",
- ItemGoatHornSound4 => "minecraft:item.goat_horn.sound.4",
- ItemGoatHornSound5 => "minecraft:item.goat_horn.sound.5",
- ItemGoatHornSound6 => "minecraft:item.goat_horn.sound.6",
- ItemGoatHornSound7 => "minecraft:item.goat_horn.sound.7",
- EntityHorseAmbient => "minecraft:entity.horse.ambient",
- EntityHorseAngry => "minecraft:entity.horse.angry",
- EntityHorseArmor => "minecraft:entity.horse.armor",
- ItemHorseArmorUnequip => "minecraft:item.horse_armor.unequip",
- EntityHorseBreathe => "minecraft:entity.horse.breathe",
- EntityHorseDeath => "minecraft:entity.horse.death",
- EntityHorseEat => "minecraft:entity.horse.eat",
- EntityHorseGallop => "minecraft:entity.horse.gallop",
- EntityHorseHurt => "minecraft:entity.horse.hurt",
- EntityHorseJump => "minecraft:entity.horse.jump",
- EntityHorseLand => "minecraft:entity.horse.land",
- EntityHorseSaddle => "minecraft:entity.horse.saddle",
- EntityHorseStep => "minecraft:entity.horse.step",
- EntityHorseStepWood => "minecraft:entity.horse.step_wood",
- EntityHostileBigFall => "minecraft:entity.hostile.big_fall",
- EntityHostileDeath => "minecraft:entity.hostile.death",
- EntityHostileHurt => "minecraft:entity.hostile.hurt",
- EntityHostileSmallFall => "minecraft:entity.hostile.small_fall",
- EntityHostileSplash => "minecraft:entity.hostile.splash",
- EntityHostileSwim => "minecraft:entity.hostile.swim",
- EntityHuskAmbient => "minecraft:entity.husk.ambient",
- EntityHuskConvertedToZombie => "minecraft:entity.husk.converted_to_zombie",
- EntityHuskDeath => "minecraft:entity.husk.death",
- EntityHuskHurt => "minecraft:entity.husk.hurt",
- EntityHuskStep => "minecraft:entity.husk.step",
- EntityIllusionerAmbient => "minecraft:entity.illusioner.ambient",
- EntityIllusionerCastSpell => "minecraft:entity.illusioner.cast_spell",
- EntityIllusionerDeath => "minecraft:entity.illusioner.death",
- EntityIllusionerHurt => "minecraft:entity.illusioner.hurt",
- EntityIllusionerMirrorMove => "minecraft:entity.illusioner.mirror_move",
- EntityIllusionerPrepareBlindness => "minecraft:entity.illusioner.prepare_blindness",
- EntityIllusionerPrepareMirror => "minecraft:entity.illusioner.prepare_mirror",
- ItemInkSacUse => "minecraft:item.ink_sac.use",
- BlockIronBreak => "minecraft:block.iron.break",
- BlockIronStep => "minecraft:block.iron.step",
- BlockIronPlace => "minecraft:block.iron.place",
- BlockIronHit => "minecraft:block.iron.hit",
- BlockIronFall => "minecraft:block.iron.fall",
- BlockIronDoorClose => "minecraft:block.iron_door.close",
- BlockIronDoorOpen => "minecraft:block.iron_door.open",
- EntityIronGolemAttack => "minecraft:entity.iron_golem.attack",
- EntityIronGolemDamage => "minecraft:entity.iron_golem.damage",
- EntityIronGolemDeath => "minecraft:entity.iron_golem.death",
- EntityIronGolemHurt => "minecraft:entity.iron_golem.hurt",
- EntityIronGolemRepair => "minecraft:entity.iron_golem.repair",
- EntityIronGolemStep => "minecraft:entity.iron_golem.step",
- BlockIronTrapdoorClose => "minecraft:block.iron_trapdoor.close",
- BlockIronTrapdoorOpen => "minecraft:block.iron_trapdoor.open",
- EntityItemFrameAddItem => "minecraft:entity.item_frame.add_item",
- EntityItemFrameBreak => "minecraft:entity.item_frame.break",
- EntityItemFramePlace => "minecraft:entity.item_frame.place",
- EntityItemFrameRemoveItem => "minecraft:entity.item_frame.remove_item",
- EntityItemFrameRotateItem => "minecraft:entity.item_frame.rotate_item",
- EntityItemBreak => "minecraft:entity.item.break",
- EntityItemPickup => "minecraft:entity.item.pickup",
- BlockLadderBreak => "minecraft:block.ladder.break",
- BlockLadderFall => "minecraft:block.ladder.fall",
- BlockLadderHit => "minecraft:block.ladder.hit",
- BlockLadderPlace => "minecraft:block.ladder.place",
- BlockLadderStep => "minecraft:block.ladder.step",
- BlockLanternBreak => "minecraft:block.lantern.break",
- BlockLanternFall => "minecraft:block.lantern.fall",
- BlockLanternHit => "minecraft:block.lantern.hit",
- BlockLanternPlace => "minecraft:block.lantern.place",
- BlockLanternStep => "minecraft:block.lantern.step",
- BlockLargeAmethystBudBreak => "minecraft:block.large_amethyst_bud.break",
- BlockLargeAmethystBudPlace => "minecraft:block.large_amethyst_bud.place",
- BlockLavaAmbient => "minecraft:block.lava.ambient",
- BlockLavaExtinguish => "minecraft:block.lava.extinguish",
- BlockLavaPop => "minecraft:block.lava.pop",
- BlockLeafLitterBreak => "minecraft:block.leaf_litter.break",
- BlockLeafLitterStep => "minecraft:block.leaf_litter.step",
- BlockLeafLitterPlace => "minecraft:block.leaf_litter.place",
- BlockLeafLitterHit => "minecraft:block.leaf_litter.hit",
- BlockLeafLitterFall => "minecraft:block.leaf_litter.fall",
- ItemLeadUntied => "minecraft:item.lead.untied",
- ItemLeadTied => "minecraft:item.lead.tied",
- ItemLeadBreak => "minecraft:item.lead.break",
- BlockLeverClick => "minecraft:block.lever.click",
- EntityLightningBoltImpact => "minecraft:entity.lightning_bolt.impact",
- EntityLightningBoltThunder => "minecraft:entity.lightning_bolt.thunder",
- EntityLingeringPotionThrow => "minecraft:entity.lingering_potion.throw",
- EntityLlamaAmbient => "minecraft:entity.llama.ambient",
- EntityLlamaAngry => "minecraft:entity.llama.angry",
- EntityLlamaChest => "minecraft:entity.llama.chest",
- EntityLlamaDeath => "minecraft:entity.llama.death",
- EntityLlamaEat => "minecraft:entity.llama.eat",
- EntityLlamaHurt => "minecraft:entity.llama.hurt",
- EntityLlamaSpit => "minecraft:entity.llama.spit",
- EntityLlamaStep => "minecraft:entity.llama.step",
- EntityLlamaSwag => "minecraft:entity.llama.swag",
- ItemLlamaCarpetUnequip => "minecraft:item.llama_carpet.unequip",
- EntityMagmaCubeDeathSmall => "minecraft:entity.magma_cube.death_small",
- BlockLodestoneBreak => "minecraft:block.lodestone.break",
- BlockLodestoneStep => "minecraft:block.lodestone.step",
- BlockLodestonePlace => "minecraft:block.lodestone.place",
- BlockLodestoneHit => "minecraft:block.lodestone.hit",
- BlockLodestoneFall => "minecraft:block.lodestone.fall",
- ItemLodestoneCompassLock => "minecraft:item.lodestone_compass.lock",
- ItemSpearLunge1 => "minecraft:item.spear.lunge_1",
- ItemSpearLunge2 => "minecraft:item.spear.lunge_2",
- ItemSpearLunge3 => "minecraft:item.spear.lunge_3",
- ItemMaceSmashAir => "minecraft:item.mace.smash_air",
- ItemMaceSmashGround => "minecraft:item.mace.smash_ground",
- ItemMaceSmashGroundHeavy => "minecraft:item.mace.smash_ground_heavy",
- EntityMagmaCubeDeath => "minecraft:entity.magma_cube.death",
- EntityMagmaCubeHurt => "minecraft:entity.magma_cube.hurt",
- EntityMagmaCubeHurtSmall => "minecraft:entity.magma_cube.hurt_small",
- EntityMagmaCubeJump => "minecraft:entity.magma_cube.jump",
- EntityMagmaCubeSquish => "minecraft:entity.magma_cube.squish",
- EntityMagmaCubeSquishSmall => "minecraft:entity.magma_cube.squish_small",
- BlockMangroveRootsBreak => "minecraft:block.mangrove_roots.break",
- BlockMangroveRootsFall => "minecraft:block.mangrove_roots.fall",
- BlockMangroveRootsHit => "minecraft:block.mangrove_roots.hit",
- BlockMangroveRootsPlace => "minecraft:block.mangrove_roots.place",
- BlockMangroveRootsStep => "minecraft:block.mangrove_roots.step",
- BlockMediumAmethystBudBreak => "minecraft:block.medium_amethyst_bud.break",
- BlockMediumAmethystBudPlace => "minecraft:block.medium_amethyst_bud.place",
- BlockMetalBreak => "minecraft:block.metal.break",
- BlockMetalFall => "minecraft:block.metal.fall",
- BlockMetalHit => "minecraft:block.metal.hit",
- BlockMetalPlace => "minecraft:block.metal.place",
- BlockMetalPressurePlateClickOff => "minecraft:block.metal_pressure_plate.click_off",
- BlockMetalPressurePlateClickOn => "minecraft:block.metal_pressure_plate.click_on",
- BlockMetalStep => "minecraft:block.metal.step",
- EntityMinecartInsideUnderwater => "minecraft:entity.minecart.inside.underwater",
- EntityMinecartInside => "minecraft:entity.minecart.inside",
- EntityMinecartRiding => "minecraft:entity.minecart.riding",
- EntityMooshroomConvert => "minecraft:entity.mooshroom.convert",
- EntityMooshroomEat => "minecraft:entity.mooshroom.eat",
- EntityMooshroomMilk => "minecraft:entity.mooshroom.milk",
- EntityMooshroomSuspiciousMilk => "minecraft:entity.mooshroom.suspicious_milk",
- EntityMooshroomShear => "minecraft:entity.mooshroom.shear",
- BlockMossCarpetBreak => "minecraft:block.moss_carpet.break",
- BlockMossCarpetFall => "minecraft:block.moss_carpet.fall",
- BlockMossCarpetHit => "minecraft:block.moss_carpet.hit",
- BlockMossCarpetPlace => "minecraft:block.moss_carpet.place",
- BlockMossCarpetStep => "minecraft:block.moss_carpet.step",
- BlockPinkPetalsBreak => "minecraft:block.pink_petals.break",
- BlockPinkPetalsFall => "minecraft:block.pink_petals.fall",
- BlockPinkPetalsHit => "minecraft:block.pink_petals.hit",
- BlockPinkPetalsPlace => "minecraft:block.pink_petals.place",
- BlockPinkPetalsStep => "minecraft:block.pink_petals.step",
- BlockMossBreak => "minecraft:block.moss.break",
- BlockMossFall => "minecraft:block.moss.fall",
- BlockMossHit => "minecraft:block.moss.hit",
- BlockMossPlace => "minecraft:block.moss.place",
- BlockMossStep => "minecraft:block.moss.step",
- BlockMudBreak => "minecraft:block.mud.break",
- BlockMudFall => "minecraft:block.mud.fall",
- BlockMudHit => "minecraft:block.mud.hit",
- BlockMudPlace => "minecraft:block.mud.place",
- BlockMudStep => "minecraft:block.mud.step",
- BlockMudBricksBreak => "minecraft:block.mud_bricks.break",
- BlockMudBricksFall => "minecraft:block.mud_bricks.fall",
- BlockMudBricksHit => "minecraft:block.mud_bricks.hit",
- BlockMudBricksPlace => "minecraft:block.mud_bricks.place",
- BlockMudBricksStep => "minecraft:block.mud_bricks.step",
- BlockMuddyMangroveRootsBreak => "minecraft:block.muddy_mangrove_roots.break",
- BlockMuddyMangroveRootsFall => "minecraft:block.muddy_mangrove_roots.fall",
- BlockMuddyMangroveRootsHit => "minecraft:block.muddy_mangrove_roots.hit",
- BlockMuddyMangroveRootsPlace => "minecraft:block.muddy_mangrove_roots.place",
- BlockMuddyMangroveRootsStep => "minecraft:block.muddy_mangrove_roots.step",
- EntityMuleAmbient => "minecraft:entity.mule.ambient",
- EntityMuleAngry => "minecraft:entity.mule.angry",
- EntityMuleChest => "minecraft:entity.mule.chest",
- EntityMuleDeath => "minecraft:entity.mule.death",
- EntityMuleEat => "minecraft:entity.mule.eat",
- EntityMuleHurt => "minecraft:entity.mule.hurt",
- EntityMuleJump => "minecraft:entity.mule.jump",
- MusicCreative => "minecraft:music.creative",
- MusicCredits => "minecraft:music.credits",
- MusicDisc5 => "minecraft:music_disc.5",
- MusicDisc11 => "minecraft:music_disc.11",
- MusicDisc13 => "minecraft:music_disc.13",
- MusicDiscBlocks => "minecraft:music_disc.blocks",
- MusicDiscCat => "minecraft:music_disc.cat",
- MusicDiscChirp => "minecraft:music_disc.chirp",
- MusicDiscFar => "minecraft:music_disc.far",
- MusicDiscLavaChicken => "minecraft:music_disc.lava_chicken",
- MusicDiscMall => "minecraft:music_disc.mall",
- MusicDiscMellohi => "minecraft:music_disc.mellohi",
- MusicDiscPigstep => "minecraft:music_disc.pigstep",
- MusicDiscStal => "minecraft:music_disc.stal",
- MusicDiscStrad => "minecraft:music_disc.strad",
- MusicDiscWait => "minecraft:music_disc.wait",
- MusicDiscWard => "minecraft:music_disc.ward",
- MusicDiscOtherside => "minecraft:music_disc.otherside",
- MusicDiscRelic => "minecraft:music_disc.relic",
- MusicDiscCreator => "minecraft:music_disc.creator",
- MusicDiscCreatorMusicBox => "minecraft:music_disc.creator_music_box",
- MusicDiscPrecipice => "minecraft:music_disc.precipice",
- MusicDiscTears => "minecraft:music_disc.tears",
- MusicDragon => "minecraft:music.dragon",
- MusicEnd => "minecraft:music.end",
- MusicGame => "minecraft:music.game",
- MusicMenu => "minecraft:music.menu",
- MusicNetherBasaltDeltas => "minecraft:music.nether.basalt_deltas",
- MusicNetherCrimsonForest => "minecraft:music.nether.crimson_forest",
- MusicOverworldDeepDark => "minecraft:music.overworld.deep_dark",
- MusicOverworldDripstoneCaves => "minecraft:music.overworld.dripstone_caves",
- MusicOverworldGrove => "minecraft:music.overworld.grove",
- MusicOverworldJaggedPeaks => "minecraft:music.overworld.jagged_peaks",
- MusicOverworldLushCaves => "minecraft:music.overworld.lush_caves",
- MusicOverworldSwamp => "minecraft:music.overworld.swamp",
- MusicOverworldForest => "minecraft:music.overworld.forest",
- MusicOverworldOldGrowthTaiga => "minecraft:music.overworld.old_growth_taiga",
- MusicOverworldMeadow => "minecraft:music.overworld.meadow",
- MusicOverworldCherryGrove => "minecraft:music.overworld.cherry_grove",
- MusicNetherNetherWastes => "minecraft:music.nether.nether_wastes",
- MusicOverworldFrozenPeaks => "minecraft:music.overworld.frozen_peaks",
- MusicOverworldSnowySlopes => "minecraft:music.overworld.snowy_slopes",
- MusicNetherSoulSandValley => "minecraft:music.nether.soul_sand_valley",
- MusicOverworldStonyPeaks => "minecraft:music.overworld.stony_peaks",
- MusicNetherWarpedForest => "minecraft:music.nether.warped_forest",
- MusicOverworldFlowerForest => "minecraft:music.overworld.flower_forest",
- MusicOverworldDesert => "minecraft:music.overworld.desert",
- MusicOverworldBadlands => "minecraft:music.overworld.badlands",
- MusicOverworldJungle => "minecraft:music.overworld.jungle",
- MusicOverworldSparseJungle => "minecraft:music.overworld.sparse_jungle",
- MusicOverworldBambooJungle => "minecraft:music.overworld.bamboo_jungle",
- MusicUnderWater => "minecraft:music.under_water",
- EntityNautilusAmbient => "minecraft:entity.nautilus.ambient",
- EntityNautilusAmbientLand => "minecraft:entity.nautilus.ambient_land",
- EntityNautilusDash => "minecraft:entity.nautilus.dash",
- EntityNautilusDashLand => "minecraft:entity.nautilus.dash_land",
- EntityNautilusDashReady => "minecraft:entity.nautilus.dash_ready",
- EntityNautilusDashReadyLand => "minecraft:entity.nautilus.dash_ready_land",
- EntityNautilusDeath => "minecraft:entity.nautilus.death",
- EntityNautilusDeathLand => "minecraft:entity.nautilus.death_land",
- EntityNautilusEat => "minecraft:entity.nautilus.eat",
- EntityNautilusHurt => "minecraft:entity.nautilus.hurt",
- EntityNautilusHurtLand => "minecraft:entity.nautilus.hurt_land",
- EntityNautilusSwim => "minecraft:entity.nautilus.swim",
- BlockNetherBricksBreak => "minecraft:block.nether_bricks.break",
- BlockNetherBricksStep => "minecraft:block.nether_bricks.step",
- BlockNetherBricksPlace => "minecraft:block.nether_bricks.place",
- BlockNetherBricksHit => "minecraft:block.nether_bricks.hit",
- BlockNetherBricksFall => "minecraft:block.nether_bricks.fall",
- BlockNetherWartBreak => "minecraft:block.nether_wart.break",
- ItemNetherWartPlant => "minecraft:item.nether_wart.plant",
- BlockNetherWoodBreak => "minecraft:block.nether_wood.break",
- BlockNetherWoodFall => "minecraft:block.nether_wood.fall",
- BlockNetherWoodHit => "minecraft:block.nether_wood.hit",
- BlockNetherWoodPlace => "minecraft:block.nether_wood.place",
- BlockNetherWoodStep => "minecraft:block.nether_wood.step",
- BlockNetherWoodDoorClose => "minecraft:block.nether_wood_door.close",
- BlockNetherWoodDoorOpen => "minecraft:block.nether_wood_door.open",
- BlockNetherWoodTrapdoorClose => "minecraft:block.nether_wood_trapdoor.close",
- BlockNetherWoodTrapdoorOpen => "minecraft:block.nether_wood_trapdoor.open",
- BlockNetherWoodButtonClickOff => "minecraft:block.nether_wood_button.click_off",
- BlockNetherWoodButtonClickOn => "minecraft:block.nether_wood_button.click_on",
- BlockNetherWoodPressurePlateClickOff => "minecraft:block.nether_wood_pressure_plate.click_off",
- BlockNetherWoodPressurePlateClickOn => "minecraft:block.nether_wood_pressure_plate.click_on",
- BlockNetherWoodFenceGateClose => "minecraft:block.nether_wood_fence_gate.close",
- BlockNetherWoodFenceGateOpen => "minecraft:block.nether_wood_fence_gate.open",
- IntentionallyEmpty => "minecraft:intentionally_empty",
- BlockPackedMudBreak => "minecraft:block.packed_mud.break",
- BlockPackedMudFall => "minecraft:block.packed_mud.fall",
- BlockPackedMudHit => "minecraft:block.packed_mud.hit",
- BlockPackedMudPlace => "minecraft:block.packed_mud.place",
- BlockPackedMudStep => "minecraft:block.packed_mud.step",
- BlockStemBreak => "minecraft:block.stem.break",
- BlockStemStep => "minecraft:block.stem.step",
- BlockStemPlace => "minecraft:block.stem.place",
- BlockStemHit => "minecraft:block.stem.hit",
- BlockStemFall => "minecraft:block.stem.fall",
- BlockNyliumBreak => "minecraft:block.nylium.break",
- BlockNyliumStep => "minecraft:block.nylium.step",
- BlockNyliumPlace => "minecraft:block.nylium.place",
- BlockNyliumHit => "minecraft:block.nylium.hit",
- BlockNyliumFall => "minecraft:block.nylium.fall",
- BlockNetherSproutsBreak => "minecraft:block.nether_sprouts.break",
- BlockNetherSproutsStep => "minecraft:block.nether_sprouts.step",
- BlockNetherSproutsPlace => "minecraft:block.nether_sprouts.place",
- BlockNetherSproutsHit => "minecraft:block.nether_sprouts.hit",
- BlockNetherSproutsFall => "minecraft:block.nether_sprouts.fall",
- BlockFungusBreak => "minecraft:block.fungus.break",
- BlockFungusStep => "minecraft:block.fungus.step",
- BlockFungusPlace => "minecraft:block.fungus.place",
- BlockFungusHit => "minecraft:block.fungus.hit",
- BlockFungusFall => "minecraft:block.fungus.fall",
- BlockWeepingVinesBreak => "minecraft:block.weeping_vines.break",
- BlockWeepingVinesStep => "minecraft:block.weeping_vines.step",
- BlockWeepingVinesPlace => "minecraft:block.weeping_vines.place",
- BlockWeepingVinesHit => "minecraft:block.weeping_vines.hit",
- BlockWeepingVinesFall => "minecraft:block.weeping_vines.fall",
- BlockWartBlockBreak => "minecraft:block.wart_block.break",
- BlockWartBlockStep => "minecraft:block.wart_block.step",
- BlockWartBlockPlace => "minecraft:block.wart_block.place",
- BlockWartBlockHit => "minecraft:block.wart_block.hit",
- BlockWartBlockFall => "minecraft:block.wart_block.fall",
- BlockNetheriteBlockBreak => "minecraft:block.netherite_block.break",
- BlockNetheriteBlockStep => "minecraft:block.netherite_block.step",
- BlockNetheriteBlockPlace => "minecraft:block.netherite_block.place",
- BlockNetheriteBlockHit => "minecraft:block.netherite_block.hit",
- BlockNetheriteBlockFall => "minecraft:block.netherite_block.fall",
- BlockNetherrackBreak => "minecraft:block.netherrack.break",
- BlockNetherrackStep => "minecraft:block.netherrack.step",
- BlockNetherrackPlace => "minecraft:block.netherrack.place",
- BlockNetherrackHit => "minecraft:block.netherrack.hit",
- BlockNetherrackFall => "minecraft:block.netherrack.fall",
- BlockNoteBlockBasedrum => "minecraft:block.note_block.basedrum",
- BlockNoteBlockBass => "minecraft:block.note_block.bass",
- BlockNoteBlockBell => "minecraft:block.note_block.bell",
- BlockNoteBlockChime => "minecraft:block.note_block.chime",
- BlockNoteBlockFlute => "minecraft:block.note_block.flute",
- BlockNoteBlockGuitar => "minecraft:block.note_block.guitar",
- BlockNoteBlockHarp => "minecraft:block.note_block.harp",
- BlockNoteBlockHat => "minecraft:block.note_block.hat",
- BlockNoteBlockPling => "minecraft:block.note_block.pling",
- BlockNoteBlockSnare => "minecraft:block.note_block.snare",
- BlockNoteBlockXylophone => "minecraft:block.note_block.xylophone",
- BlockNoteBlockIronXylophone => "minecraft:block.note_block.iron_xylophone",
- BlockNoteBlockCowBell => "minecraft:block.note_block.cow_bell",
- BlockNoteBlockDidgeridoo => "minecraft:block.note_block.didgeridoo",
- BlockNoteBlockBit => "minecraft:block.note_block.bit",
- BlockNoteBlockBanjo => "minecraft:block.note_block.banjo",
- BlockNoteBlockImitateZombie => "minecraft:block.note_block.imitate.zombie",
- BlockNoteBlockImitateSkeleton => "minecraft:block.note_block.imitate.skeleton",
- BlockNoteBlockImitateCreeper => "minecraft:block.note_block.imitate.creeper",
- BlockNoteBlockImitateEnderDragon => "minecraft:block.note_block.imitate.ender_dragon",
- BlockNoteBlockImitateWitherSkeleton => "minecraft:block.note_block.imitate.wither_skeleton",
- BlockNoteBlockImitatePiglin => "minecraft:block.note_block.imitate.piglin",
- EntityOcelotHurt => "minecraft:entity.ocelot.hurt",
- EntityOcelotAmbient => "minecraft:entity.ocelot.ambient",
- EntityOcelotDeath => "minecraft:entity.ocelot.death",
- ItemOminousBottleDispose => "minecraft:item.ominous_bottle.dispose",
- EntityPaintingBreak => "minecraft:entity.painting.break",
- EntityPaintingPlace => "minecraft:entity.painting.place",
- BlockPaleHangingMossIdle => "minecraft:block.pale_hanging_moss.idle",
- EntityPandaPreSneeze => "minecraft:entity.panda.pre_sneeze",
- EntityPandaSneeze => "minecraft:entity.panda.sneeze",
- EntityPandaAmbient => "minecraft:entity.panda.ambient",
- EntityPandaDeath => "minecraft:entity.panda.death",
- EntityPandaEat => "minecraft:entity.panda.eat",
- EntityPandaStep => "minecraft:entity.panda.step",
- EntityPandaCantBreed => "minecraft:entity.panda.cant_breed",
- EntityPandaAggressiveAmbient => "minecraft:entity.panda.aggressive_ambient",
- EntityPandaWorriedAmbient => "minecraft:entity.panda.worried_ambient",
- EntityPandaHurt => "minecraft:entity.panda.hurt",
- EntityPandaBite => "minecraft:entity.panda.bite",
- EntityParchedAmbient => "minecraft:entity.parched.ambient",
- EntityParchedDeath => "minecraft:entity.parched.death",
- EntityParchedHurt => "minecraft:entity.parched.hurt",
- EntityParchedStep => "minecraft:entity.parched.step",
- EntityParrotAmbient => "minecraft:entity.parrot.ambient",
- EntityParrotDeath => "minecraft:entity.parrot.death",
- EntityParrotEat => "minecraft:entity.parrot.eat",
- EntityParrotFly => "minecraft:entity.parrot.fly",
- EntityParrotHurt => "minecraft:entity.parrot.hurt",
- EntityParrotImitateBlaze => "minecraft:entity.parrot.imitate.blaze",
- EntityParrotImitateBogged => "minecraft:entity.parrot.imitate.bogged",
- EntityParrotImitateBreeze => "minecraft:entity.parrot.imitate.breeze",
- EntityParrotImitateCamelHusk => "minecraft:entity.parrot.imitate.camel_husk",
- EntityParrotImitateCreaking => "minecraft:entity.parrot.imitate.creaking",
- EntityParrotImitateCreeper => "minecraft:entity.parrot.imitate.creeper",
- EntityParrotImitateDrowned => "minecraft:entity.parrot.imitate.drowned",
- EntityParrotImitateElderGuardian => "minecraft:entity.parrot.imitate.elder_guardian",
- EntityParrotImitateEnderDragon => "minecraft:entity.parrot.imitate.ender_dragon",
- EntityParrotImitateEndermite => "minecraft:entity.parrot.imitate.endermite",
- EntityParrotImitateEvoker => "minecraft:entity.parrot.imitate.evoker",
- EntityParrotImitateGhast => "minecraft:entity.parrot.imitate.ghast",
- EntityParrotImitateGuardian => "minecraft:entity.parrot.imitate.guardian",
- EntityParrotImitateHoglin => "minecraft:entity.parrot.imitate.hoglin",
- EntityParrotImitateHusk => "minecraft:entity.parrot.imitate.husk",
- EntityParrotImitateIllusioner => "minecraft:entity.parrot.imitate.illusioner",
- EntityParrotImitateMagmaCube => "minecraft:entity.parrot.imitate.magma_cube",
- EntityParrotImitatePhantom => "minecraft:entity.parrot.imitate.phantom",
- EntityParrotImitateParched => "minecraft:entity.parrot.imitate.parched",
- EntityParrotImitatePiglin => "minecraft:entity.parrot.imitate.piglin",
- EntityParrotImitatePiglinBrute => "minecraft:entity.parrot.imitate.piglin_brute",
- EntityParrotImitatePillager => "minecraft:entity.parrot.imitate.pillager",
- EntityParrotImitateRavager => "minecraft:entity.parrot.imitate.ravager",
- EntityParrotImitateShulker => "minecraft:entity.parrot.imitate.shulker",
- EntityParrotImitateSilverfish => "minecraft:entity.parrot.imitate.silverfish",
- EntityParrotImitateSkeleton => "minecraft:entity.parrot.imitate.skeleton",
- EntityParrotImitateSlime => "minecraft:entity.parrot.imitate.slime",
- EntityParrotImitateSpider => "minecraft:entity.parrot.imitate.spider",
- EntityParrotImitateStray => "minecraft:entity.parrot.imitate.stray",
- EntityParrotImitateVex => "minecraft:entity.parrot.imitate.vex",
- EntityParrotImitateVindicator => "minecraft:entity.parrot.imitate.vindicator",
- EntityParrotImitateWarden => "minecraft:entity.parrot.imitate.warden",
- EntityParrotImitateWitch => "minecraft:entity.parrot.imitate.witch",
- EntityParrotImitateWither => "minecraft:entity.parrot.imitate.wither",
- EntityParrotImitateWitherSkeleton => "minecraft:entity.parrot.imitate.wither_skeleton",
- EntityParrotImitateZoglin => "minecraft:entity.parrot.imitate.zoglin",
- EntityParrotImitateZombie => "minecraft:entity.parrot.imitate.zombie",
- EntityParrotImitateZombieHorse => "minecraft:entity.parrot.imitate.zombie_horse",
- EntityParrotImitateZombieNautilus => "minecraft:entity.parrot.imitate.zombie_nautilus",
- EntityParrotImitateZombieVillager => "minecraft:entity.parrot.imitate.zombie_villager",
- EntityParrotStep => "minecraft:entity.parrot.step",
- EntityPhantomAmbient => "minecraft:entity.phantom.ambient",
- EntityPhantomBite => "minecraft:entity.phantom.bite",
- EntityPhantomDeath => "minecraft:entity.phantom.death",
- EntityPhantomFlap => "minecraft:entity.phantom.flap",
- EntityPhantomHurt => "minecraft:entity.phantom.hurt",
- EntityPhantomSwoop => "minecraft:entity.phantom.swoop",
- EntityPigAmbient => "minecraft:entity.pig.ambient",
- EntityPigDeath => "minecraft:entity.pig.death",
- EntityPigHurt => "minecraft:entity.pig.hurt",
- EntityPigSaddle => "minecraft:entity.pig.saddle",
- EntityPigStep => "minecraft:entity.pig.step",
- EntityPiglinAdmiringItem => "minecraft:entity.piglin.admiring_item",
- EntityPiglinAmbient => "minecraft:entity.piglin.ambient",
- EntityPiglinAngry => "minecraft:entity.piglin.angry",
- EntityPiglinCelebrate => "minecraft:entity.piglin.celebrate",
- EntityPiglinDeath => "minecraft:entity.piglin.death",
- EntityPiglinJealous => "minecraft:entity.piglin.jealous",
- EntityPiglinHurt => "minecraft:entity.piglin.hurt",
- EntityPiglinRetreat => "minecraft:entity.piglin.retreat",
- EntityPiglinStep => "minecraft:entity.piglin.step",
- EntityPiglinConvertedToZombified => "minecraft:entity.piglin.converted_to_zombified",
- EntityPiglinBruteAmbient => "minecraft:entity.piglin_brute.ambient",
- EntityPiglinBruteAngry => "minecraft:entity.piglin_brute.angry",
- EntityPiglinBruteDeath => "minecraft:entity.piglin_brute.death",
- EntityPiglinBruteHurt => "minecraft:entity.piglin_brute.hurt",
- EntityPiglinBruteStep => "minecraft:entity.piglin_brute.step",
- EntityPiglinBruteConvertedToZombified => "minecraft:entity.piglin_brute.converted_to_zombified",
- EntityPillagerAmbient => "minecraft:entity.pillager.ambient",
- EntityPillagerCelebrate => "minecraft:entity.pillager.celebrate",
- EntityPillagerDeath => "minecraft:entity.pillager.death",
- EntityPillagerHurt => "minecraft:entity.pillager.hurt",
- BlockPistonContract => "minecraft:block.piston.contract",
- BlockPistonExtend => "minecraft:block.piston.extend",
- EntityPlayerAttackCrit => "minecraft:entity.player.attack.crit",
- EntityPlayerAttackKnockback => "minecraft:entity.player.attack.knockback",
- EntityPlayerAttackNodamage => "minecraft:entity.player.attack.nodamage",
- EntityPlayerAttackStrong => "minecraft:entity.player.attack.strong",
- EntityPlayerAttackSweep => "minecraft:entity.player.attack.sweep",
- EntityPlayerAttackWeak => "minecraft:entity.player.attack.weak",
- EntityPlayerBigFall => "minecraft:entity.player.big_fall",
- EntityPlayerBreath => "minecraft:entity.player.breath",
- EntityPlayerBurp => "minecraft:entity.player.burp",
- EntityPlayerDeath => "minecraft:entity.player.death",
- EntityPlayerHurt => "minecraft:entity.player.hurt",
- EntityPlayerHurtDrown => "minecraft:entity.player.hurt_drown",
- EntityPlayerHurtFreeze => "minecraft:entity.player.hurt_freeze",
- EntityPlayerHurtOnFire => "minecraft:entity.player.hurt_on_fire",
- EntityPlayerHurtSweetBerryBush => "minecraft:entity.player.hurt_sweet_berry_bush",
- EntityPlayerLevelup => "minecraft:entity.player.levelup",
- EntityPlayerSmallFall => "minecraft:entity.player.small_fall",
- EntityPlayerSplash => "minecraft:entity.player.splash",
- EntityPlayerSplashHighSpeed => "minecraft:entity.player.splash.high_speed",
- EntityPlayerSwim => "minecraft:entity.player.swim",
- EntityPlayerTeleport => "minecraft:entity.player.teleport",
- EntityPolarBearAmbient => "minecraft:entity.polar_bear.ambient",
- EntityPolarBearAmbientBaby => "minecraft:entity.polar_bear.ambient_baby",
- EntityPolarBearDeath => "minecraft:entity.polar_bear.death",
- EntityPolarBearHurt => "minecraft:entity.polar_bear.hurt",
- EntityPolarBearStep => "minecraft:entity.polar_bear.step",
- EntityPolarBearWarning => "minecraft:entity.polar_bear.warning",
- BlockPolishedDeepslateBreak => "minecraft:block.polished_deepslate.break",
- BlockPolishedDeepslateFall => "minecraft:block.polished_deepslate.fall",
- BlockPolishedDeepslateHit => "minecraft:block.polished_deepslate.hit",
- BlockPolishedDeepslatePlace => "minecraft:block.polished_deepslate.place",
- BlockPolishedDeepslateStep => "minecraft:block.polished_deepslate.step",
- BlockPortalAmbient => "minecraft:block.portal.ambient",
- BlockPortalTravel => "minecraft:block.portal.travel",
- BlockPortalTrigger => "minecraft:block.portal.trigger",
- BlockPowderSnowBreak => "minecraft:block.powder_snow.break",
- BlockPowderSnowFall => "minecraft:block.powder_snow.fall",
- BlockPowderSnowHit => "minecraft:block.powder_snow.hit",
- BlockPowderSnowPlace => "minecraft:block.powder_snow.place",
- BlockPowderSnowStep => "minecraft:block.powder_snow.step",
- EntityPufferFishBlowOut => "minecraft:entity.puffer_fish.blow_out",
- EntityPufferFishBlowUp => "minecraft:entity.puffer_fish.blow_up",
- EntityPufferFishDeath => "minecraft:entity.puffer_fish.death",
- EntityPufferFishFlop => "minecraft:entity.puffer_fish.flop",
- EntityPufferFishHurt => "minecraft:entity.puffer_fish.hurt",
- EntityPufferFishSting => "minecraft:entity.puffer_fish.sting",
- BlockPumpkinCarve => "minecraft:block.pumpkin.carve",
- EntityRabbitAmbient => "minecraft:entity.rabbit.ambient",
- EntityRabbitAttack => "minecraft:entity.rabbit.attack",
- EntityRabbitDeath => "minecraft:entity.rabbit.death",
- EntityRabbitHurt => "minecraft:entity.rabbit.hurt",
- EntityRabbitJump => "minecraft:entity.rabbit.jump",
- EventRaidHorn => "minecraft:event.raid.horn",
- EntityRavagerAmbient => "minecraft:entity.ravager.ambient",
- EntityRavagerAttack => "minecraft:entity.ravager.attack",
- EntityRavagerCelebrate => "minecraft:entity.ravager.celebrate",
- EntityRavagerDeath => "minecraft:entity.ravager.death",
- EntityRavagerHurt => "minecraft:entity.ravager.hurt",
- EntityRavagerStep => "minecraft:entity.ravager.step",
- EntityRavagerStunned => "minecraft:entity.ravager.stunned",
- EntityRavagerRoar => "minecraft:entity.ravager.roar",
- BlockNetherGoldOreBreak => "minecraft:block.nether_gold_ore.break",
- BlockNetherGoldOreFall => "minecraft:block.nether_gold_ore.fall",
- BlockNetherGoldOreHit => "minecraft:block.nether_gold_ore.hit",
- BlockNetherGoldOrePlace => "minecraft:block.nether_gold_ore.place",
- BlockNetherGoldOreStep => "minecraft:block.nether_gold_ore.step",
- BlockNetherOreBreak => "minecraft:block.nether_ore.break",
- BlockNetherOreFall => "minecraft:block.nether_ore.fall",
- BlockNetherOreHit => "minecraft:block.nether_ore.hit",
- BlockNetherOrePlace => "minecraft:block.nether_ore.place",
- BlockNetherOreStep => "minecraft:block.nether_ore.step",
- BlockRedstoneTorchBurnout => "minecraft:block.redstone_torch.burnout",
- BlockResinBreak => "minecraft:block.resin.break",
- BlockResinFall => "minecraft:block.resin.fall",
- BlockResinPlace => "minecraft:block.resin.place",
- BlockResinStep => "minecraft:block.resin.step",
- BlockResinBricksBreak => "minecraft:block.resin_bricks.break",
- BlockResinBricksFall => "minecraft:block.resin_bricks.fall",
- BlockResinBricksHit => "minecraft:block.resin_bricks.hit",
- BlockResinBricksPlace => "minecraft:block.resin_bricks.place",
- BlockResinBricksStep => "minecraft:block.resin_bricks.step",
- BlockRespawnAnchorAmbient => "minecraft:block.respawn_anchor.ambient",
- BlockRespawnAnchorCharge => "minecraft:block.respawn_anchor.charge",
- BlockRespawnAnchorDeplete => "minecraft:block.respawn_anchor.deplete",
- BlockRespawnAnchorSetSpawn => "minecraft:block.respawn_anchor.set_spawn",
- BlockRootedDirtBreak => "minecraft:block.rooted_dirt.break",
- BlockRootedDirtFall => "minecraft:block.rooted_dirt.fall",
- BlockRootedDirtHit => "minecraft:block.rooted_dirt.hit",
- BlockRootedDirtPlace => "minecraft:block.rooted_dirt.place",
- BlockRootedDirtStep => "minecraft:block.rooted_dirt.step",
- EntitySalmonAmbient => "minecraft:entity.salmon.ambient",
- EntitySalmonDeath => "minecraft:entity.salmon.death",
- EntitySalmonFlop => "minecraft:entity.salmon.flop",
- EntitySalmonHurt => "minecraft:entity.salmon.hurt",
- BlockSandBreak => "minecraft:block.sand.break",
- BlockSandFall => "minecraft:block.sand.fall",
- BlockSandHit => "minecraft:block.sand.hit",
- BlockSandPlace => "minecraft:block.sand.place",
- BlockSandStep => "minecraft:block.sand.step",
- BlockSandIdle => "minecraft:block.sand.idle",
- BlockScaffoldingBreak => "minecraft:block.scaffolding.break",
- BlockScaffoldingFall => "minecraft:block.scaffolding.fall",
- BlockScaffoldingHit => "minecraft:block.scaffolding.hit",
- BlockScaffoldingPlace => "minecraft:block.scaffolding.place",
- BlockScaffoldingStep => "minecraft:block.scaffolding.step",
- BlockSculkSpread => "minecraft:block.sculk.spread",
- BlockSculkCharge => "minecraft:block.sculk.charge",
- BlockSculkBreak => "minecraft:block.sculk.break",
- BlockSculkFall => "minecraft:block.sculk.fall",
- BlockSculkHit => "minecraft:block.sculk.hit",
- BlockSculkPlace => "minecraft:block.sculk.place",
- BlockSculkStep => "minecraft:block.sculk.step",
- BlockSculkCatalystBloom => "minecraft:block.sculk_catalyst.bloom",
- BlockSculkCatalystBreak => "minecraft:block.sculk_catalyst.break",
- BlockSculkCatalystFall => "minecraft:block.sculk_catalyst.fall",
- BlockSculkCatalystHit => "minecraft:block.sculk_catalyst.hit",
- BlockSculkCatalystPlace => "minecraft:block.sculk_catalyst.place",
- BlockSculkCatalystStep => "minecraft:block.sculk_catalyst.step",
- BlockSculkSensorClicking => "minecraft:block.sculk_sensor.clicking",
- BlockSculkSensorClickingStop => "minecraft:block.sculk_sensor.clicking_stop",
- BlockSculkSensorBreak => "minecraft:block.sculk_sensor.break",
- BlockSculkSensorFall => "minecraft:block.sculk_sensor.fall",
- BlockSculkSensorHit => "minecraft:block.sculk_sensor.hit",
- BlockSculkSensorPlace => "minecraft:block.sculk_sensor.place",
- BlockSculkSensorStep => "minecraft:block.sculk_sensor.step",
- BlockSculkShriekerBreak => "minecraft:block.sculk_shrieker.break",
- BlockSculkShriekerFall => "minecraft:block.sculk_shrieker.fall",
- BlockSculkShriekerHit => "minecraft:block.sculk_shrieker.hit",
- BlockSculkShriekerPlace => "minecraft:block.sculk_shrieker.place",
- BlockSculkShriekerShriek => "minecraft:block.sculk_shrieker.shriek",
- BlockSculkShriekerStep => "minecraft:block.sculk_shrieker.step",
- BlockSculkVeinBreak => "minecraft:block.sculk_vein.break",
- BlockSculkVeinFall => "minecraft:block.sculk_vein.fall",
- BlockSculkVeinHit => "minecraft:block.sculk_vein.hit",
- BlockSculkVeinPlace => "minecraft:block.sculk_vein.place",
- BlockSculkVeinStep => "minecraft:block.sculk_vein.step",
- EntitySheepAmbient => "minecraft:entity.sheep.ambient",
- EntitySheepDeath => "minecraft:entity.sheep.death",
- EntitySheepHurt => "minecraft:entity.sheep.hurt",
- EntitySheepShear => "minecraft:entity.sheep.shear",
- EntitySheepStep => "minecraft:entity.sheep.step",
- ItemShearsSnip => "minecraft:item.shears.snip",
- BlockShelfActivate => "minecraft:block.shelf.activate",
- BlockShelfBreak => "minecraft:block.shelf.break",
- BlockShelfDeactivate => "minecraft:block.shelf.deactivate",
- BlockShelfFall => "minecraft:block.shelf.fall",
- BlockShelfHit => "minecraft:block.shelf.hit",
- BlockShelfMultiSwap => "minecraft:block.shelf.multi_swap",
- BlockShelfPlace => "minecraft:block.shelf.place",
- BlockShelfPlaceItem => "minecraft:block.shelf.place_item",
- BlockShelfSingleSwap => "minecraft:block.shelf.single_swap",
- BlockShelfStep => "minecraft:block.shelf.step",
- BlockShelfTakeItem => "minecraft:block.shelf.take_item",
- ItemShieldBlock => "minecraft:item.shield.block",
- ItemShieldBreak => "minecraft:item.shield.break",
- BlockShroomlightBreak => "minecraft:block.shroomlight.break",
- BlockShroomlightStep => "minecraft:block.shroomlight.step",
- BlockShroomlightPlace => "minecraft:block.shroomlight.place",
- BlockShroomlightHit => "minecraft:block.shroomlight.hit",
- BlockShroomlightFall => "minecraft:block.shroomlight.fall",
- ItemShovelFlatten => "minecraft:item.shovel.flatten",
- EntityShulkerAmbient => "minecraft:entity.shulker.ambient",
- BlockShulkerBoxClose => "minecraft:block.shulker_box.close",
- BlockShulkerBoxOpen => "minecraft:block.shulker_box.open",
- EntityShulkerBulletHit => "minecraft:entity.shulker_bullet.hit",
- EntityShulkerBulletHurt => "minecraft:entity.shulker_bullet.hurt",
- EntityShulkerClose => "minecraft:entity.shulker.close",
- EntityShulkerDeath => "minecraft:entity.shulker.death",
- EntityShulkerHurt => "minecraft:entity.shulker.hurt",
- EntityShulkerHurtClosed => "minecraft:entity.shulker.hurt_closed",
- EntityShulkerOpen => "minecraft:entity.shulker.open",
- EntityShulkerShoot => "minecraft:entity.shulker.shoot",
- EntityShulkerTeleport => "minecraft:entity.shulker.teleport",
- EntitySilverfishAmbient => "minecraft:entity.silverfish.ambient",
- EntitySilverfishDeath => "minecraft:entity.silverfish.death",
- EntitySilverfishHurt => "minecraft:entity.silverfish.hurt",
- EntitySilverfishStep => "minecraft:entity.silverfish.step",
- EntitySkeletonAmbient => "minecraft:entity.skeleton.ambient",
- EntitySkeletonConvertedToStray => "minecraft:entity.skeleton.converted_to_stray",
- EntitySkeletonDeath => "minecraft:entity.skeleton.death",
- EntitySkeletonHorseAmbient => "minecraft:entity.skeleton_horse.ambient",
- EntitySkeletonHorseDeath => "minecraft:entity.skeleton_horse.death",
- EntitySkeletonHorseHurt => "minecraft:entity.skeleton_horse.hurt",
- EntitySkeletonHorseSwim => "minecraft:entity.skeleton_horse.swim",
- EntitySkeletonHorseAmbientWater => "minecraft:entity.skeleton_horse.ambient_water",
- EntitySkeletonHorseGallopWater => "minecraft:entity.skeleton_horse.gallop_water",
- EntitySkeletonHorseJumpWater => "minecraft:entity.skeleton_horse.jump_water",
- EntitySkeletonHorseStepWater => "minecraft:entity.skeleton_horse.step_water",
- EntitySkeletonHurt => "minecraft:entity.skeleton.hurt",
- EntitySkeletonShoot => "minecraft:entity.skeleton.shoot",
- EntitySkeletonStep => "minecraft:entity.skeleton.step",
- EntitySlimeAttack => "minecraft:entity.slime.attack",
- EntitySlimeDeath => "minecraft:entity.slime.death",
- EntitySlimeHurt => "minecraft:entity.slime.hurt",
- EntitySlimeJump => "minecraft:entity.slime.jump",
- EntitySlimeSquish => "minecraft:entity.slime.squish",
- BlockSlimeBlockBreak => "minecraft:block.slime_block.break",
- BlockSlimeBlockFall => "minecraft:block.slime_block.fall",
- BlockSlimeBlockHit => "minecraft:block.slime_block.hit",
- BlockSlimeBlockPlace => "minecraft:block.slime_block.place",
- BlockSlimeBlockStep => "minecraft:block.slime_block.step",
- BlockSmallAmethystBudBreak => "minecraft:block.small_amethyst_bud.break",
- BlockSmallAmethystBudPlace => "minecraft:block.small_amethyst_bud.place",
- BlockSmallDripleafBreak => "minecraft:block.small_dripleaf.break",
- BlockSmallDripleafFall => "minecraft:block.small_dripleaf.fall",
- BlockSmallDripleafHit => "minecraft:block.small_dripleaf.hit",
- BlockSmallDripleafPlace => "minecraft:block.small_dripleaf.place",
- BlockSmallDripleafStep => "minecraft:block.small_dripleaf.step",
- BlockSoulSandBreak => "minecraft:block.soul_sand.break",
- BlockSoulSandStep => "minecraft:block.soul_sand.step",
- BlockSoulSandPlace => "minecraft:block.soul_sand.place",
- BlockSoulSandHit => "minecraft:block.soul_sand.hit",
- BlockSoulSandFall => "minecraft:block.soul_sand.fall",
- BlockSoulSoilBreak => "minecraft:block.soul_soil.break",
- BlockSoulSoilStep => "minecraft:block.soul_soil.step",
- BlockSoulSoilPlace => "minecraft:block.soul_soil.place",
- BlockSoulSoilHit => "minecraft:block.soul_soil.hit",
- BlockSoulSoilFall => "minecraft:block.soul_soil.fall",
- ParticleSoulEscape => "minecraft:particle.soul_escape",
- BlockSpawnerBreak => "minecraft:block.spawner.break",
- BlockSpawnerFall => "minecraft:block.spawner.fall",
- BlockSpawnerHit => "minecraft:block.spawner.hit",
- BlockSpawnerPlace => "minecraft:block.spawner.place",
- BlockSpawnerStep => "minecraft:block.spawner.step",
- ItemSpearUse => "minecraft:item.spear.use",
- ItemSpearHit => "minecraft:item.spear.hit",
- ItemSpearAttack => "minecraft:item.spear.attack",
- ItemSpearWoodUse => "minecraft:item.spear_wood.use",
- ItemSpearWoodHit => "minecraft:item.spear_wood.hit",
- ItemSpearWoodAttack => "minecraft:item.spear_wood.attack",
- BlockSporeBlossomBreak => "minecraft:block.spore_blossom.break",
- BlockSporeBlossomFall => "minecraft:block.spore_blossom.fall",
- BlockSporeBlossomHit => "minecraft:block.spore_blossom.hit",
- BlockSporeBlossomPlace => "minecraft:block.spore_blossom.place",
- BlockSporeBlossomStep => "minecraft:block.spore_blossom.step",
- EntityStriderAmbient => "minecraft:entity.strider.ambient",
- EntityStriderHappy => "minecraft:entity.strider.happy",
- EntityStriderRetreat => "minecraft:entity.strider.retreat",
- EntityStriderDeath => "minecraft:entity.strider.death",
- EntityStriderHurt => "minecraft:entity.strider.hurt",
- EntityStriderStep => "minecraft:entity.strider.step",
- EntityStriderStepLava => "minecraft:entity.strider.step_lava",
- EntityStriderEat => "minecraft:entity.strider.eat",
- EntityStriderSaddle => "minecraft:entity.strider.saddle",
- EntitySlimeDeathSmall => "minecraft:entity.slime.death_small",
- EntitySlimeHurtSmall => "minecraft:entity.slime.hurt_small",
- EntitySlimeJumpSmall => "minecraft:entity.slime.jump_small",
- EntitySlimeSquishSmall => "minecraft:entity.slime.squish_small",
- BlockSmithingTableUse => "minecraft:block.smithing_table.use",
- BlockSmokerSmoke => "minecraft:block.smoker.smoke",
- EntitySnifferStep => "minecraft:entity.sniffer.step",
- EntitySnifferEat => "minecraft:entity.sniffer.eat",
- EntitySnifferIdle => "minecraft:entity.sniffer.idle",
- EntitySnifferHurt => "minecraft:entity.sniffer.hurt",
- EntitySnifferDeath => "minecraft:entity.sniffer.death",
- EntitySnifferDropSeed => "minecraft:entity.sniffer.drop_seed",
- EntitySnifferScenting => "minecraft:entity.sniffer.scenting",
- EntitySnifferSniffing => "minecraft:entity.sniffer.sniffing",
- EntitySnifferSearching => "minecraft:entity.sniffer.searching",
- EntitySnifferDigging => "minecraft:entity.sniffer.digging",
- EntitySnifferDiggingStop => "minecraft:entity.sniffer.digging_stop",
- EntitySnifferHappy => "minecraft:entity.sniffer.happy",
- BlockSnifferEggPlop => "minecraft:block.sniffer_egg.plop",
- BlockSnifferEggCrack => "minecraft:block.sniffer_egg.crack",
- BlockSnifferEggHatch => "minecraft:block.sniffer_egg.hatch",
- EntitySnowballThrow => "minecraft:entity.snowball.throw",
- BlockSnowBreak => "minecraft:block.snow.break",
- BlockSnowFall => "minecraft:block.snow.fall",
- EntitySnowGolemAmbient => "minecraft:entity.snow_golem.ambient",
- EntitySnowGolemDeath => "minecraft:entity.snow_golem.death",
- EntitySnowGolemHurt => "minecraft:entity.snow_golem.hurt",
- EntitySnowGolemShoot => "minecraft:entity.snow_golem.shoot",
- EntitySnowGolemShear => "minecraft:entity.snow_golem.shear",
- BlockSnowHit => "minecraft:block.snow.hit",
- BlockSnowPlace => "minecraft:block.snow.place",
- BlockSnowStep => "minecraft:block.snow.step",
- EntitySpiderAmbient => "minecraft:entity.spider.ambient",
- EntitySpiderDeath => "minecraft:entity.spider.death",
- EntitySpiderHurt => "minecraft:entity.spider.hurt",
- EntitySpiderStep => "minecraft:entity.spider.step",
- EntitySplashPotionBreak => "minecraft:entity.splash_potion.break",
- EntitySplashPotionThrow => "minecraft:entity.splash_potion.throw",
- BlockSpongeBreak => "minecraft:block.sponge.break",
- BlockSpongeFall => "minecraft:block.sponge.fall",
- BlockSpongeHit => "minecraft:block.sponge.hit",
- BlockSpongePlace => "minecraft:block.sponge.place",
- BlockSpongeStep => "minecraft:block.sponge.step",
- BlockSpongeAbsorb => "minecraft:block.sponge.absorb",
- ItemSpyglassUse => "minecraft:item.spyglass.use",
- ItemSpyglassStopUsing => "minecraft:item.spyglass.stop_using",
- EntitySquidAmbient => "minecraft:entity.squid.ambient",
- EntitySquidDeath => "minecraft:entity.squid.death",
- EntitySquidHurt => "minecraft:entity.squid.hurt",
- EntitySquidSquirt => "minecraft:entity.squid.squirt",
- BlockStoneBreak => "minecraft:block.stone.break",
- BlockStoneButtonClickOff => "minecraft:block.stone_button.click_off",
- BlockStoneButtonClickOn => "minecraft:block.stone_button.click_on",
- BlockStoneFall => "minecraft:block.stone.fall",
- BlockStoneHit => "minecraft:block.stone.hit",
- BlockStonePlace => "minecraft:block.stone.place",
- BlockStonePressurePlateClickOff => "minecraft:block.stone_pressure_plate.click_off",
- BlockStonePressurePlateClickOn => "minecraft:block.stone_pressure_plate.click_on",
- BlockStoneStep => "minecraft:block.stone.step",
- EntityStrayAmbient => "minecraft:entity.stray.ambient",
- EntityStrayDeath => "minecraft:entity.stray.death",
- EntityStrayHurt => "minecraft:entity.stray.hurt",
- EntityStrayStep => "minecraft:entity.stray.step",
- BlockSweetBerryBushBreak => "minecraft:block.sweet_berry_bush.break",
- BlockSweetBerryBushPlace => "minecraft:block.sweet_berry_bush.place",
- BlockSweetBerryBushPickBerries => "minecraft:block.sweet_berry_bush.pick_berries",
- EntityTadpoleDeath => "minecraft:entity.tadpole.death",
- EntityTadpoleFlop => "minecraft:entity.tadpole.flop",
- EntityTadpoleGrowUp => "minecraft:entity.tadpole.grow_up",
- EntityTadpoleHurt => "minecraft:entity.tadpole.hurt",
- EnchantThornsHit => "minecraft:enchant.thorns.hit",
- EntityTntPrimed => "minecraft:entity.tnt.primed",
- ItemTotemUse => "minecraft:item.totem.use",
- ItemTridentHit => "minecraft:item.trident.hit",
- ItemTridentHitGround => "minecraft:item.trident.hit_ground",
- ItemTridentReturn => "minecraft:item.trident.return",
- ItemTridentRiptide1 => "minecraft:item.trident.riptide_1",
- ItemTridentRiptide2 => "minecraft:item.trident.riptide_2",
- ItemTridentRiptide3 => "minecraft:item.trident.riptide_3",
- ItemTridentThrow => "minecraft:item.trident.throw",
- ItemTridentThunder => "minecraft:item.trident.thunder",
- BlockTripwireAttach => "minecraft:block.tripwire.attach",
- BlockTripwireClickOff => "minecraft:block.tripwire.click_off",
- BlockTripwireClickOn => "minecraft:block.tripwire.click_on",
- BlockTripwireDetach => "minecraft:block.tripwire.detach",
- EntityTropicalFishAmbient => "minecraft:entity.tropical_fish.ambient",
- EntityTropicalFishDeath => "minecraft:entity.tropical_fish.death",
- EntityTropicalFishFlop => "minecraft:entity.tropical_fish.flop",
- EntityTropicalFishHurt => "minecraft:entity.tropical_fish.hurt",
- BlockTuffBreak => "minecraft:block.tuff.break",
- BlockTuffStep => "minecraft:block.tuff.step",
- BlockTuffPlace => "minecraft:block.tuff.place",
- BlockTuffHit => "minecraft:block.tuff.hit",
- BlockTuffFall => "minecraft:block.tuff.fall",
- BlockTuffBricksBreak => "minecraft:block.tuff_bricks.break",
- BlockTuffBricksFall => "minecraft:block.tuff_bricks.fall",
- BlockTuffBricksHit => "minecraft:block.tuff_bricks.hit",
- BlockTuffBricksPlace => "minecraft:block.tuff_bricks.place",
- BlockTuffBricksStep => "minecraft:block.tuff_bricks.step",
- BlockPolishedTuffBreak => "minecraft:block.polished_tuff.break",
- BlockPolishedTuffFall => "minecraft:block.polished_tuff.fall",
- BlockPolishedTuffHit => "minecraft:block.polished_tuff.hit",
- BlockPolishedTuffPlace => "minecraft:block.polished_tuff.place",
- BlockPolishedTuffStep => "minecraft:block.polished_tuff.step",
- EntityTurtleAmbientLand => "minecraft:entity.turtle.ambient_land",
- EntityTurtleDeath => "minecraft:entity.turtle.death",
- EntityTurtleDeathBaby => "minecraft:entity.turtle.death_baby",
- EntityTurtleEggBreak => "minecraft:entity.turtle.egg_break",
- EntityTurtleEggCrack => "minecraft:entity.turtle.egg_crack",
- EntityTurtleEggHatch => "minecraft:entity.turtle.egg_hatch",
- EntityTurtleHurt => "minecraft:entity.turtle.hurt",
- EntityTurtleHurtBaby => "minecraft:entity.turtle.hurt_baby",
- EntityTurtleLayEgg => "minecraft:entity.turtle.lay_egg",
- EntityTurtleShamble => "minecraft:entity.turtle.shamble",
- EntityTurtleShambleBaby => "minecraft:entity.turtle.shamble_baby",
- EntityTurtleSwim => "minecraft:entity.turtle.swim",
- UiButtonClick => "minecraft:ui.button.click",
- UiLoomSelectPattern => "minecraft:ui.loom.select_pattern",
- UiLoomTakeResult => "minecraft:ui.loom.take_result",
- UiCartographyTableTakeResult => "minecraft:ui.cartography_table.take_result",
- UiStonecutterTakeResult => "minecraft:ui.stonecutter.take_result",
- UiStonecutterSelectRecipe => "minecraft:ui.stonecutter.select_recipe",
- UiToastChallengeComplete => "minecraft:ui.toast.challenge_complete",
- UiToastIn => "minecraft:ui.toast.in",
- UiToastOut => "minecraft:ui.toast.out",
- BlockVaultActivate => "minecraft:block.vault.activate",
- BlockVaultAmbient => "minecraft:block.vault.ambient",
- BlockVaultBreak => "minecraft:block.vault.break",
- BlockVaultCloseShutter => "minecraft:block.vault.close_shutter",
- BlockVaultDeactivate => "minecraft:block.vault.deactivate",
- BlockVaultEjectItem => "minecraft:block.vault.eject_item",
- BlockVaultRejectRewardedPlayer => "minecraft:block.vault.reject_rewarded_player",
- BlockVaultFall => "minecraft:block.vault.fall",
- BlockVaultHit => "minecraft:block.vault.hit",
- BlockVaultInsertItem => "minecraft:block.vault.insert_item",
- BlockVaultInsertItemFail => "minecraft:block.vault.insert_item_fail",
- BlockVaultOpenShutter => "minecraft:block.vault.open_shutter",
- BlockVaultPlace => "minecraft:block.vault.place",
- BlockVaultStep => "minecraft:block.vault.step",
- EntityVexAmbient => "minecraft:entity.vex.ambient",
- EntityVexCharge => "minecraft:entity.vex.charge",
- EntityVexDeath => "minecraft:entity.vex.death",
- EntityVexHurt => "minecraft:entity.vex.hurt",
- EntityVillagerAmbient => "minecraft:entity.villager.ambient",
- EntityVillagerCelebrate => "minecraft:entity.villager.celebrate",
- EntityVillagerDeath => "minecraft:entity.villager.death",
- EntityVillagerHurt => "minecraft:entity.villager.hurt",
- EntityVillagerNo => "minecraft:entity.villager.no",
- EntityVillagerTrade => "minecraft:entity.villager.trade",
- EntityVillagerYes => "minecraft:entity.villager.yes",
- EntityVillagerWorkArmorer => "minecraft:entity.villager.work_armorer",
- EntityVillagerWorkButcher => "minecraft:entity.villager.work_butcher",
- EntityVillagerWorkCartographer => "minecraft:entity.villager.work_cartographer",
- EntityVillagerWorkCleric => "minecraft:entity.villager.work_cleric",
- EntityVillagerWorkFarmer => "minecraft:entity.villager.work_farmer",
- EntityVillagerWorkFisherman => "minecraft:entity.villager.work_fisherman",
- EntityVillagerWorkFletcher => "minecraft:entity.villager.work_fletcher",
- EntityVillagerWorkLeatherworker => "minecraft:entity.villager.work_leatherworker",
- EntityVillagerWorkLibrarian => "minecraft:entity.villager.work_librarian",
- EntityVillagerWorkMason => "minecraft:entity.villager.work_mason",
- EntityVillagerWorkShepherd => "minecraft:entity.villager.work_shepherd",
- EntityVillagerWorkToolsmith => "minecraft:entity.villager.work_toolsmith",
- EntityVillagerWorkWeaponsmith => "minecraft:entity.villager.work_weaponsmith",
- EntityVindicatorAmbient => "minecraft:entity.vindicator.ambient",
- EntityVindicatorCelebrate => "minecraft:entity.vindicator.celebrate",
- EntityVindicatorDeath => "minecraft:entity.vindicator.death",
- EntityVindicatorHurt => "minecraft:entity.vindicator.hurt",
- BlockVineBreak => "minecraft:block.vine.break",
- BlockVineFall => "minecraft:block.vine.fall",
- BlockVineHit => "minecraft:block.vine.hit",
- BlockVinePlace => "minecraft:block.vine.place",
- BlockVineStep => "minecraft:block.vine.step",
- BlockLilyPadPlace => "minecraft:block.lily_pad.place",
- EntityWanderingTraderAmbient => "minecraft:entity.wandering_trader.ambient",
- EntityWanderingTraderDeath => "minecraft:entity.wandering_trader.death",
- EntityWanderingTraderDisappeared => "minecraft:entity.wandering_trader.disappeared",
- EntityWanderingTraderDrinkMilk => "minecraft:entity.wandering_trader.drink_milk",
- EntityWanderingTraderDrinkPotion => "minecraft:entity.wandering_trader.drink_potion",
- EntityWanderingTraderHurt => "minecraft:entity.wandering_trader.hurt",
- EntityWanderingTraderNo => "minecraft:entity.wandering_trader.no",
- EntityWanderingTraderReappeared => "minecraft:entity.wandering_trader.reappeared",
- EntityWanderingTraderTrade => "minecraft:entity.wandering_trader.trade",
- EntityWanderingTraderYes => "minecraft:entity.wandering_trader.yes",
- EntityWardenAgitated => "minecraft:entity.warden.agitated",
- EntityWardenAmbient => "minecraft:entity.warden.ambient",
- EntityWardenAngry => "minecraft:entity.warden.angry",
- EntityWardenAttackImpact => "minecraft:entity.warden.attack_impact",
- EntityWardenDeath => "minecraft:entity.warden.death",
- EntityWardenDig => "minecraft:entity.warden.dig",
- EntityWardenEmerge => "minecraft:entity.warden.emerge",
- EntityWardenHeartbeat => "minecraft:entity.warden.heartbeat",
- EntityWardenHurt => "minecraft:entity.warden.hurt",
- EntityWardenListening => "minecraft:entity.warden.listening",
- EntityWardenListeningAngry => "minecraft:entity.warden.listening_angry",
- EntityWardenNearbyClose => "minecraft:entity.warden.nearby_close",
- EntityWardenNearbyCloser => "minecraft:entity.warden.nearby_closer",
- EntityWardenNearbyClosest => "minecraft:entity.warden.nearby_closest",
- EntityWardenRoar => "minecraft:entity.warden.roar",
- EntityWardenSniff => "minecraft:entity.warden.sniff",
- EntityWardenSonicBoom => "minecraft:entity.warden.sonic_boom",
- EntityWardenSonicCharge => "minecraft:entity.warden.sonic_charge",
- EntityWardenStep => "minecraft:entity.warden.step",
- EntityWardenTendrilClicks => "minecraft:entity.warden.tendril_clicks",
- BlockHangingSignWaxedInteractFail => "minecraft:block.hanging_sign.waxed_interact_fail",
- BlockSignWaxedInteractFail => "minecraft:block.sign.waxed_interact_fail",
- BlockWaterAmbient => "minecraft:block.water.ambient",
- WeatherEndFlash => "minecraft:weather.end_flash",
- WeatherRain => "minecraft:weather.rain",
- WeatherRainAbove => "minecraft:weather.rain.above",
- BlockWetGrassBreak => "minecraft:block.wet_grass.break",
- BlockWetGrassFall => "minecraft:block.wet_grass.fall",
- BlockWetGrassHit => "minecraft:block.wet_grass.hit",
- BlockWetGrassPlace => "minecraft:block.wet_grass.place",
- BlockWetGrassStep => "minecraft:block.wet_grass.step",
- BlockWetSpongeBreak => "minecraft:block.wet_sponge.break",
- BlockWetSpongeDries => "minecraft:block.wet_sponge.dries",
- BlockWetSpongeFall => "minecraft:block.wet_sponge.fall",
- BlockWetSpongeHit => "minecraft:block.wet_sponge.hit",
- BlockWetSpongePlace => "minecraft:block.wet_sponge.place",
- BlockWetSpongeStep => "minecraft:block.wet_sponge.step",
- EntityWindChargeWindBurst => "minecraft:entity.wind_charge.wind_burst",
- EntityWindChargeThrow => "minecraft:entity.wind_charge.throw",
- EntityWitchAmbient => "minecraft:entity.witch.ambient",
- EntityWitchCelebrate => "minecraft:entity.witch.celebrate",
- EntityWitchDeath => "minecraft:entity.witch.death",
- EntityWitchDrink => "minecraft:entity.witch.drink",
- EntityWitchHurt => "minecraft:entity.witch.hurt",
- EntityWitchThrow => "minecraft:entity.witch.throw",
- EntityWitherAmbient => "minecraft:entity.wither.ambient",
- EntityWitherBreakBlock => "minecraft:entity.wither.break_block",
- EntityWitherDeath => "minecraft:entity.wither.death",
- EntityWitherHurt => "minecraft:entity.wither.hurt",
- EntityWitherShoot => "minecraft:entity.wither.shoot",
- EntityWitherSkeletonAmbient => "minecraft:entity.wither_skeleton.ambient",
- EntityWitherSkeletonDeath => "minecraft:entity.wither_skeleton.death",
- EntityWitherSkeletonHurt => "minecraft:entity.wither_skeleton.hurt",
- EntityWitherSkeletonStep => "minecraft:entity.wither_skeleton.step",
- EntityWitherSpawn => "minecraft:entity.wither.spawn",
- ItemWolfArmorBreak => "minecraft:item.wolf_armor.break",
- ItemWolfArmorCrack => "minecraft:item.wolf_armor.crack",
- ItemWolfArmorDamage => "minecraft:item.wolf_armor.damage",
- ItemWolfArmorRepair => "minecraft:item.wolf_armor.repair",
- EntityWolfShake => "minecraft:entity.wolf.shake",
- EntityWolfStep => "minecraft:entity.wolf.step",
- EntityWolfAmbient => "minecraft:entity.wolf.ambient",
- EntityWolfDeath => "minecraft:entity.wolf.death",
- EntityWolfGrowl => "minecraft:entity.wolf.growl",
- EntityWolfHurt => "minecraft:entity.wolf.hurt",
- EntityWolfPant => "minecraft:entity.wolf.pant",
- EntityWolfWhine => "minecraft:entity.wolf.whine",
- EntityWolfPuglinAmbient => "minecraft:entity.wolf_puglin.ambient",
- EntityWolfPuglinDeath => "minecraft:entity.wolf_puglin.death",
- EntityWolfPuglinGrowl => "minecraft:entity.wolf_puglin.growl",
- EntityWolfPuglinHurt => "minecraft:entity.wolf_puglin.hurt",
- EntityWolfPuglinPant => "minecraft:entity.wolf_puglin.pant",
- EntityWolfPuglinWhine => "minecraft:entity.wolf_puglin.whine",
- EntityWolfSadAmbient => "minecraft:entity.wolf_sad.ambient",
- EntityWolfSadDeath => "minecraft:entity.wolf_sad.death",
- EntityWolfSadGrowl => "minecraft:entity.wolf_sad.growl",
- EntityWolfSadHurt => "minecraft:entity.wolf_sad.hurt",
- EntityWolfSadPant => "minecraft:entity.wolf_sad.pant",
- EntityWolfSadWhine => "minecraft:entity.wolf_sad.whine",
- EntityWolfAngryAmbient => "minecraft:entity.wolf_angry.ambient",
- EntityWolfAngryDeath => "minecraft:entity.wolf_angry.death",
- EntityWolfAngryGrowl => "minecraft:entity.wolf_angry.growl",
- EntityWolfAngryHurt => "minecraft:entity.wolf_angry.hurt",
- EntityWolfAngryPant => "minecraft:entity.wolf_angry.pant",
- EntityWolfAngryWhine => "minecraft:entity.wolf_angry.whine",
- EntityWolfGrumpyAmbient => "minecraft:entity.wolf_grumpy.ambient",
- EntityWolfGrumpyDeath => "minecraft:entity.wolf_grumpy.death",
- EntityWolfGrumpyGrowl => "minecraft:entity.wolf_grumpy.growl",
- EntityWolfGrumpyHurt => "minecraft:entity.wolf_grumpy.hurt",
- EntityWolfGrumpyPant => "minecraft:entity.wolf_grumpy.pant",
- EntityWolfGrumpyWhine => "minecraft:entity.wolf_grumpy.whine",
- EntityWolfBigAmbient => "minecraft:entity.wolf_big.ambient",
- EntityWolfBigDeath => "minecraft:entity.wolf_big.death",
- EntityWolfBigGrowl => "minecraft:entity.wolf_big.growl",
- EntityWolfBigHurt => "minecraft:entity.wolf_big.hurt",
- EntityWolfBigPant => "minecraft:entity.wolf_big.pant",
- EntityWolfBigWhine => "minecraft:entity.wolf_big.whine",
- EntityWolfCuteAmbient => "minecraft:entity.wolf_cute.ambient",
- EntityWolfCuteDeath => "minecraft:entity.wolf_cute.death",
- EntityWolfCuteGrowl => "minecraft:entity.wolf_cute.growl",
- EntityWolfCuteHurt => "minecraft:entity.wolf_cute.hurt",
- EntityWolfCutePant => "minecraft:entity.wolf_cute.pant",
- EntityWolfCuteWhine => "minecraft:entity.wolf_cute.whine",
- BlockWoodenDoorClose => "minecraft:block.wooden_door.close",
- BlockWoodenDoorOpen => "minecraft:block.wooden_door.open",
- BlockWoodenTrapdoorClose => "minecraft:block.wooden_trapdoor.close",
- BlockWoodenTrapdoorOpen => "minecraft:block.wooden_trapdoor.open",
- BlockWoodenButtonClickOff => "minecraft:block.wooden_button.click_off",
- BlockWoodenButtonClickOn => "minecraft:block.wooden_button.click_on",
- BlockWoodenPressurePlateClickOff => "minecraft:block.wooden_pressure_plate.click_off",
- BlockWoodenPressurePlateClickOn => "minecraft:block.wooden_pressure_plate.click_on",
- BlockWoodBreak => "minecraft:block.wood.break",
- BlockWoodFall => "minecraft:block.wood.fall",
- BlockWoodHit => "minecraft:block.wood.hit",
- BlockWoodPlace => "minecraft:block.wood.place",
- BlockWoodStep => "minecraft:block.wood.step",
- BlockWoolBreak => "minecraft:block.wool.break",
- BlockWoolFall => "minecraft:block.wool.fall",
- BlockWoolHit => "minecraft:block.wool.hit",
- BlockWoolPlace => "minecraft:block.wool.place",
- BlockWoolStep => "minecraft:block.wool.step",
- EntityZoglinAmbient => "minecraft:entity.zoglin.ambient",
- EntityZoglinAngry => "minecraft:entity.zoglin.angry",
- EntityZoglinAttack => "minecraft:entity.zoglin.attack",
- EntityZoglinDeath => "minecraft:entity.zoglin.death",
- EntityZoglinHurt => "minecraft:entity.zoglin.hurt",
- EntityZoglinStep => "minecraft:entity.zoglin.step",
- EntityZombieAmbient => "minecraft:entity.zombie.ambient",
- EntityZombieAttackWoodenDoor => "minecraft:entity.zombie.attack_wooden_door",
- EntityZombieAttackIronDoor => "minecraft:entity.zombie.attack_iron_door",
- EntityZombieBreakWoodenDoor => "minecraft:entity.zombie.break_wooden_door",
- EntityZombieConvertedToDrowned => "minecraft:entity.zombie.converted_to_drowned",
- EntityZombieDeath => "minecraft:entity.zombie.death",
- EntityZombieDestroyEgg => "minecraft:entity.zombie.destroy_egg",
- EntityZombieHorseAmbient => "minecraft:entity.zombie_horse.ambient",
- EntityZombieHorseAngry => "minecraft:entity.zombie_horse.angry",
- EntityZombieHorseDeath => "minecraft:entity.zombie_horse.death",
- EntityZombieHorseEat => "minecraft:entity.zombie_horse.eat",
- EntityZombieHorseHurt => "minecraft:entity.zombie_horse.hurt",
- EntityZombieHurt => "minecraft:entity.zombie.hurt",
- EntityZombieInfect => "minecraft:entity.zombie.infect",
- EntityZombieNautilusAmbient => "minecraft:entity.zombie_nautilus.ambient",
- EntityZombieNautilusAmbientLand => "minecraft:entity.zombie_nautilus.ambient_land",
- EntityZombieNautilusDash => "minecraft:entity.zombie_nautilus.dash",
- EntityZombieNautilusDashLand => "minecraft:entity.zombie_nautilus.dash_land",
- EntityZombieNautilusDashReady => "minecraft:entity.zombie_nautilus.dash_ready",
- EntityZombieNautilusDashReadyLand => "minecraft:entity.zombie_nautilus.dash_ready_land",
- EntityZombieNautilusDeath => "minecraft:entity.zombie_nautilus.death",
- EntityZombieNautilusDeathLand => "minecraft:entity.zombie_nautilus.death_land",
- EntityZombieNautilusEat => "minecraft:entity.zombie_nautilus.eat",
- EntityZombieNautilusHurt => "minecraft:entity.zombie_nautilus.hurt",
- EntityZombieNautilusHurtLand => "minecraft:entity.zombie_nautilus.hurt_land",
- EntityZombieNautilusSwim => "minecraft:entity.zombie_nautilus.swim",
- EntityZombifiedPiglinAmbient => "minecraft:entity.zombified_piglin.ambient",
- EntityZombifiedPiglinAngry => "minecraft:entity.zombified_piglin.angry",
- EntityZombifiedPiglinDeath => "minecraft:entity.zombified_piglin.death",
- EntityZombifiedPiglinHurt => "minecraft:entity.zombified_piglin.hurt",
- EntityZombieStep => "minecraft:entity.zombie.step",
- EntityZombieVillagerAmbient => "minecraft:entity.zombie_villager.ambient",
- EntityZombieVillagerConverted => "minecraft:entity.zombie_villager.converted",
- EntityZombieVillagerCure => "minecraft:entity.zombie_villager.cure",
- EntityZombieVillagerDeath => "minecraft:entity.zombie_villager.death",
- EntityZombieVillagerHurt => "minecraft:entity.zombie_villager.hurt",
- EntityZombieVillagerStep => "minecraft:entity.zombie_villager.step",
- EventMobEffectBadOmen => "minecraft:event.mob_effect.bad_omen",
- EventMobEffectTrialOmen => "minecraft:event.mob_effect.trial_omen",
- EventMobEffectRaidOmen => "minecraft:event.mob_effect.raid_omen",
- ItemSaddleUnequip => "minecraft:item.saddle.unequip",
- ItemNautilusSaddleUnderwaterEquip => "minecraft:item.nautilus_saddle_underwater_equip",
- ItemNautilusSaddleEquip => "minecraft:item.nautilus_saddle_equip",
-}
-}
-
-registry! {
-enum StatKind {
- Mined => "minecraft:mined",
- Crafted => "minecraft:crafted",
- Used => "minecraft:used",
- Broken => "minecraft:broken",
- PickedUp => "minecraft:picked_up",
- Dropped => "minecraft:dropped",
- Killed => "minecraft:killed",
- KilledBy => "minecraft:killed_by",
- Custom => "minecraft:custom",
-}
-}
-
-registry! {
-enum VillagerProfession {
- None => "minecraft:none",
- Armorer => "minecraft:armorer",
- Butcher => "minecraft:butcher",
- Cartographer => "minecraft:cartographer",
- Cleric => "minecraft:cleric",
- Farmer => "minecraft:farmer",
- Fisherman => "minecraft:fisherman",
- Fletcher => "minecraft:fletcher",
- Leatherworker => "minecraft:leatherworker",
- Librarian => "minecraft:librarian",
- Mason => "minecraft:mason",
- Nitwit => "minecraft:nitwit",
- Shepherd => "minecraft:shepherd",
- Toolsmith => "minecraft:toolsmith",
- Weaponsmith => "minecraft:weaponsmith",
-}
-}
-
-registry! {
-enum VillagerKind {
- Desert => "minecraft:desert",
- Jungle => "minecraft:jungle",
- Plains => "minecraft:plains",
- Savanna => "minecraft:savanna",
- Snow => "minecraft:snow",
- Swamp => "minecraft:swamp",
- Taiga => "minecraft:taiga",
-}
-}
-
-registry! {
-enum WorldgenBiomeSource {
- Fixed => "minecraft:fixed",
- MultiNoise => "minecraft:multi_noise",
- Checkerboard => "minecraft:checkerboard",
- TheEnd => "minecraft:the_end",
-}
-}
-
-registry! {
-enum WorldgenBlockStateProviderKind {
- SimpleStateProvider => "minecraft:simple_state_provider",
- WeightedStateProvider => "minecraft:weighted_state_provider",
- NoiseThresholdProvider => "minecraft:noise_threshold_provider",
- NoiseProvider => "minecraft:noise_provider",
- DualNoiseProvider => "minecraft:dual_noise_provider",
- RotatedBlockProvider => "minecraft:rotated_block_provider",
- RandomizedIntStateProvider => "minecraft:randomized_int_state_provider",
-}
-}
-
-registry! {
-enum WorldgenCarver {
- Cave => "minecraft:cave",
- NetherCave => "minecraft:nether_cave",
- Canyon => "minecraft:canyon",
-}
-}
-
-registry! {
-enum WorldgenChunkGenerator {
- Noise => "minecraft:noise",
- Flat => "minecraft:flat",
- Debug => "minecraft:debug",
-}
-}
-
-registry! {
-enum WorldgenDensityFunctionKind {
- BlendAlpha => "minecraft:blend_alpha",
- BlendOffset => "minecraft:blend_offset",
- Beardifier => "minecraft:beardifier",
- OldBlendedNoise => "minecraft:old_blended_noise",
- Interpolated => "minecraft:interpolated",
- FlatCache => "minecraft:flat_cache",
- Cache2d => "minecraft:cache_2d",
- CacheOnce => "minecraft:cache_once",
- CacheAllInCell => "minecraft:cache_all_in_cell",
- Noise => "minecraft:noise",
- EndIslands => "minecraft:end_islands",
- WeirdScaledSampler => "minecraft:weird_scaled_sampler",
- ShiftedNoise => "minecraft:shifted_noise",
- RangeChoice => "minecraft:range_choice",
- ShiftA => "minecraft:shift_a",
- ShiftB => "minecraft:shift_b",
- Shift => "minecraft:shift",
- BlendDensity => "minecraft:blend_density",
- Clamp => "minecraft:clamp",
- Abs => "minecraft:abs",
- Square => "minecraft:square",
- Cube => "minecraft:cube",
- HalfNegative => "minecraft:half_negative",
- QuarterNegative => "minecraft:quarter_negative",
- Invert => "minecraft:invert",
- Squeeze => "minecraft:squeeze",
- Add => "minecraft:add",
- Mul => "minecraft:mul",
- Min => "minecraft:min",
- Max => "minecraft:max",
- Spline => "minecraft:spline",
- Constant => "minecraft:constant",
- YClampedGradient => "minecraft:y_clamped_gradient",
- FindTopSurface => "minecraft:find_top_surface",
-}
-}
-
-registry! {
-enum WorldgenFeature {
- NoOp => "minecraft:no_op",
- Tree => "minecraft:tree",
- FallenTree => "minecraft:fallen_tree",
- Flower => "minecraft:flower",
- NoBonemealFlower => "minecraft:no_bonemeal_flower",
- RandomPatch => "minecraft:random_patch",
- BlockPile => "minecraft:block_pile",
- SpringFeature => "minecraft:spring_feature",
- ChorusPlant => "minecraft:chorus_plant",
- ReplaceSingleBlock => "minecraft:replace_single_block",
- VoidStartPlatform => "minecraft:void_start_platform",
- DesertWell => "minecraft:desert_well",
- Fossil => "minecraft:fossil",
- HugeRedMushroom => "minecraft:huge_red_mushroom",
- HugeBrownMushroom => "minecraft:huge_brown_mushroom",
- IceSpike => "minecraft:ice_spike",
- GlowstoneBlob => "minecraft:glowstone_blob",
- FreezeTopLayer => "minecraft:freeze_top_layer",
- Vines => "minecraft:vines",
- BlockColumn => "minecraft:block_column",
- VegetationPatch => "minecraft:vegetation_patch",
- WaterloggedVegetationPatch => "minecraft:waterlogged_vegetation_patch",
- RootSystem => "minecraft:root_system",
- MultifaceGrowth => "minecraft:multiface_growth",
- UnderwaterMagma => "minecraft:underwater_magma",
- MonsterRoom => "minecraft:monster_room",
- BlueIce => "minecraft:blue_ice",
- Iceberg => "minecraft:iceberg",
- ForestRock => "minecraft:forest_rock",
- Disk => "minecraft:disk",
- Lake => "minecraft:lake",
- Ore => "minecraft:ore",
- EndPlatform => "minecraft:end_platform",
- EndSpike => "minecraft:end_spike",
- EndIsland => "minecraft:end_island",
- EndGateway => "minecraft:end_gateway",
- Seagrass => "minecraft:seagrass",
- Kelp => "minecraft:kelp",
- CoralTree => "minecraft:coral_tree",
- CoralMushroom => "minecraft:coral_mushroom",
- CoralClaw => "minecraft:coral_claw",
- SeaPickle => "minecraft:sea_pickle",
- SimpleBlock => "minecraft:simple_block",
- Bamboo => "minecraft:bamboo",
- HugeFungus => "minecraft:huge_fungus",
- NetherForestVegetation => "minecraft:nether_forest_vegetation",
- WeepingVines => "minecraft:weeping_vines",
- TwistingVines => "minecraft:twisting_vines",
- BasaltColumns => "minecraft:basalt_columns",
- DeltaFeature => "minecraft:delta_feature",
- NetherrackReplaceBlobs => "minecraft:netherrack_replace_blobs",
- FillLayer => "minecraft:fill_layer",
- BonusChest => "minecraft:bonus_chest",
- BasaltPillar => "minecraft:basalt_pillar",
- ScatteredOre => "minecraft:scattered_ore",
- RandomSelector => "minecraft:random_selector",
- SimpleRandomSelector => "minecraft:simple_random_selector",
- RandomBooleanSelector => "minecraft:random_boolean_selector",
- Geode => "minecraft:geode",
- DripstoneCluster => "minecraft:dripstone_cluster",
- LargeDripstone => "minecraft:large_dripstone",
- PointedDripstone => "minecraft:pointed_dripstone",
- SculkPatch => "minecraft:sculk_patch",
-}
-}
-
-registry! {
-enum WorldgenFeatureSizeKind {
- TwoLayersFeatureSize => "minecraft:two_layers_feature_size",
- ThreeLayersFeatureSize => "minecraft:three_layers_feature_size",
-}
-}
-
-registry! {
-enum WorldgenFoliagePlacerKind {
- BlobFoliagePlacer => "minecraft:blob_foliage_placer",
- SpruceFoliagePlacer => "minecraft:spruce_foliage_placer",
- PineFoliagePlacer => "minecraft:pine_foliage_placer",
- AcaciaFoliagePlacer => "minecraft:acacia_foliage_placer",
- BushFoliagePlacer => "minecraft:bush_foliage_placer",
- FancyFoliagePlacer => "minecraft:fancy_foliage_placer",
- JungleFoliagePlacer => "minecraft:jungle_foliage_placer",
- MegaPineFoliagePlacer => "minecraft:mega_pine_foliage_placer",
- DarkOakFoliagePlacer => "minecraft:dark_oak_foliage_placer",
- RandomSpreadFoliagePlacer => "minecraft:random_spread_foliage_placer",
- CherryFoliagePlacer => "minecraft:cherry_foliage_placer",
-}
-}
-
-registry! {
-enum WorldgenMaterialCondition {
- Biome => "minecraft:biome",
- NoiseThreshold => "minecraft:noise_threshold",
- VerticalGradient => "minecraft:vertical_gradient",
- YAbove => "minecraft:y_above",
- Water => "minecraft:water",
- Temperature => "minecraft:temperature",
- Steep => "minecraft:steep",
- Not => "minecraft:not",
- Hole => "minecraft:hole",
- AbovePreliminarySurface => "minecraft:above_preliminary_surface",
- StoneDepth => "minecraft:stone_depth",
-}
-}
-
-registry! {
-enum WorldgenMaterialRule {
- Bandlands => "minecraft:bandlands",
- Block => "minecraft:block",
- Sequence => "minecraft:sequence",
- Condition => "minecraft:condition",
-}
-}
-
-registry! {
-enum WorldgenPlacementModifierKind {
- BlockPredicateFilter => "minecraft:block_predicate_filter",
- RarityFilter => "minecraft:rarity_filter",
- SurfaceRelativeThresholdFilter => "minecraft:surface_relative_threshold_filter",
- SurfaceWaterDepthFilter => "minecraft:surface_water_depth_filter",
- Biome => "minecraft:biome",
- Count => "minecraft:count",
- NoiseBasedCount => "minecraft:noise_based_count",
- NoiseThresholdCount => "minecraft:noise_threshold_count",
- CountOnEveryLayer => "minecraft:count_on_every_layer",
- EnvironmentScan => "minecraft:environment_scan",
- Heightmap => "minecraft:heightmap",
- HeightRange => "minecraft:height_range",
- InSquare => "minecraft:in_square",
- RandomOffset => "minecraft:random_offset",
- FixedPlacement => "minecraft:fixed_placement",
-}
-}
-
-registry! {
-enum WorldgenRootPlacerKind {
- MangroveRootPlacer => "minecraft:mangrove_root_placer",
-}
-}
-
-registry! {
-enum WorldgenStructurePiece {
- Mscorridor => "minecraft:mscorridor",
- Mscrossing => "minecraft:mscrossing",
- Msroom => "minecraft:msroom",
- Msstairs => "minecraft:msstairs",
- Nebcr => "minecraft:nebcr",
- Nebef => "minecraft:nebef",
- Nebs => "minecraft:nebs",
- Neccs => "minecraft:neccs",
- Nectb => "minecraft:nectb",
- Nece => "minecraft:nece",
- Nescsc => "minecraft:nescsc",
- Nesclt => "minecraft:nesclt",
- Nesc => "minecraft:nesc",
- Nescrt => "minecraft:nescrt",
- Necsr => "minecraft:necsr",
- Nemt => "minecraft:nemt",
- Nerc => "minecraft:nerc",
- Nesr => "minecraft:nesr",
- Nestart => "minecraft:nestart",
- Shcc => "minecraft:shcc",
- Shfc => "minecraft:shfc",
- Sh5c => "minecraft:sh5c",
- Shlt => "minecraft:shlt",
- Shli => "minecraft:shli",
- Shpr => "minecraft:shpr",
- Shph => "minecraft:shph",
- Shrt => "minecraft:shrt",
- Shrc => "minecraft:shrc",
- Shsd => "minecraft:shsd",
- Shstart => "minecraft:shstart",
- Shs => "minecraft:shs",
- Shssd => "minecraft:shssd",
- Tejp => "minecraft:tejp",
- Orp => "minecraft:orp",
- Iglu => "minecraft:iglu",
- Rupo => "minecraft:rupo",
- Tesh => "minecraft:tesh",
- Tedp => "minecraft:tedp",
- Omb => "minecraft:omb",
- Omcr => "minecraft:omcr",
- Omdxr => "minecraft:omdxr",
- Omdxyr => "minecraft:omdxyr",
- Omdyr => "minecraft:omdyr",
- Omdyzr => "minecraft:omdyzr",
- Omdzr => "minecraft:omdzr",
- Omentry => "minecraft:omentry",
- Ompenthouse => "minecraft:ompenthouse",
- Omsimple => "minecraft:omsimple",
- Omsimplet => "minecraft:omsimplet",
- Omwr => "minecraft:omwr",
- Ecp => "minecraft:ecp",
- Wmp => "minecraft:wmp",
- Btp => "minecraft:btp",
- Shipwreck => "minecraft:shipwreck",
- Nefos => "minecraft:nefos",
- Jigsaw => "minecraft:jigsaw",
-}
-}
-
-registry! {
-enum WorldgenStructurePlacement {
- RandomSpread => "minecraft:random_spread",
- ConcentricRings => "minecraft:concentric_rings",
-}
-}
-
-registry! {
-enum WorldgenStructurePoolElement {
- SinglePoolElement => "minecraft:single_pool_element",
- ListPoolElement => "minecraft:list_pool_element",
- FeaturePoolElement => "minecraft:feature_pool_element",
- EmptyPoolElement => "minecraft:empty_pool_element",
- LegacySinglePoolElement => "minecraft:legacy_single_pool_element",
-}
-}
-
-registry! {
-enum WorldgenStructureProcessor {
- BlockIgnore => "minecraft:block_ignore",
- BlockRot => "minecraft:block_rot",
- Gravity => "minecraft:gravity",
- JigsawReplacement => "minecraft:jigsaw_replacement",
- Rule => "minecraft:rule",
- Nop => "minecraft:nop",
- BlockAge => "minecraft:block_age",
- BlackstoneReplace => "minecraft:blackstone_replace",
- LavaSubmergedBlock => "minecraft:lava_submerged_block",
- ProtectedBlocks => "minecraft:protected_blocks",
- Capped => "minecraft:capped",
-}
-}
-
-registry! {
-enum WorldgenStructureKind {
- BuriedTreasure => "minecraft:buried_treasure",
- DesertPyramid => "minecraft:desert_pyramid",
- EndCity => "minecraft:end_city",
- Fortress => "minecraft:fortress",
- Igloo => "minecraft:igloo",
- Jigsaw => "minecraft:jigsaw",
- JungleTemple => "minecraft:jungle_temple",
- Mineshaft => "minecraft:mineshaft",
- NetherFossil => "minecraft:nether_fossil",
- OceanMonument => "minecraft:ocean_monument",
- OceanRuin => "minecraft:ocean_ruin",
- RuinedPortal => "minecraft:ruined_portal",
- Shipwreck => "minecraft:shipwreck",
- Stronghold => "minecraft:stronghold",
- SwampHut => "minecraft:swamp_hut",
- WoodlandMansion => "minecraft:woodland_mansion",
-}
-}
-
-registry! {
-enum WorldgenTreeDecoratorKind {
- TrunkVine => "minecraft:trunk_vine",
- LeaveVine => "minecraft:leave_vine",
- PaleMoss => "minecraft:pale_moss",
- CreakingHeart => "minecraft:creaking_heart",
- Cocoa => "minecraft:cocoa",
- Beehive => "minecraft:beehive",
- AlterGround => "minecraft:alter_ground",
- AttachedToLeaves => "minecraft:attached_to_leaves",
- PlaceOnGround => "minecraft:place_on_ground",
- AttachedToLogs => "minecraft:attached_to_logs",
-}
-}
-
-registry! {
-enum WorldgenTrunkPlacerKind {
- StraightTrunkPlacer => "minecraft:straight_trunk_placer",
- ForkingTrunkPlacer => "minecraft:forking_trunk_placer",
- GiantTrunkPlacer => "minecraft:giant_trunk_placer",
- MegaJungleTrunkPlacer => "minecraft:mega_jungle_trunk_placer",
- DarkOakTrunkPlacer => "minecraft:dark_oak_trunk_placer",
- FancyTrunkPlacer => "minecraft:fancy_trunk_placer",
- BendingTrunkPlacer => "minecraft:bending_trunk_placer",
- UpwardsBranchingTrunkPlacer => "minecraft:upwards_branching_trunk_placer",
- CherryTrunkPlacer => "minecraft:cherry_trunk_placer",
-}
-}
-
-registry! {
-enum RuleBlockEntityModifier {
- Clear => "minecraft:clear",
- Passthrough => "minecraft:passthrough",
- AppendStatic => "minecraft:append_static",
- AppendLoot => "minecraft:append_loot",
-}
-}
-
-registry! {
-enum CreativeModeTab {
- BuildingBlocks => "minecraft:building_blocks",
- ColoredBlocks => "minecraft:colored_blocks",
- NaturalBlocks => "minecraft:natural_blocks",
- FunctionalBlocks => "minecraft:functional_blocks",
- RedstoneBlocks => "minecraft:redstone_blocks",
- Hotbar => "minecraft:hotbar",
- Search => "minecraft:search",
- ToolsAndUtilities => "minecraft:tools_and_utilities",
- Combat => "minecraft:combat",
- FoodAndDrinks => "minecraft:food_and_drinks",
- Ingredients => "minecraft:ingredients",
- SpawnEggs => "minecraft:spawn_eggs",
- OpBlocks => "minecraft:op_blocks",
- Inventory => "minecraft:inventory",
-}
-}
-
-registry! {
-enum MenuKind {
- Generic9x1 => "minecraft:generic_9x1",
- Generic9x2 => "minecraft:generic_9x2",
- Generic9x3 => "minecraft:generic_9x3",
- Generic9x4 => "minecraft:generic_9x4",
- Generic9x5 => "minecraft:generic_9x5",
- Generic9x6 => "minecraft:generic_9x6",
- Generic3x3 => "minecraft:generic_3x3",
- Crafter3x3 => "minecraft:crafter_3x3",
- Anvil => "minecraft:anvil",
- Beacon => "minecraft:beacon",
- BlastFurnace => "minecraft:blast_furnace",
- BrewingStand => "minecraft:brewing_stand",
- Crafting => "minecraft:crafting",
- Enchantment => "minecraft:enchantment",
- Furnace => "minecraft:furnace",
- Grindstone => "minecraft:grindstone",
- Hopper => "minecraft:hopper",
- Lectern => "minecraft:lectern",
- Loom => "minecraft:loom",
- Merchant => "minecraft:merchant",
- ShulkerBox => "minecraft:shulker_box",
- Smithing => "minecraft:smithing",
- Smoker => "minecraft:smoker",
- CartographyTable => "minecraft:cartography_table",
- Stonecutter => "minecraft:stonecutter",
-}
-}
-
-registry! {
-enum BlockKind {
- Block => "minecraft:block",
- Air => "minecraft:air",
- Amethyst => "minecraft:amethyst",
- AmethystCluster => "minecraft:amethyst_cluster",
- Anvil => "minecraft:anvil",
- AttachedStem => "minecraft:attached_stem",
- Azalea => "minecraft:azalea",
- BambooSapling => "minecraft:bamboo_sapling",
- BambooStalk => "minecraft:bamboo_stalk",
- Banner => "minecraft:banner",
- Barrel => "minecraft:barrel",
- Barrier => "minecraft:barrier",
- BaseCoralFan => "minecraft:base_coral_fan",
- BaseCoralPlant => "minecraft:base_coral_plant",
- BaseCoralWallFan => "minecraft:base_coral_wall_fan",
- Beacon => "minecraft:beacon",
- Bed => "minecraft:bed",
- Beehive => "minecraft:beehive",
- Beetroot => "minecraft:beetroot",
- Bell => "minecraft:bell",
- BigDripleaf => "minecraft:big_dripleaf",
- BigDripleafStem => "minecraft:big_dripleaf_stem",
- BlastFurnace => "minecraft:blast_furnace",
- BrewingStand => "minecraft:brewing_stand",
- Brushable => "minecraft:brushable",
- BubbleColumn => "minecraft:bubble_column",
- BuddingAmethyst => "minecraft:budding_amethyst",
- Bush => "minecraft:bush",
- Button => "minecraft:button",
- Cactus => "minecraft:cactus",
- CactusFlower => "minecraft:cactus_flower",
- Cake => "minecraft:cake",
- CalibratedSculkSensor => "minecraft:calibrated_sculk_sensor",
- Campfire => "minecraft:campfire",
- CandleCake => "minecraft:candle_cake",
- Candle => "minecraft:candle",
- Carpet => "minecraft:carpet",
- Carrot => "minecraft:carrot",
- CartographyTable => "minecraft:cartography_table",
- Cauldron => "minecraft:cauldron",
- CaveVines => "minecraft:cave_vines",
- CaveVinesPlant => "minecraft:cave_vines_plant",
- CeilingHangingSign => "minecraft:ceiling_hanging_sign",
- Chain => "minecraft:chain",
- Chest => "minecraft:chest",
- ChiseledBookShelf => "minecraft:chiseled_book_shelf",
- ChorusFlower => "minecraft:chorus_flower",
- ChorusPlant => "minecraft:chorus_plant",
- Cocoa => "minecraft:cocoa",
- ColoredFalling => "minecraft:colored_falling",
- Command => "minecraft:command",
- Comparator => "minecraft:comparator",
- Composter => "minecraft:composter",
- ConcretePowder => "minecraft:concrete_powder",
- Conduit => "minecraft:conduit",
- CopperBulbBlock => "minecraft:copper_bulb_block",
- CopperChest => "minecraft:copper_chest",
- CopperGolemStatue => "minecraft:copper_golem_statue",
- Coral => "minecraft:coral",
- CoralFan => "minecraft:coral_fan",
- CoralPlant => "minecraft:coral_plant",
- CoralWallFan => "minecraft:coral_wall_fan",
- Crafter => "minecraft:crafter",
- CraftingTable => "minecraft:crafting_table",
- Crop => "minecraft:crop",
- CryingObsidian => "minecraft:crying_obsidian",
- DaylightDetector => "minecraft:daylight_detector",
- DryVegetation => "minecraft:dry_vegetation",
- DecoratedPot => "minecraft:decorated_pot",
- DetectorRail => "minecraft:detector_rail",
- DirtPath => "minecraft:dirt_path",
- Dispenser => "minecraft:dispenser",
- Door => "minecraft:door",
- DoublePlant => "minecraft:double_plant",
- DragonEgg => "minecraft:dragon_egg",
- DriedGhast => "minecraft:dried_ghast",
- DropExperience => "minecraft:drop_experience",
- Dropper => "minecraft:dropper",
- EnchantmentTable => "minecraft:enchantment_table",
- EnderChest => "minecraft:ender_chest",
- EndGateway => "minecraft:end_gateway",
- EndPortal => "minecraft:end_portal",
- EndPortalFrame => "minecraft:end_portal_frame",
- EndRod => "minecraft:end_rod",
- Eyeblossom => "minecraft:eyeblossom",
- Farm => "minecraft:farm",
- BonemealableFeaturePlacer => "minecraft:bonemealable_feature_placer",
- Fence => "minecraft:fence",
- FenceGate => "minecraft:fence_gate",
- Fire => "minecraft:fire",
- FireflyBush => "minecraft:firefly_bush",
- Flower => "minecraft:flower",
- FlowerPot => "minecraft:flower_pot",
- Frogspawn => "minecraft:frogspawn",
- FrostedIce => "minecraft:frosted_ice",
- Fungus => "minecraft:fungus",
- Furnace => "minecraft:furnace",
- GlazedTerracotta => "minecraft:glazed_terracotta",
- GlowLichen => "minecraft:glow_lichen",
- Grass => "minecraft:grass",
- Grindstone => "minecraft:grindstone",
- HalfTransparent => "minecraft:half_transparent",
- HangingMoss => "minecraft:hanging_moss",
- HangingRoots => "minecraft:hanging_roots",
- Hay => "minecraft:hay",
- HeavyCore => "minecraft:heavy_core",
- Honey => "minecraft:honey",
- Hopper => "minecraft:hopper",
- HugeMushroom => "minecraft:huge_mushroom",
- Ice => "minecraft:ice",
- Infested => "minecraft:infested",
- InfestedRotatedPillar => "minecraft:infested_rotated_pillar",
- IronBars => "minecraft:iron_bars",
- JackOLantern => "minecraft:jack_o_lantern",
- Jigsaw => "minecraft:jigsaw",
- Jukebox => "minecraft:jukebox",
- Kelp => "minecraft:kelp",
- KelpPlant => "minecraft:kelp_plant",
- Ladder => "minecraft:ladder",
- Lantern => "minecraft:lantern",
- LavaCauldron => "minecraft:lava_cauldron",
- LayeredCauldron => "minecraft:layered_cauldron",
- LeafLitter => "minecraft:leaf_litter",
- Lectern => "minecraft:lectern",
- Lever => "minecraft:lever",
- Light => "minecraft:light",
- LightningRod => "minecraft:lightning_rod",
- Liquid => "minecraft:liquid",
- Loom => "minecraft:loom",
- Magma => "minecraft:magma",
- MangroveLeaves => "minecraft:mangrove_leaves",
- MangrovePropagule => "minecraft:mangrove_propagule",
- MangroveRoots => "minecraft:mangrove_roots",
- MossyCarpet => "minecraft:mossy_carpet",
- MovingPiston => "minecraft:moving_piston",
- Mud => "minecraft:mud",
- Multiface => "minecraft:multiface",
- Mushroom => "minecraft:mushroom",
- Mycelium => "minecraft:mycelium",
- NetherPortal => "minecraft:nether_portal",
- Netherrack => "minecraft:netherrack",
- NetherSprouts => "minecraft:nether_sprouts",
- NetherWart => "minecraft:nether_wart",
- Note => "minecraft:note",
- Nylium => "minecraft:nylium",
- Observer => "minecraft:observer",
- Piglinwallskull => "minecraft:piglinwallskull",
- FlowerBed => "minecraft:flower_bed",
- PistonBase => "minecraft:piston_base",
- PistonHead => "minecraft:piston_head",
- PitcherCrop => "minecraft:pitcher_crop",
- PlayerHead => "minecraft:player_head",
- PlayerWallHead => "minecraft:player_wall_head",
- PointedDripstone => "minecraft:pointed_dripstone",
- Potato => "minecraft:potato",
- PowderSnow => "minecraft:powder_snow",
- Powered => "minecraft:powered",
- PoweredRail => "minecraft:powered_rail",
- PressurePlate => "minecraft:pressure_plate",
- Pumpkin => "minecraft:pumpkin",
- Rail => "minecraft:rail",
- RedstoneLamp => "minecraft:redstone_lamp",
- RedstoneOre => "minecraft:redstone_ore",
- RedstoneTorch => "minecraft:redstone_torch",
- RedstoneWallTorch => "minecraft:redstone_wall_torch",
- RedstoneWire => "minecraft:redstone_wire",
- Repeater => "minecraft:repeater",
- RespawnAnchor => "minecraft:respawn_anchor",
- RootedDirt => "minecraft:rooted_dirt",
- Roots => "minecraft:roots",
- RotatedPillar => "minecraft:rotated_pillar",
- Sapling => "minecraft:sapling",
- Sand => "minecraft:sand",
- Scaffolding => "minecraft:scaffolding",
- SculkCatalyst => "minecraft:sculk_catalyst",
- Sculk => "minecraft:sculk",
- SculkSensor => "minecraft:sculk_sensor",
- SculkShrieker => "minecraft:sculk_shrieker",
- SculkVein => "minecraft:sculk_vein",
- Seagrass => "minecraft:seagrass",
- SeaPickle => "minecraft:sea_pickle",
- Shelf => "minecraft:shelf",
- ShortDryGrass => "minecraft:short_dry_grass",
- ShulkerBox => "minecraft:shulker_box",
- Skull => "minecraft:skull",
- Slab => "minecraft:slab",
- Slime => "minecraft:slime",
- SmallDripleaf => "minecraft:small_dripleaf",
- SmithingTable => "minecraft:smithing_table",
- Smoker => "minecraft:smoker",
- SnifferEgg => "minecraft:sniffer_egg",
- SnowLayer => "minecraft:snow_layer",
- SnowyDirt => "minecraft:snowy_dirt",
- SoulFire => "minecraft:soul_fire",
- SoulSand => "minecraft:soul_sand",
- Spawner => "minecraft:spawner",
- CreakingHeart => "minecraft:creaking_heart",
- Sponge => "minecraft:sponge",
- SporeBlossom => "minecraft:spore_blossom",
- StainedGlassPane => "minecraft:stained_glass_pane",
- StainedGlass => "minecraft:stained_glass",
- Stair => "minecraft:stair",
- StandingSign => "minecraft:standing_sign",
- Stem => "minecraft:stem",
- Stonecutter => "minecraft:stonecutter",
- Structure => "minecraft:structure",
- StructureVoid => "minecraft:structure_void",
- SugarCane => "minecraft:sugar_cane",
- SweetBerryBush => "minecraft:sweet_berry_bush",
- TallDryGrass => "minecraft:tall_dry_grass",
- TallFlower => "minecraft:tall_flower",
- TallGrass => "minecraft:tall_grass",
- TallSeagrass => "minecraft:tall_seagrass",
- Target => "minecraft:target",
- Test => "minecraft:test",
- TestInstance => "minecraft:test_instance",
- TintedGlass => "minecraft:tinted_glass",
- TintedParticleLeaves => "minecraft:tinted_particle_leaves",
- Tnt => "minecraft:tnt",
- TorchflowerCrop => "minecraft:torchflower_crop",
- Torch => "minecraft:torch",
- Transparent => "minecraft:transparent",
- Trapdoor => "minecraft:trapdoor",
- TrappedChest => "minecraft:trapped_chest",
- TrialSpawner => "minecraft:trial_spawner",
- TripWireHook => "minecraft:trip_wire_hook",
- Tripwire => "minecraft:tripwire",
- TurtleEgg => "minecraft:turtle_egg",
- TwistingVinesPlant => "minecraft:twisting_vines_plant",
- TwistingVines => "minecraft:twisting_vines",
- UntintedParticleLeaves => "minecraft:untinted_particle_leaves",
- Vault => "minecraft:vault",
- Vine => "minecraft:vine",
- WallBanner => "minecraft:wall_banner",
- WallHangingSign => "minecraft:wall_hanging_sign",
- WallSign => "minecraft:wall_sign",
- WallSkull => "minecraft:wall_skull",
- WallTorch => "minecraft:wall_torch",
- Wall => "minecraft:wall",
- Waterlily => "minecraft:waterlily",
- WaterloggedTransparent => "minecraft:waterlogged_transparent",
- WeatheringCopperBar => "minecraft:weathering_copper_bar",
- WeatheringCopperBulb => "minecraft:weathering_copper_bulb",
- WeatheringCopperChain => "minecraft:weathering_copper_chain",
- WeatheringCopperChest => "minecraft:weathering_copper_chest",
- WeatheringCopperDoor => "minecraft:weathering_copper_door",
- WeatheringCopperFull => "minecraft:weathering_copper_full",
- WeatheringCopperGolemStatue => "minecraft:weathering_copper_golem_statue",
- WeatheringCopperGrate => "minecraft:weathering_copper_grate",
- WeatheringCopperSlab => "minecraft:weathering_copper_slab",
- WeatheringCopperStair => "minecraft:weathering_copper_stair",
- WeatheringCopperTrapDoor => "minecraft:weathering_copper_trap_door",
- WeatheringLantern => "minecraft:weathering_lantern",
- WeatheringLightningRod => "minecraft:weathering_lightning_rod",
- Web => "minecraft:web",
- WeepingVinesPlant => "minecraft:weeping_vines_plant",
- WeepingVines => "minecraft:weeping_vines",
- WeightedPressurePlate => "minecraft:weighted_pressure_plate",
- WetSponge => "minecraft:wet_sponge",
- WitherRose => "minecraft:wither_rose",
- WitherSkull => "minecraft:wither_skull",
- WitherWallSkull => "minecraft:wither_wall_skull",
- WoolCarpet => "minecraft:wool_carpet",
-}
-}
-
-registry! {
-enum WorldgenPoolAliasBinding {
- Random => "minecraft:random",
- RandomGroup => "minecraft:random_group",
- Direct => "minecraft:direct",
-}
-}
-
-registry! {
-enum TriggerKind {
- Impossible => "minecraft:impossible",
- PlayerKilledEntity => "minecraft:player_killed_entity",
- EntityKilledPlayer => "minecraft:entity_killed_player",
- EnterBlock => "minecraft:enter_block",
- InventoryChanged => "minecraft:inventory_changed",
- RecipeUnlocked => "minecraft:recipe_unlocked",
- PlayerHurtEntity => "minecraft:player_hurt_entity",
- EntityHurtPlayer => "minecraft:entity_hurt_player",
- EnchantedItem => "minecraft:enchanted_item",
- FilledBucket => "minecraft:filled_bucket",
- BrewedPotion => "minecraft:brewed_potion",
- ConstructBeacon => "minecraft:construct_beacon",
- UsedEnderEye => "minecraft:used_ender_eye",
- SummonedEntity => "minecraft:summoned_entity",
- BredAnimals => "minecraft:bred_animals",
- Location => "minecraft:location",
- SleptInBed => "minecraft:slept_in_bed",
- CuredZombieVillager => "minecraft:cured_zombie_villager",
- VillagerTrade => "minecraft:villager_trade",
- ItemDurabilityChanged => "minecraft:item_durability_changed",
- Levitation => "minecraft:levitation",
- ChangedDimension => "minecraft:changed_dimension",
- Tick => "minecraft:tick",
- TameAnimal => "minecraft:tame_animal",
- PlacedBlock => "minecraft:placed_block",
- ConsumeItem => "minecraft:consume_item",
- EffectsChanged => "minecraft:effects_changed",
- UsedTotem => "minecraft:used_totem",
- NetherTravel => "minecraft:nether_travel",
- FishingRodHooked => "minecraft:fishing_rod_hooked",
- ChanneledLightning => "minecraft:channeled_lightning",
- ShotCrossbow => "minecraft:shot_crossbow",
- SpearMobs => "minecraft:spear_mobs",
- KilledByArrow => "minecraft:killed_by_arrow",
- HeroOfTheVillage => "minecraft:hero_of_the_village",
- VoluntaryExile => "minecraft:voluntary_exile",
- SlideDownBlock => "minecraft:slide_down_block",
- BeeNestDestroyed => "minecraft:bee_nest_destroyed",
- TargetHit => "minecraft:target_hit",
- ItemUsedOnBlock => "minecraft:item_used_on_block",
- DefaultBlockUse => "minecraft:default_block_use",
- AnyBlockUse => "minecraft:any_block_use",
- PlayerGeneratesContainerLoot => "minecraft:player_generates_container_loot",
- ThrownItemPickedUpByEntity => "minecraft:thrown_item_picked_up_by_entity",
- ThrownItemPickedUpByPlayer => "minecraft:thrown_item_picked_up_by_player",
- PlayerInteractedWithEntity => "minecraft:player_interacted_with_entity",
- PlayerShearedEquipment => "minecraft:player_sheared_equipment",
- StartedRiding => "minecraft:started_riding",
- LightningStrike => "minecraft:lightning_strike",
- UsingItem => "minecraft:using_item",
- FallFromHeight => "minecraft:fall_from_height",
- RideEntityInLava => "minecraft:ride_entity_in_lava",
- KillMobNearSculkCatalyst => "minecraft:kill_mob_near_sculk_catalyst",
- AllayDropItemOnBlock => "minecraft:allay_drop_item_on_block",
- AvoidVibration => "minecraft:avoid_vibration",
- RecipeCrafted => "minecraft:recipe_crafted",
- CrafterRecipeCrafted => "minecraft:crafter_recipe_crafted",
- FallAfterExplosion => "minecraft:fall_after_explosion",
-}
-}
-
-registry! {
-enum NumberFormatKind {
- Blank => "minecraft:blank",
- Styled => "minecraft:styled",
- Fixed => "minecraft:fixed",
-}
-}
-
-registry! {
-enum DataComponentKind {
- CustomData => "minecraft:custom_data",
- MaxStackSize => "minecraft:max_stack_size",
- MaxDamage => "minecraft:max_damage",
- Damage => "minecraft:damage",
- Unbreakable => "minecraft:unbreakable",
- UseEffects => "minecraft:use_effects",
- CustomName => "minecraft:custom_name",
- MinimumAttackCharge => "minecraft:minimum_attack_charge",
- DamageType => "minecraft:damage_type",
- ItemName => "minecraft:item_name",
- ItemModel => "minecraft:item_model",
- Lore => "minecraft:lore",
- Rarity => "minecraft:rarity",
- Enchantments => "minecraft:enchantments",
- CanPlaceOn => "minecraft:can_place_on",
- CanBreak => "minecraft:can_break",
- AttributeModifiers => "minecraft:attribute_modifiers",
- CustomModelData => "minecraft:custom_model_data",
- TooltipDisplay => "minecraft:tooltip_display",
- RepairCost => "minecraft:repair_cost",
- CreativeSlotLock => "minecraft:creative_slot_lock",
- EnchantmentGlintOverride => "minecraft:enchantment_glint_override",
- IntangibleProjectile => "minecraft:intangible_projectile",
- Food => "minecraft:food",
- Consumable => "minecraft:consumable",
- UseRemainder => "minecraft:use_remainder",
- UseCooldown => "minecraft:use_cooldown",
- DamageResistant => "minecraft:damage_resistant",
- Tool => "minecraft:tool",
- Weapon => "minecraft:weapon",
- AttackRange => "minecraft:attack_range",
- Enchantable => "minecraft:enchantable",
- Equippable => "minecraft:equippable",
- Repairable => "minecraft:repairable",
- Glider => "minecraft:glider",
- TooltipStyle => "minecraft:tooltip_style",
- DeathProtection => "minecraft:death_protection",
- BlocksAttacks => "minecraft:blocks_attacks",
- PiercingWeapon => "minecraft:piercing_weapon",
- KineticWeapon => "minecraft:kinetic_weapon",
- SwingAnimation => "minecraft:swing_animation",
- StoredEnchantments => "minecraft:stored_enchantments",
- DyedColor => "minecraft:dyed_color",
- MapColor => "minecraft:map_color",
- MapId => "minecraft:map_id",
- MapDecorations => "minecraft:map_decorations",
- MapPostProcessing => "minecraft:map_post_processing",
- ChargedProjectiles => "minecraft:charged_projectiles",
- BundleContents => "minecraft:bundle_contents",
- PotionContents => "minecraft:potion_contents",
- PotionDurationScale => "minecraft:potion_duration_scale",
- SuspiciousStewEffects => "minecraft:suspicious_stew_effects",
- WritableBookContent => "minecraft:writable_book_content",
- WrittenBookContent => "minecraft:written_book_content",
- Trim => "minecraft:trim",
- DebugStickState => "minecraft:debug_stick_state",
- EntityData => "minecraft:entity_data",
- BucketEntityData => "minecraft:bucket_entity_data",
- BlockEntityData => "minecraft:block_entity_data",
- Instrument => "minecraft:instrument",
- ProvidesTrimMaterial => "minecraft:provides_trim_material",
- OminousBottleAmplifier => "minecraft:ominous_bottle_amplifier",
- JukeboxPlayable => "minecraft:jukebox_playable",
- ProvidesBannerPatterns => "minecraft:provides_banner_patterns",
- Recipes => "minecraft:recipes",
- LodestoneTracker => "minecraft:lodestone_tracker",
- FireworkExplosion => "minecraft:firework_explosion",
- Fireworks => "minecraft:fireworks",
- Profile => "minecraft:profile",
- NoteBlockSound => "minecraft:note_block_sound",
- BannerPatterns => "minecraft:banner_patterns",
- BaseColor => "minecraft:base_color",
- PotDecorations => "minecraft:pot_decorations",
- Container => "minecraft:container",
- BlockState => "minecraft:block_state",
- Bees => "minecraft:bees",
- Lock => "minecraft:lock",
- ContainerLoot => "minecraft:container_loot",
- BreakSound => "minecraft:break_sound",
- VillagerVariant => "minecraft:villager/variant",
- WolfVariant => "minecraft:wolf/variant",
- WolfSoundVariant => "minecraft:wolf/sound_variant",
- WolfCollar => "minecraft:wolf/collar",
- FoxVariant => "minecraft:fox/variant",
- SalmonSize => "minecraft:salmon/size",
- ParrotVariant => "minecraft:parrot/variant",
- TropicalFishPattern => "minecraft:tropical_fish/pattern",
- TropicalFishBaseColor => "minecraft:tropical_fish/base_color",
- TropicalFishPatternColor => "minecraft:tropical_fish/pattern_color",
- MooshroomVariant => "minecraft:mooshroom/variant",
- RabbitVariant => "minecraft:rabbit/variant",
- PigVariant => "minecraft:pig/variant",
- CowVariant => "minecraft:cow/variant",
- ChickenVariant => "minecraft:chicken/variant",
- ZombieNautilusVariant => "minecraft:zombie_nautilus/variant",
- FrogVariant => "minecraft:frog/variant",
- HorseVariant => "minecraft:horse/variant",
- PaintingVariant => "minecraft:painting/variant",
- LlamaVariant => "minecraft:llama/variant",
- AxolotlVariant => "minecraft:axolotl/variant",
- CatVariant => "minecraft:cat/variant",
- CatCollar => "minecraft:cat/collar",
- SheepColor => "minecraft:sheep/color",
- ShulkerColor => "minecraft:shulker/color",
-}
-}
-
-registry! {
-enum EntitySubPredicateKind {
- Lightning => "minecraft:lightning",
- FishingHook => "minecraft:fishing_hook",
- Player => "minecraft:player",
- Slime => "minecraft:slime",
- Raider => "minecraft:raider",
- Sheep => "minecraft:sheep",
-}
-}
-
-registry! {
-enum MapDecorationKind {
- Player => "minecraft:player",
- Frame => "minecraft:frame",
- RedMarker => "minecraft:red_marker",
- BlueMarker => "minecraft:blue_marker",
- TargetX => "minecraft:target_x",
- TargetPoint => "minecraft:target_point",
- PlayerOffMap => "minecraft:player_off_map",
- PlayerOffLimits => "minecraft:player_off_limits",
- Mansion => "minecraft:mansion",
- Monument => "minecraft:monument",
- BannerWhite => "minecraft:banner_white",
- BannerOrange => "minecraft:banner_orange",
- BannerMagenta => "minecraft:banner_magenta",
- BannerLightBlue => "minecraft:banner_light_blue",
- BannerYellow => "minecraft:banner_yellow",
- BannerLime => "minecraft:banner_lime",
- BannerPink => "minecraft:banner_pink",
- BannerGray => "minecraft:banner_gray",
- BannerLightGray => "minecraft:banner_light_gray",
- BannerCyan => "minecraft:banner_cyan",
- BannerPurple => "minecraft:banner_purple",
- BannerBlue => "minecraft:banner_blue",
- BannerBrown => "minecraft:banner_brown",
- BannerGreen => "minecraft:banner_green",
- BannerRed => "minecraft:banner_red",
- BannerBlack => "minecraft:banner_black",
- RedX => "minecraft:red_x",
- VillageDesert => "minecraft:village_desert",
- VillagePlains => "minecraft:village_plains",
- VillageSavanna => "minecraft:village_savanna",
- VillageSnowy => "minecraft:village_snowy",
- VillageTaiga => "minecraft:village_taiga",
- JungleTemple => "minecraft:jungle_temple",
- SwampHut => "minecraft:swamp_hut",
- TrialChambers => "minecraft:trial_chambers",
-}
-}
-
-registry! {
-enum EnchantmentEffectComponentKind {
- DamageProtection => "minecraft:damage_protection",
- DamageImmunity => "minecraft:damage_immunity",
- Damage => "minecraft:damage",
- SmashDamagePerFallenBlock => "minecraft:smash_damage_per_fallen_block",
- Knockback => "minecraft:knockback",
- ArmorEffectiveness => "minecraft:armor_effectiveness",
- PostAttack => "minecraft:post_attack",
- PostPiercingAttack => "minecraft:post_piercing_attack",
- HitBlock => "minecraft:hit_block",
- ItemDamage => "minecraft:item_damage",
- Attributes => "minecraft:attributes",
- EquipmentDrops => "minecraft:equipment_drops",
- LocationChanged => "minecraft:location_changed",
- Tick => "minecraft:tick",
- AmmoUse => "minecraft:ammo_use",
- ProjectilePiercing => "minecraft:projectile_piercing",
- ProjectileSpawned => "minecraft:projectile_spawned",
- ProjectileSpread => "minecraft:projectile_spread",
- ProjectileCount => "minecraft:projectile_count",
- TridentReturnAcceleration => "minecraft:trident_return_acceleration",
- FishingTimeReduction => "minecraft:fishing_time_reduction",
- FishingLuckBonus => "minecraft:fishing_luck_bonus",
- BlockExperience => "minecraft:block_experience",
- MobExperience => "minecraft:mob_experience",
- RepairWithXp => "minecraft:repair_with_xp",
- CrossbowChargeTime => "minecraft:crossbow_charge_time",
- CrossbowChargingSounds => "minecraft:crossbow_charging_sounds",
- TridentSound => "minecraft:trident_sound",
- PreventEquipmentDrop => "minecraft:prevent_equipment_drop",
- PreventArmorChange => "minecraft:prevent_armor_change",
- TridentSpinAttackStrength => "minecraft:trident_spin_attack_strength",
-}
-}
-
-registry! {
-enum EnchantmentEntityEffectKind {
- AllOf => "minecraft:all_of",
- ApplyMobEffect => "minecraft:apply_mob_effect",
- ChangeItemDamage => "minecraft:change_item_damage",
- DamageEntity => "minecraft:damage_entity",
- Explode => "minecraft:explode",
- Ignite => "minecraft:ignite",
- ApplyImpulse => "minecraft:apply_impulse",
- ApplyExhaustion => "minecraft:apply_exhaustion",
- PlaySound => "minecraft:play_sound",
- ReplaceBlock => "minecraft:replace_block",
- ReplaceDisk => "minecraft:replace_disk",
- RunFunction => "minecraft:run_function",
- SetBlockProperties => "minecraft:set_block_properties",
- SpawnParticles => "minecraft:spawn_particles",
- SummonEntity => "minecraft:summon_entity",
-}
-}
-
-registry! {
-enum EnchantmentLevelBasedValueKind {
- Clamped => "minecraft:clamped",
- Fraction => "minecraft:fraction",
- LevelsSquared => "minecraft:levels_squared",
- Linear => "minecraft:linear",
- Exponent => "minecraft:exponent",
- Lookup => "minecraft:lookup",
-}
-}
-
-registry! {
-enum EnchantmentLocationBasedEffectKind {
- AllOf => "minecraft:all_of",
- ApplyMobEffect => "minecraft:apply_mob_effect",
- Attribute => "minecraft:attribute",
- ChangeItemDamage => "minecraft:change_item_damage",
- DamageEntity => "minecraft:damage_entity",
- Explode => "minecraft:explode",
- Ignite => "minecraft:ignite",
- ApplyImpulse => "minecraft:apply_impulse",
- ApplyExhaustion => "minecraft:apply_exhaustion",
- PlaySound => "minecraft:play_sound",
- ReplaceBlock => "minecraft:replace_block",
- ReplaceDisk => "minecraft:replace_disk",
- RunFunction => "minecraft:run_function",
- SetBlockProperties => "minecraft:set_block_properties",
- SpawnParticles => "minecraft:spawn_particles",
- SummonEntity => "minecraft:summon_entity",
-}
-}
-
-registry! {
-enum EnchantmentProviderKind {
- ByCost => "minecraft:by_cost",
- ByCostWithDifficulty => "minecraft:by_cost_with_difficulty",
- Single => "minecraft:single",
-}
-}
-
-registry! {
-enum EnchantmentValueEffectKind {
- Add => "minecraft:add",
- AllOf => "minecraft:all_of",
- Multiply => "minecraft:multiply",
- RemoveBinomial => "minecraft:remove_binomial",
- Exponential => "minecraft:exponential",
- Set => "minecraft:set",
-}
-}
-
-registry! {
-enum DecoratedPotPattern {
- Angler => "minecraft:angler",
- Archer => "minecraft:archer",
- ArmsUp => "minecraft:arms_up",
- Blade => "minecraft:blade",
- Brewer => "minecraft:brewer",
- Burn => "minecraft:burn",
- Danger => "minecraft:danger",
- Explorer => "minecraft:explorer",
- Flow => "minecraft:flow",
- Friend => "minecraft:friend",
- Guster => "minecraft:guster",
- Heart => "minecraft:heart",
- Heartbreak => "minecraft:heartbreak",
- Howl => "minecraft:howl",
- Miner => "minecraft:miner",
- Mourner => "minecraft:mourner",
- Plenty => "minecraft:plenty",
- Prize => "minecraft:prize",
- Scrape => "minecraft:scrape",
- Sheaf => "minecraft:sheaf",
- Shelter => "minecraft:shelter",
- Skull => "minecraft:skull",
- Snort => "minecraft:snort",
- Blank => "minecraft:blank",
-}
-}
-
-registry! {
-enum ConsumeEffectKind {
- ApplyEffects => "minecraft:apply_effects",
- RemoveEffects => "minecraft:remove_effects",
- ClearAllEffects => "minecraft:clear_all_effects",
- TeleportRandomly => "minecraft:teleport_randomly",
- PlaySound => "minecraft:play_sound",
-}
-}
-
-registry! {
-enum RecipeBookCategory {
- CraftingBuildingBlocks => "minecraft:crafting_building_blocks",
- CraftingRedstone => "minecraft:crafting_redstone",
- CraftingEquipment => "minecraft:crafting_equipment",
- CraftingMisc => "minecraft:crafting_misc",
- FurnaceFood => "minecraft:furnace_food",
- FurnaceBlocks => "minecraft:furnace_blocks",
- FurnaceMisc => "minecraft:furnace_misc",
- BlastFurnaceBlocks => "minecraft:blast_furnace_blocks",
- BlastFurnaceMisc => "minecraft:blast_furnace_misc",
- SmokerFood => "minecraft:smoker_food",
- Stonecutter => "minecraft:stonecutter",
- Smithing => "minecraft:smithing",
- Campfire => "minecraft:campfire",
-}
-}
-
-registry! {
-enum RecipeDisplay {
- CraftingShapeless => "minecraft:crafting_shapeless",
- CraftingShaped => "minecraft:crafting_shaped",
- Furnace => "minecraft:furnace",
- Stonecutter => "minecraft:stonecutter",
- Smithing => "minecraft:smithing",
-}
-}
-
-registry! {
-enum SlotDisplay {
- Empty => "minecraft:empty",
- AnyFuel => "minecraft:any_fuel",
- Item => "minecraft:item",
- ItemStack => "minecraft:item_stack",
- Tag => "minecraft:tag",
- SmithingTrim => "minecraft:smithing_trim",
- WithRemainder => "minecraft:with_remainder",
- Composite => "minecraft:composite",
-}
-}
-
-registry! {
-enum TicketKind {
- PlayerSpawn => "minecraft:player_spawn",
- SpawnSearch => "minecraft:spawn_search",
- Dragon => "minecraft:dragon",
- PlayerLoading => "minecraft:player_loading",
- PlayerSimulation => "minecraft:player_simulation",
- Forced => "minecraft:forced",
- Portal => "minecraft:portal",
- EnderPearl => "minecraft:ender_pearl",
- Unknown => "minecraft:unknown",
-}
-}
-
-registry! {
-enum TestEnvironmentDefinitionKind {
- AllOf => "minecraft:all_of",
- GameRules => "minecraft:game_rules",
- TimeOfDay => "minecraft:time_of_day",
- Weather => "minecraft:weather",
- Function => "minecraft:function",
-}
-}
-
-registry! {
-enum TestFunction {
- AlwaysPass => "minecraft:always_pass",
-}
-}
-
-registry! {
-enum TestInstanceKind {
- BlockBased => "minecraft:block_based",
- Function => "minecraft:function",
-}
-}
-
-registry! {
-enum DataComponentPredicateKind {
- Damage => "minecraft:damage",
- Enchantments => "minecraft:enchantments",
- StoredEnchantments => "minecraft:stored_enchantments",
- PotionContents => "minecraft:potion_contents",
- CustomData => "minecraft:custom_data",
- Container => "minecraft:container",
- BundleContents => "minecraft:bundle_contents",
- FireworkExplosion => "minecraft:firework_explosion",
- Fireworks => "minecraft:fireworks",
- WritableBookContent => "minecraft:writable_book_content",
- WrittenBookContent => "minecraft:written_book_content",
- AttributeModifiers => "minecraft:attribute_modifiers",
- Trim => "minecraft:trim",
- JukeboxPlayable => "minecraft:jukebox_playable",
-}
-}
-
-registry! {
-enum SpawnConditionKind {
- Structure => "minecraft:structure",
- MoonBrightness => "minecraft:moon_brightness",
- Biome => "minecraft:biome",
-}
-}
-
-registry! {
-enum DialogBodyKind {
- Item => "minecraft:item",
- PlainMessage => "minecraft:plain_message",
-}
-}
-
-registry! {
-enum DialogKind {
- Notice => "minecraft:notice",
- ServerLinks => "minecraft:server_links",
- DialogList => "minecraft:dialog_list",
- MultiAction => "minecraft:multi_action",
- Confirmation => "minecraft:confirmation",
-}
-}
-
-registry! {
-enum InputControlKind {
- Boolean => "minecraft:boolean",
- NumberRange => "minecraft:number_range",
- SingleOption => "minecraft:single_option",
- Text => "minecraft:text",
-}
-}
-
-registry! {
-enum DialogActionKind {
- OpenUrl => "minecraft:open_url",
- RunCommand => "minecraft:run_command",
- SuggestCommand => "minecraft:suggest_command",
- ShowDialog => "minecraft:show_dialog",
- ChangePage => "minecraft:change_page",
- CopyToClipboard => "minecraft:copy_to_clipboard",
- Custom => "minecraft:custom",
- DynamicRunCommand => "minecraft:dynamic/run_command",
- DynamicCustom => "minecraft:dynamic/custom",
-}
-}
-
-registry! {
-enum DebugSubscription {
- DedicatedServerTickTime => "minecraft:dedicated_server_tick_time",
- Bees => "minecraft:bees",
- Brains => "minecraft:brains",
- Breezes => "minecraft:breezes",
- GoalSelectors => "minecraft:goal_selectors",
- EntityPaths => "minecraft:entity_paths",
- EntityBlockIntersections => "minecraft:entity_block_intersections",
- BeeHives => "minecraft:bee_hives",
- Pois => "minecraft:pois",
- RedstoneWireOrientations => "minecraft:redstone_wire_orientations",
- VillageSections => "minecraft:village_sections",
- Raids => "minecraft:raids",
- Structures => "minecraft:structures",
- GameEventListeners => "minecraft:game_event_listeners",
- NeighborUpdates => "minecraft:neighbor_updates",
- GameEvents => "minecraft:game_events",
-}
-}
-
-registry! {
-enum IncomingRpcMethods {
- Allowlist => "minecraft:allowlist",
- AllowlistSet => "minecraft:allowlist/set",
- AllowlistAdd => "minecraft:allowlist/add",
- AllowlistRemove => "minecraft:allowlist/remove",
- AllowlistClear => "minecraft:allowlist/clear",
- Bans => "minecraft:bans",
- BansSet => "minecraft:bans/set",
- BansAdd => "minecraft:bans/add",
- BansRemove => "minecraft:bans/remove",
- BansClear => "minecraft:bans/clear",
- IpBans => "minecraft:ip_bans",
- IpBansSet => "minecraft:ip_bans/set",
- IpBansAdd => "minecraft:ip_bans/add",
- IpBansRemove => "minecraft:ip_bans/remove",
- IpBansClear => "minecraft:ip_bans/clear",
- Players => "minecraft:players",
- PlayersKick => "minecraft:players/kick",
- Operators => "minecraft:operators",
- OperatorsSet => "minecraft:operators/set",
- OperatorsAdd => "minecraft:operators/add",
- OperatorsRemove => "minecraft:operators/remove",
- OperatorsClear => "minecraft:operators/clear",
- ServerStatus => "minecraft:server/status",
- ServerSave => "minecraft:server/save",
- ServerStop => "minecraft:server/stop",
- ServerSystemMessage => "minecraft:server/system_message",
- ServersettingsAutosave => "minecraft:serversettings/autosave",
- ServersettingsAutosaveSet => "minecraft:serversettings/autosave/set",
- ServersettingsDifficulty => "minecraft:serversettings/difficulty",
- ServersettingsDifficultySet => "minecraft:serversettings/difficulty/set",
- ServersettingsEnforceAllowlist => "minecraft:serversettings/enforce_allowlist",
- ServersettingsEnforceAllowlistSet => "minecraft:serversettings/enforce_allowlist/set",
- ServersettingsUseAllowlist => "minecraft:serversettings/use_allowlist",
- ServersettingsUseAllowlistSet => "minecraft:serversettings/use_allowlist/set",
- ServersettingsMaxPlayers => "minecraft:serversettings/max_players",
- ServersettingsMaxPlayersSet => "minecraft:serversettings/max_players/set",
- ServersettingsPauseWhenEmptySeconds => "minecraft:serversettings/pause_when_empty_seconds",
- ServersettingsPauseWhenEmptySecondsSet => "minecraft:serversettings/pause_when_empty_seconds/set",
- ServersettingsPlayerIdleTimeout => "minecraft:serversettings/player_idle_timeout",
- ServersettingsPlayerIdleTimeoutSet => "minecraft:serversettings/player_idle_timeout/set",
- ServersettingsAllowFlight => "minecraft:serversettings/allow_flight",
- ServersettingsAllowFlightSet => "minecraft:serversettings/allow_flight/set",
- ServersettingsMotd => "minecraft:serversettings/motd",
- ServersettingsMotdSet => "minecraft:serversettings/motd/set",
- ServersettingsSpawnProtectionRadius => "minecraft:serversettings/spawn_protection_radius",
- ServersettingsSpawnProtectionRadiusSet => "minecraft:serversettings/spawn_protection_radius/set",
- ServersettingsForceGameMode => "minecraft:serversettings/force_game_mode",
- ServersettingsForceGameModeSet => "minecraft:serversettings/force_game_mode/set",
- ServersettingsGameMode => "minecraft:serversettings/game_mode",
- ServersettingsGameModeSet => "minecraft:serversettings/game_mode/set",
- ServersettingsViewDistance => "minecraft:serversettings/view_distance",
- ServersettingsViewDistanceSet => "minecraft:serversettings/view_distance/set",
- ServersettingsSimulationDistance => "minecraft:serversettings/simulation_distance",
- ServersettingsSimulationDistanceSet => "minecraft:serversettings/simulation_distance/set",
- ServersettingsAcceptTransfers => "minecraft:serversettings/accept_transfers",
- ServersettingsAcceptTransfersSet => "minecraft:serversettings/accept_transfers/set",
- ServersettingsStatusHeartbeatInterval => "minecraft:serversettings/status_heartbeat_interval",
- ServersettingsStatusHeartbeatIntervalSet => "minecraft:serversettings/status_heartbeat_interval/set",
- ServersettingsOperatorUserPermissionLevel => "minecraft:serversettings/operator_user_permission_level",
- ServersettingsOperatorUserPermissionLevelSet => "minecraft:serversettings/operator_user_permission_level/set",
- ServersettingsHideOnlinePlayers => "minecraft:serversettings/hide_online_players",
- ServersettingsHideOnlinePlayersSet => "minecraft:serversettings/hide_online_players/set",
- ServersettingsStatusReplies => "minecraft:serversettings/status_replies",
- ServersettingsStatusRepliesSet => "minecraft:serversettings/status_replies/set",
- ServersettingsEntityBroadcastRange => "minecraft:serversettings/entity_broadcast_range",
- ServersettingsEntityBroadcastRangeSet => "minecraft:serversettings/entity_broadcast_range/set",
- Gamerules => "minecraft:gamerules",
- GamerulesUpdate => "minecraft:gamerules/update",
- RpcDiscover => "minecraft:rpc.discover",
-}
-}
-
-registry! {
-enum OutgoingRpcMethods {
- NotificationServerStarted => "minecraft:notification/server/started",
- NotificationServerStopping => "minecraft:notification/server/stopping",
- NotificationServerSaving => "minecraft:notification/server/saving",
- NotificationServerSaved => "minecraft:notification/server/saved",
- NotificationServerActivity => "minecraft:notification/server/activity",
- NotificationPlayersJoined => "minecraft:notification/players/joined",
- NotificationPlayersLeft => "minecraft:notification/players/left",
- NotificationOperatorsAdded => "minecraft:notification/operators/added",
- NotificationOperatorsRemoved => "minecraft:notification/operators/removed",
- NotificationAllowlistAdded => "minecraft:notification/allowlist/added",
- NotificationAllowlistRemoved => "minecraft:notification/allowlist/removed",
- NotificationIpBansAdded => "minecraft:notification/ip_bans/added",
- NotificationIpBansRemoved => "minecraft:notification/ip_bans/removed",
- NotificationBansAdded => "minecraft:notification/bans/added",
- NotificationBansRemoved => "minecraft:notification/bans/removed",
- NotificationGamerulesUpdated => "minecraft:notification/gamerules/updated",
- NotificationServerStatus => "minecraft:notification/server/status",
-}
-}
-
-registry! {
-enum AttributeKind {
- Boolean => "minecraft:boolean",
- TriState => "minecraft:tri_state",
- Float => "minecraft:float",
- AngleDegrees => "minecraft:angle_degrees",
- RgbColor => "minecraft:rgb_color",
- ArgbColor => "minecraft:argb_color",
- MoonPhase => "minecraft:moon_phase",
- Activity => "minecraft:activity",
- BedRule => "minecraft:bed_rule",
- Particle => "minecraft:particle",
- AmbientParticles => "minecraft:ambient_particles",
- BackgroundMusic => "minecraft:background_music",
- AmbientSounds => "minecraft:ambient_sounds",
-}
-}
-
-registry! {
-enum EnvironmentAttribute {
- VisualFogColor => "minecraft:visual/fog_color",
- VisualFogStartDistance => "minecraft:visual/fog_start_distance",
- VisualFogEndDistance => "minecraft:visual/fog_end_distance",
- VisualSkyFogEndDistance => "minecraft:visual/sky_fog_end_distance",
- VisualCloudFogEndDistance => "minecraft:visual/cloud_fog_end_distance",
- VisualWaterFogColor => "minecraft:visual/water_fog_color",
- VisualWaterFogStartDistance => "minecraft:visual/water_fog_start_distance",
- VisualWaterFogEndDistance => "minecraft:visual/water_fog_end_distance",
- VisualSkyColor => "minecraft:visual/sky_color",
- VisualSunriseSunsetColor => "minecraft:visual/sunrise_sunset_color",
- VisualCloudColor => "minecraft:visual/cloud_color",
- VisualCloudHeight => "minecraft:visual/cloud_height",
- VisualSunAngle => "minecraft:visual/sun_angle",
- VisualMoonAngle => "minecraft:visual/moon_angle",
- VisualStarAngle => "minecraft:visual/star_angle",
- VisualMoonPhase => "minecraft:visual/moon_phase",
- VisualStarBrightness => "minecraft:visual/star_brightness",
- VisualSkyLightColor => "minecraft:visual/sky_light_color",
- VisualSkyLightFactor => "minecraft:visual/sky_light_factor",
- VisualDefaultDripstoneParticle => "minecraft:visual/default_dripstone_particle",
- VisualAmbientParticles => "minecraft:visual/ambient_particles",
- AudioBackgroundMusic => "minecraft:audio/background_music",
- AudioMusicVolume => "minecraft:audio/music_volume",
- AudioAmbientSounds => "minecraft:audio/ambient_sounds",
- AudioFireflyBushSounds => "minecraft:audio/firefly_bush_sounds",
- GameplaySkyLightLevel => "minecraft:gameplay/sky_light_level",
- GameplayCanStartRaid => "minecraft:gameplay/can_start_raid",
- GameplayWaterEvaporates => "minecraft:gameplay/water_evaporates",
- GameplayBedRule => "minecraft:gameplay/bed_rule",
- GameplayRespawnAnchorWorks => "minecraft:gameplay/respawn_anchor_works",
- GameplayNetherPortalSpawnsPiglin => "minecraft:gameplay/nether_portal_spawns_piglin",
- GameplayFastLava => "minecraft:gameplay/fast_lava",
- GameplayIncreasedFireBurnout => "minecraft:gameplay/increased_fire_burnout",
- GameplayEyeblossomOpen => "minecraft:gameplay/eyeblossom_open",
- GameplayTurtleEggHatchChance => "minecraft:gameplay/turtle_egg_hatch_chance",
- GameplayPiglinsZombify => "minecraft:gameplay/piglins_zombify",
- GameplaySnowGolemMelts => "minecraft:gameplay/snow_golem_melts",
- GameplayCreakingActive => "minecraft:gameplay/creaking_active",
- GameplaySurfaceSlimeSpawnChance => "minecraft:gameplay/surface_slime_spawn_chance",
- GameplayCatWakingUpGiftChance => "minecraft:gameplay/cat_waking_up_gift_chance",
- GameplayBeesStayInHive => "minecraft:gameplay/bees_stay_in_hive",
- GameplayMonstersBurn => "minecraft:gameplay/monsters_burn",
- GameplayCanPillagerPatrolSpawn => "minecraft:gameplay/can_pillager_patrol_spawn",
- GameplayVillagerActivity => "minecraft:gameplay/villager_activity",
- GameplayBabyVillagerActivity => "minecraft:gameplay/baby_villager_activity",
-}
-}
+/// These can be resolved into their actual values with
+/// `ResolvableDataRegistry` from azalea-core.
+pub trait DataRegistry:
+ AzaleaRead + AzaleaWrite + PartialEq + PartialOrd + Ord + Copy + Hash
+{
+ const NAME: &'static str;
+ type Key: DataRegistryKey;
-registry! {
-enum GameRule {
- AdvanceTime => "minecraft:advance_time",
- AdvanceWeather => "minecraft:advance_weather",
- AllowEnteringNetherUsingPortals => "minecraft:allow_entering_nether_using_portals",
- BlockDrops => "minecraft:block_drops",
- BlockExplosionDropDecay => "minecraft:block_explosion_drop_decay",
- CommandBlocksWork => "minecraft:command_blocks_work",
- CommandBlockOutput => "minecraft:command_block_output",
- DrowningDamage => "minecraft:drowning_damage",
- ElytraMovementCheck => "minecraft:elytra_movement_check",
- EnderPearlsVanishOnDeath => "minecraft:ender_pearls_vanish_on_death",
- EntityDrops => "minecraft:entity_drops",
- FallDamage => "minecraft:fall_damage",
- FireDamage => "minecraft:fire_damage",
- FireSpreadRadiusAroundPlayer => "minecraft:fire_spread_radius_around_player",
- ForgiveDeadPlayers => "minecraft:forgive_dead_players",
- FreezeDamage => "minecraft:freeze_damage",
- GlobalSoundEvents => "minecraft:global_sound_events",
- ImmediateRespawn => "minecraft:immediate_respawn",
- KeepInventory => "minecraft:keep_inventory",
- LavaSourceConversion => "minecraft:lava_source_conversion",
- LimitedCrafting => "minecraft:limited_crafting",
- LocatorBar => "minecraft:locator_bar",
- LogAdminCommands => "minecraft:log_admin_commands",
- MaxBlockModifications => "minecraft:max_block_modifications",
- MaxCommandForks => "minecraft:max_command_forks",
- MaxCommandSequenceLength => "minecraft:max_command_sequence_length",
- MaxEntityCramming => "minecraft:max_entity_cramming",
- MaxMinecartSpeed => "minecraft:max_minecart_speed",
- MaxSnowAccumulationHeight => "minecraft:max_snow_accumulation_height",
- MobDrops => "minecraft:mob_drops",
- MobExplosionDropDecay => "minecraft:mob_explosion_drop_decay",
- MobGriefing => "minecraft:mob_griefing",
- NaturalHealthRegeneration => "minecraft:natural_health_regeneration",
- PlayerMovementCheck => "minecraft:player_movement_check",
- PlayersNetherPortalCreativeDelay => "minecraft:players_nether_portal_creative_delay",
- PlayersNetherPortalDefaultDelay => "minecraft:players_nether_portal_default_delay",
- PlayersSleepingPercentage => "minecraft:players_sleeping_percentage",
- ProjectilesCanBreakBlocks => "minecraft:projectiles_can_break_blocks",
- Pvp => "minecraft:pvp",
- Raids => "minecraft:raids",
- RandomTickSpeed => "minecraft:random_tick_speed",
- ReducedDebugInfo => "minecraft:reduced_debug_info",
- RespawnRadius => "minecraft:respawn_radius",
- SendCommandFeedback => "minecraft:send_command_feedback",
- ShowAdvancementMessages => "minecraft:show_advancement_messages",
- ShowDeathMessages => "minecraft:show_death_messages",
- SpawnerBlocksWork => "minecraft:spawner_blocks_work",
- SpawnMobs => "minecraft:spawn_mobs",
- SpawnMonsters => "minecraft:spawn_monsters",
- SpawnPatrols => "minecraft:spawn_patrols",
- SpawnPhantoms => "minecraft:spawn_phantoms",
- SpawnWanderingTraders => "minecraft:spawn_wandering_traders",
- SpawnWardens => "minecraft:spawn_wardens",
- SpectatorsGenerateChunks => "minecraft:spectators_generate_chunks",
- SpreadVines => "minecraft:spread_vines",
- TntExplodes => "minecraft:tnt_explodes",
- TntExplosionDropDecay => "minecraft:tnt_explosion_drop_decay",
- UniversalAnger => "minecraft:universal_anger",
- WaterSourceConversion => "minecraft:water_source_conversion",
-}
+ fn protocol_id(&self) -> u32;
+ fn new_raw(id: u32) -> Self;
}
+pub trait DataRegistryKey {
+ type Borrow<'a>: DataRegistryKeyRef<'a>;
-registry! {
-enum PermissionCheckKind {
- AlwaysPass => "minecraft:always_pass",
- Require => "minecraft:require",
-}
+ fn into_ident(self) -> Identifier;
}
+pub trait DataRegistryKeyRef<'a> {
+ type Owned: DataRegistryKey;
-registry! {
-enum PermissionKind {
- Atom => "minecraft:atom",
- CommandLevel => "minecraft:command_level",
-}
+ fn to_owned(self) -> Self::Owned;
+ fn from_ident(ident: &'a Identifier) -> Self;
+ fn into_ident(self) -> Identifier;
}
+impl<T: DataRegistry> Registry for T {
+ fn from_u32(value: u32) -> Option<Self> {
+ Some(Self::new_raw(value))
+ }
-registry! {
-enum SlotSourceKind {
- Group => "minecraft:group",
- Filtered => "minecraft:filtered",
- LimitSlots => "minecraft:limit_slots",
- SlotRange => "minecraft:slot_range",
- Contents => "minecraft:contents",
- Empty => "minecraft:empty",
-}
+ fn to_u32(&self) -> u32 {
+ self.protocol_id()
+ }
}
diff --git a/azalea-registry/src/tags/blocks.rs b/azalea-registry/src/tags/blocks.rs
index 0bd17b93..2f0e9d1a 100644
--- a/azalea-registry/src/tags/blocks.rs
+++ b/azalea-registry/src/tags/blocks.rs
@@ -1,4265 +1,4327 @@
// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
-use std::{collections::HashSet, sync::LazyLock};
+use std::sync::LazyLock;
-use crate::Block;
+use crate::{builtin::BlockKind, tags::RegistryTag};
-pub static ACACIA_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- ])
-});
-pub static AIR: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Air, Block::VoidAir, Block::CaveAir]));
-pub static ALL_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakHangingSign,
- Block::SpruceHangingSign,
- Block::BirchHangingSign,
- Block::AcaciaHangingSign,
- Block::CherryHangingSign,
- Block::JungleHangingSign,
- Block::DarkOakHangingSign,
- Block::PaleOakHangingSign,
- Block::CrimsonHangingSign,
- Block::WarpedHangingSign,
- Block::MangroveHangingSign,
- Block::BambooHangingSign,
- Block::OakWallHangingSign,
- Block::SpruceWallHangingSign,
- Block::BirchWallHangingSign,
- Block::AcaciaWallHangingSign,
- Block::CherryWallHangingSign,
- Block::JungleWallHangingSign,
- Block::DarkOakWallHangingSign,
- Block::PaleOakWallHangingSign,
- Block::CrimsonWallHangingSign,
- Block::WarpedWallHangingSign,
- Block::MangroveWallHangingSign,
- Block::BambooWallHangingSign,
- ])
-});
-pub static ALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakSign,
- Block::SpruceSign,
- Block::BirchSign,
- Block::AcaciaSign,
- Block::JungleSign,
- Block::DarkOakSign,
- Block::PaleOakSign,
- Block::CrimsonSign,
- Block::WarpedSign,
- Block::MangroveSign,
- Block::BambooSign,
- Block::CherrySign,
- Block::OakWallSign,
- Block::SpruceWallSign,
- Block::BirchWallSign,
- Block::AcaciaWallSign,
- Block::JungleWallSign,
- Block::DarkOakWallSign,
- Block::PaleOakWallSign,
- Block::CrimsonWallSign,
- Block::WarpedWallSign,
- Block::MangroveWallSign,
- Block::BambooWallSign,
- Block::CherryWallSign,
- Block::OakHangingSign,
- Block::SpruceHangingSign,
- Block::BirchHangingSign,
- Block::AcaciaHangingSign,
- Block::CherryHangingSign,
- Block::JungleHangingSign,
- Block::DarkOakHangingSign,
- Block::PaleOakHangingSign,
- Block::CrimsonHangingSign,
- Block::WarpedHangingSign,
- Block::MangroveHangingSign,
- Block::BambooHangingSign,
- Block::OakWallHangingSign,
- Block::SpruceWallHangingSign,
- Block::BirchWallHangingSign,
- Block::AcaciaWallHangingSign,
- Block::CherryWallHangingSign,
- Block::JungleWallHangingSign,
- Block::DarkOakWallHangingSign,
- Block::PaleOakWallHangingSign,
- Block::CrimsonWallHangingSign,
- Block::WarpedWallHangingSign,
- Block::MangroveWallHangingSign,
- Block::BambooWallHangingSign,
- ])
-});
-pub static ANCIENT_CITY_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Deepslate,
- Block::DeepslateBricks,
- Block::DeepslateTiles,
- Block::DeepslateBrickSlab,
- Block::DeepslateTileSlab,
- Block::DeepslateBrickStairs,
- Block::DeepslateTileWall,
- Block::DeepslateBrickWall,
- Block::CobbledDeepslate,
- Block::CrackedDeepslateBricks,
- Block::CrackedDeepslateTiles,
- Block::GrayWool,
- ])
-});
-pub static ANIMALS_SPAWNABLE_ON: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::GrassBlock]));
-pub static ANVIL: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Anvil, Block::ChippedAnvil, Block::DamagedAnvil]));
-pub static ARMADILLO_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::RedSand,
- Block::CoarseDirt,
- Block::GrassBlock,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::YellowTerracotta,
- Block::OrangeTerracotta,
- Block::RedTerracotta,
- Block::BrownTerracotta,
- Block::LightGrayTerracotta,
- ])
-});
-pub static AXOLOTLS_SPAWNABLE_ON: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Clay]));
-pub static AZALEA_GROWS_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SnowBlock,
- Block::PowderSnow,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- ])
-});
-pub static AZALEA_ROOT_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::RedSand,
- Block::Clay,
- Block::Gravel,
- Block::Sand,
- Block::SnowBlock,
- Block::PowderSnow,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- ])
-});
-pub static BADLANDS_TERRACOTTA: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::YellowTerracotta,
- Block::OrangeTerracotta,
- Block::RedTerracotta,
- Block::BrownTerracotta,
- Block::LightGrayTerracotta,
- ])
-});
-pub static BAMBOO_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::BambooBlock, Block::StrippedBambooBlock]));
-pub static BAMBOO_PLANTABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Bamboo,
- Block::BambooSapling,
- Block::Gravel,
- Block::SuspiciousGravel,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static BANNERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WhiteBanner,
- Block::OrangeBanner,
- Block::MagentaBanner,
- Block::LightBlueBanner,
- Block::YellowBanner,
- Block::LimeBanner,
- Block::PinkBanner,
- Block::GrayBanner,
- Block::LightGrayBanner,
- Block::CyanBanner,
- Block::PurpleBanner,
- Block::BlueBanner,
- Block::BrownBanner,
- Block::GreenBanner,
- Block::RedBanner,
- Block::BlackBanner,
- Block::WhiteWallBanner,
- Block::OrangeWallBanner,
- Block::MagentaWallBanner,
- Block::LightBlueWallBanner,
- Block::YellowWallBanner,
- Block::LimeWallBanner,
- Block::PinkWallBanner,
- Block::GrayWallBanner,
- Block::LightGrayWallBanner,
- Block::CyanWallBanner,
- Block::PurpleWallBanner,
- Block::BlueWallBanner,
- Block::BrownWallBanner,
- Block::GreenWallBanner,
- Block::RedWallBanner,
- Block::BlackWallBanner,
- ])
-});
-pub static BARS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::IronBars,
- Block::CopperBars,
- Block::WaxedCopperBars,
- Block::ExposedCopperBars,
- Block::WaxedExposedCopperBars,
- Block::WeatheredCopperBars,
- Block::WaxedWeatheredCopperBars,
- Block::OxidizedCopperBars,
- Block::WaxedOxidizedCopperBars,
- ])
-});
-pub static BASE_STONE_NETHER: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Netherrack, Block::Basalt, Block::Blackstone]));
-pub static BASE_STONE_OVERWORLD: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- ])
-});
-pub static BATS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- ])
-});
-pub static BEACON_BASE_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::NetheriteBlock,
- Block::EmeraldBlock,
- Block::DiamondBlock,
- Block::GoldBlock,
- Block::IronBlock,
- ])
-});
-pub static BEDS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::RedBed,
- Block::BlackBed,
- Block::BlueBed,
- Block::BrownBed,
- Block::CyanBed,
- Block::GrayBed,
- Block::GreenBed,
- Block::LightBlueBed,
- Block::LightGrayBed,
- Block::LimeBed,
- Block::MagentaBed,
- Block::OrangeBed,
- Block::PinkBed,
- Block::PurpleBed,
- Block::WhiteBed,
- Block::YellowBed,
- ])
-});
-pub static BEE_ATTRACTIVE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Dandelion,
- Block::OpenEyeblossom,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::Sunflower,
- Block::Lilac,
- Block::Peony,
- Block::RoseBush,
- Block::PitcherPlant,
- Block::FloweringAzaleaLeaves,
- Block::FloweringAzalea,
- Block::MangrovePropagule,
- Block::CherryLeaves,
- Block::PinkPetals,
- Block::Wildflowers,
- Block::ChorusFlower,
- Block::SporeBlossom,
- Block::CactusFlower,
- ])
-});
-pub static BEE_GROWABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SweetBerryBush,
- Block::CaveVines,
- Block::CaveVinesPlant,
- Block::Beetroots,
- Block::Carrots,
- Block::Potatoes,
- Block::Wheat,
- Block::MelonStem,
- Block::PumpkinStem,
- Block::TorchflowerCrop,
- Block::PitcherCrop,
- ])
-});
-pub static BEEHIVES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::BeeNest, Block::Beehive]));
-pub static BIG_DRIPLEAF_PLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Farmland,
- Block::Clay,
- Block::MossBlock,
- ])
-});
-pub static BIRCH_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- ])
-});
-pub static BLOCKS_WIND_CHARGE_EXPLOSIONS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Barrier, Block::Bedrock]));
-pub static BUTTONS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakButton,
- Block::SpruceButton,
- Block::BirchButton,
- Block::JungleButton,
- Block::AcaciaButton,
- Block::DarkOakButton,
- Block::PaleOakButton,
- Block::CrimsonButton,
- Block::WarpedButton,
- Block::MangroveButton,
- Block::BambooButton,
- Block::CherryButton,
- Block::StoneButton,
- Block::PolishedBlackstoneButton,
- ])
-});
-pub static CAMEL_SAND_STEP_SOUND_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::WhiteConcretePowder,
- Block::OrangeConcretePowder,
- Block::MagentaConcretePowder,
- Block::LightBlueConcretePowder,
- Block::YellowConcretePowder,
- Block::LimeConcretePowder,
- Block::PinkConcretePowder,
- Block::GrayConcretePowder,
- Block::LightGrayConcretePowder,
- Block::CyanConcretePowder,
- Block::PurpleConcretePowder,
- Block::BlueConcretePowder,
- Block::BrownConcretePowder,
- Block::GreenConcretePowder,
- Block::RedConcretePowder,
- Block::BlackConcretePowder,
- ])
-});
-pub static CAMELS_SPAWNABLE_ON: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Sand, Block::RedSand, Block::SuspiciousSand]));
-pub static CAMPFIRES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Campfire, Block::SoulCampfire]));
-pub static CAN_GLIDE_THROUGH: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Vine,
- Block::TwistingVines,
- Block::TwistingVinesPlant,
- Block::WeepingVines,
- Block::WeepingVinesPlant,
- Block::CaveVinesPlant,
- Block::CaveVines,
- ])
-});
-pub static CANDLE_CAKES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CandleCake,
- Block::WhiteCandleCake,
- Block::OrangeCandleCake,
- Block::MagentaCandleCake,
- Block::LightBlueCandleCake,
- Block::YellowCandleCake,
- Block::LimeCandleCake,
- Block::PinkCandleCake,
- Block::GrayCandleCake,
- Block::LightGrayCandleCake,
- Block::CyanCandleCake,
- Block::PurpleCandleCake,
- Block::BlueCandleCake,
- Block::BrownCandleCake,
- Block::GreenCandleCake,
- Block::RedCandleCake,
- Block::BlackCandleCake,
- ])
-});
-pub static CANDLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Candle,
- Block::WhiteCandle,
- Block::OrangeCandle,
- Block::MagentaCandle,
- Block::LightBlueCandle,
- Block::YellowCandle,
- Block::LimeCandle,
- Block::PinkCandle,
- Block::GrayCandle,
- Block::LightGrayCandle,
- Block::CyanCandle,
- Block::PurpleCandle,
- Block::BlueCandle,
- Block::BrownCandle,
- Block::GreenCandle,
- Block::RedCandle,
- Block::BlackCandle,
- ])
-});
-pub static CAULDRONS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Cauldron,
- Block::WaterCauldron,
- Block::LavaCauldron,
- Block::PowderSnowCauldron,
- ])
-});
-pub static CAVE_VINES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::CaveVinesPlant, Block::CaveVines]));
-pub static CEILING_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakHangingSign,
- Block::SpruceHangingSign,
- Block::BirchHangingSign,
- Block::AcaciaHangingSign,
- Block::CherryHangingSign,
- Block::JungleHangingSign,
- Block::DarkOakHangingSign,
- Block::PaleOakHangingSign,
- Block::CrimsonHangingSign,
- Block::WarpedHangingSign,
- Block::MangroveHangingSign,
- Block::BambooHangingSign,
- ])
-});
-pub static CHAINS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::IronChain,
- Block::CopperChain,
- Block::WaxedCopperChain,
- Block::ExposedCopperChain,
- Block::WaxedExposedCopperChain,
- Block::WeatheredCopperChain,
- Block::WaxedWeatheredCopperChain,
- Block::OxidizedCopperChain,
- Block::WaxedOxidizedCopperChain,
- ])
-});
-pub static CHERRY_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static CLIMBABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Ladder,
- Block::Vine,
- Block::Scaffolding,
- Block::WeepingVines,
- Block::WeepingVinesPlant,
- Block::TwistingVines,
- Block::TwistingVinesPlant,
- Block::CaveVines,
- Block::CaveVinesPlant,
- ])
-});
-pub static COAL_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::CoalOre, Block::DeepslateCoalOre]));
-pub static COMBINATION_STEP_SOUND_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::MossCarpet,
- Block::PaleMossCarpet,
- Block::Snow,
- Block::NetherSprouts,
- Block::WarpedRoots,
- Block::CrimsonRoots,
- Block::ResinClump,
- Block::WhiteCarpet,
- Block::OrangeCarpet,
- Block::MagentaCarpet,
- Block::LightBlueCarpet,
- Block::YellowCarpet,
- Block::LimeCarpet,
- Block::PinkCarpet,
- Block::GrayCarpet,
- Block::LightGrayCarpet,
- Block::CyanCarpet,
- Block::PurpleCarpet,
- Block::BlueCarpet,
- Block::BrownCarpet,
- Block::GreenCarpet,
- Block::RedCarpet,
- Block::BlackCarpet,
- ])
-});
-pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::NetherWartBlock,
- Block::WarpedWartBlock,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static CONCRETE_POWDER: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WhiteConcretePowder,
- Block::OrangeConcretePowder,
- Block::MagentaConcretePowder,
- Block::LightBlueConcretePowder,
- Block::YellowConcretePowder,
- Block::LimeConcretePowder,
- Block::PinkConcretePowder,
- Block::GrayConcretePowder,
- Block::LightGrayConcretePowder,
- Block::CyanConcretePowder,
- Block::PurpleConcretePowder,
- Block::BlueConcretePowder,
- Block::BrownConcretePowder,
- Block::GreenConcretePowder,
- Block::RedConcretePowder,
- Block::BlackConcretePowder,
- ])
-});
-pub static CONVERTABLE_TO_MUD: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Dirt, Block::CoarseDirt, Block::RootedDirt]));
-pub static COPPER: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CopperBlock,
- Block::ExposedCopper,
- Block::WeatheredCopper,
- Block::OxidizedCopper,
- Block::WaxedCopperBlock,
- Block::WaxedExposedCopper,
- Block::WaxedWeatheredCopper,
- Block::WaxedOxidizedCopper,
- ])
-});
-pub static COPPER_CHESTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CopperChest,
- Block::ExposedCopperChest,
- Block::WeatheredCopperChest,
- Block::OxidizedCopperChest,
- Block::WaxedCopperChest,
- Block::WaxedExposedCopperChest,
- Block::WaxedWeatheredCopperChest,
- Block::WaxedOxidizedCopperChest,
- ])
-});
-pub static COPPER_GOLEM_STATUES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CopperGolemStatue,
- Block::ExposedCopperGolemStatue,
- Block::WeatheredCopperGolemStatue,
- Block::OxidizedCopperGolemStatue,
- Block::WaxedCopperGolemStatue,
- Block::WaxedExposedCopperGolemStatue,
- Block::WaxedWeatheredCopperGolemStatue,
- Block::WaxedOxidizedCopperGolemStatue,
- ])
-});
-pub static COPPER_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::CopperOre, Block::DeepslateCopperOre]));
-pub static CORAL_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::TubeCoralBlock,
- Block::BrainCoralBlock,
- Block::BubbleCoralBlock,
- Block::FireCoralBlock,
- Block::HornCoralBlock,
- ])
-});
-pub static CORAL_PLANTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::TubeCoral,
- Block::BrainCoral,
- Block::BubbleCoral,
- Block::FireCoral,
- Block::HornCoral,
- ])
-});
-pub static CORALS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::TubeCoralFan,
- Block::BrainCoralFan,
- Block::BubbleCoralFan,
- Block::FireCoralFan,
- Block::HornCoralFan,
- Block::TubeCoral,
- Block::BrainCoral,
- Block::BubbleCoral,
- Block::FireCoral,
- Block::HornCoral,
- ])
-});
-pub static CRIMSON_STEMS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- ])
-});
-pub static CROPS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Beetroots,
- Block::Carrots,
- Block::Potatoes,
- Block::Wheat,
- Block::MelonStem,
- Block::PumpkinStem,
- Block::TorchflowerCrop,
- Block::PitcherCrop,
- ])
-});
-pub static CRYSTAL_SOUND_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::AmethystBlock, Block::BuddingAmethyst]));
-pub static DAMPENS_VIBRATIONS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WhiteWool,
- Block::OrangeWool,
- Block::MagentaWool,
- Block::LightBlueWool,
- Block::YellowWool,
- Block::LimeWool,
- Block::PinkWool,
- Block::GrayWool,
- Block::LightGrayWool,
- Block::CyanWool,
- Block::PurpleWool,
- Block::BlueWool,
- Block::BrownWool,
- Block::GreenWool,
- Block::RedWool,
- Block::BlackWool,
- Block::WhiteCarpet,
- Block::OrangeCarpet,
- Block::MagentaCarpet,
- Block::LightBlueCarpet,
- Block::YellowCarpet,
- Block::LimeCarpet,
- Block::PinkCarpet,
- Block::GrayCarpet,
- Block::LightGrayCarpet,
- Block::CyanCarpet,
- Block::PurpleCarpet,
- Block::BlueCarpet,
- Block::BrownCarpet,
- Block::GreenCarpet,
- Block::RedCarpet,
- Block::BlackCarpet,
- ])
-});
-pub static DARK_OAK_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- ])
-});
-pub static DEEPSLATE_ORE_REPLACEABLES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Deepslate, Block::Tuff]));
-pub static DIAMOND_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::DiamondOre, Block::DeepslateDiamondOre]));
-pub static DIRT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static DOES_NOT_BLOCK_HOPPERS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::BeeNest, Block::Beehive]));
-pub static DOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CopperDoor,
- Block::ExposedCopperDoor,
- Block::WeatheredCopperDoor,
- Block::OxidizedCopperDoor,
- Block::WaxedCopperDoor,
- Block::WaxedExposedCopperDoor,
- Block::WaxedWeatheredCopperDoor,
- Block::WaxedOxidizedCopperDoor,
- Block::IronDoor,
- Block::OakDoor,
- Block::SpruceDoor,
- Block::BirchDoor,
- Block::JungleDoor,
- Block::AcaciaDoor,
- Block::DarkOakDoor,
- Block::PaleOakDoor,
- Block::CrimsonDoor,
- Block::WarpedDoor,
- Block::MangroveDoor,
- Block::BambooDoor,
- Block::CherryDoor,
- ])
-});
-pub static DRAGON_IMMUNE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Barrier,
- Block::Bedrock,
- Block::EndPortal,
- Block::EndPortalFrame,
- Block::EndGateway,
- Block::CommandBlock,
- Block::RepeatingCommandBlock,
- Block::ChainCommandBlock,
- Block::StructureBlock,
- Block::Jigsaw,
- Block::MovingPiston,
- Block::Obsidian,
- Block::CryingObsidian,
- Block::EndStone,
- Block::IronBars,
- Block::RespawnAnchor,
- Block::ReinforcedDeepslate,
- Block::TestBlock,
- Block::TestInstanceBlock,
- ])
-});
-pub static DRAGON_TRANSPARENT: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Light, Block::Fire, Block::SoulFire]));
-pub static DRIPSTONE_REPLACEABLE_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- ])
-});
-pub static DRY_VEGETATION_MAY_PLACE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Farmland,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static EDIBLE_FOR_SHEEP: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::ShortGrass,
- Block::ShortDryGrass,
- Block::TallDryGrass,
- Block::Fern,
- ])
-});
-pub static EMERALD_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::EmeraldOre, Block::DeepslateEmeraldOre]));
-pub static ENCHANTMENT_POWER_PROVIDER: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Bookshelf]));
-pub static ENCHANTMENT_POWER_TRANSMITTER: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Air,
- Block::Water,
- Block::Lava,
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Bush,
- Block::ShortDryGrass,
- Block::TallDryGrass,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::Fire,
- Block::SoulFire,
- Block::Snow,
- Block::Vine,
- Block::GlowLichen,
- Block::ResinClump,
- Block::Light,
- Block::TallGrass,
- Block::LargeFern,
- Block::StructureVoid,
- Block::VoidAir,
- Block::CaveAir,
- Block::BubbleColumn,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonRoots,
- Block::LeafLitter,
- Block::HangingRoots,
- ])
-});
-pub static ENDERMAN_HOLDABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Sand,
- Block::RedSand,
- Block::Gravel,
- Block::BrownMushroom,
- Block::RedMushroom,
- Block::Tnt,
- Block::Cactus,
- Block::Clay,
- Block::Pumpkin,
- Block::CarvedPumpkin,
- Block::Melon,
- Block::CrimsonFungus,
- Block::CrimsonNylium,
- Block::CrimsonRoots,
- Block::WarpedFungus,
- Block::WarpedNylium,
- Block::WarpedRoots,
- Block::CactusFlower,
- Block::Dandelion,
- Block::OpenEyeblossom,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::ClosedEyeblossom,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static FALL_DAMAGE_RESETTING: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SweetBerryBush,
- Block::Cobweb,
- Block::Ladder,
- Block::Vine,
- Block::Scaffolding,
- Block::WeepingVines,
- Block::WeepingVinesPlant,
- Block::TwistingVines,
- Block::TwistingVinesPlant,
- Block::CaveVines,
- Block::CaveVinesPlant,
- ])
-});
-pub static FEATURES_CANNOT_REPLACE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Bedrock,
- Block::Spawner,
- Block::Chest,
- Block::EndPortalFrame,
- Block::ReinforcedDeepslate,
- Block::TrialSpawner,
- Block::Vault,
- ])
-});
-pub static FENCE_GATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::AcaciaFenceGate,
- Block::BirchFenceGate,
- Block::DarkOakFenceGate,
- Block::PaleOakFenceGate,
- Block::JungleFenceGate,
- Block::OakFenceGate,
- Block::SpruceFenceGate,
- Block::CrimsonFenceGate,
- Block::WarpedFenceGate,
- Block::MangroveFenceGate,
- Block::BambooFenceGate,
- Block::CherryFenceGate,
- ])
-});
-pub static FENCES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::NetherBrickFence,
- Block::OakFence,
- Block::AcaciaFence,
- Block::DarkOakFence,
- Block::PaleOakFence,
- Block::SpruceFence,
- Block::BirchFence,
- Block::JungleFence,
- Block::CrimsonFence,
- Block::WarpedFence,
- Block::MangroveFence,
- Block::BambooFence,
- Block::CherryFence,
- ])
-});
-pub static FIRE: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Fire, Block::SoulFire]));
-pub static FLOWER_POTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::FlowerPot,
- Block::PottedOpenEyeblossom,
- Block::PottedClosedEyeblossom,
- Block::PottedPoppy,
- Block::PottedBlueOrchid,
- Block::PottedAllium,
- Block::PottedAzureBluet,
- Block::PottedRedTulip,
- Block::PottedOrangeTulip,
- Block::PottedWhiteTulip,
- Block::PottedPinkTulip,
- Block::PottedOxeyeDaisy,
- Block::PottedDandelion,
- Block::PottedOakSapling,
- Block::PottedSpruceSapling,
- Block::PottedBirchSapling,
- Block::PottedJungleSapling,
- Block::PottedAcaciaSapling,
- Block::PottedDarkOakSapling,
- Block::PottedPaleOakSapling,
- Block::PottedRedMushroom,
- Block::PottedBrownMushroom,
- Block::PottedDeadBush,
- Block::PottedFern,
- Block::PottedCactus,
- Block::PottedCornflower,
- Block::PottedLilyOfTheValley,
- Block::PottedWitherRose,
- Block::PottedBamboo,
- Block::PottedCrimsonFungus,
- Block::PottedWarpedFungus,
- Block::PottedCrimsonRoots,
- Block::PottedWarpedRoots,
- Block::PottedAzaleaBush,
- Block::PottedFloweringAzaleaBush,
- Block::PottedMangrovePropagule,
- Block::PottedCherrySapling,
- Block::PottedTorchflower,
- ])
-});
-pub static FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Sunflower,
- Block::Lilac,
- Block::Peony,
- Block::RoseBush,
- Block::PitcherPlant,
- Block::FloweringAzaleaLeaves,
- Block::FloweringAzalea,
- Block::MangrovePropagule,
- Block::CherryLeaves,
- Block::PinkPetals,
- Block::Wildflowers,
- Block::ChorusFlower,
- Block::SporeBlossom,
- Block::CactusFlower,
- Block::Dandelion,
- Block::OpenEyeblossom,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::ClosedEyeblossom,
- ])
-});
-pub static FOXES_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GrassBlock,
- Block::Snow,
- Block::SnowBlock,
- Block::Podzol,
- Block::CoarseDirt,
- ])
-});
-pub static FROG_PREFER_JUMP_TO: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::LilyPad, Block::BigDripleaf]));
-pub static FROGS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GrassBlock,
- Block::Mud,
- Block::MangroveRoots,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static GEODE_INVALID_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Bedrock,
- Block::Water,
- Block::Lava,
- Block::Ice,
- Block::PackedIce,
- Block::BlueIce,
- ])
-});
-pub static GOATS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Snow,
- Block::SnowBlock,
- Block::PackedIce,
- Block::Gravel,
- Block::GrassBlock,
- ])
-});
-pub static GOLD_ORES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GoldOre,
- Block::NetherGoldOre,
- Block::DeepslateGoldOre,
- ])
-});
-pub static GUARDED_BY_PIGLINS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GoldBlock,
- Block::Barrel,
- Block::Chest,
- Block::EnderChest,
- Block::GildedBlackstone,
- Block::TrappedChest,
- Block::RawGoldBlock,
- Block::CopperChest,
- Block::ExposedCopperChest,
- Block::WeatheredCopperChest,
- Block::OxidizedCopperChest,
- Block::WaxedCopperChest,
- Block::WaxedExposedCopperChest,
- Block::WaxedWeatheredCopperChest,
- Block::WaxedOxidizedCopperChest,
- Block::ShulkerBox,
- Block::BlackShulkerBox,
- Block::BlueShulkerBox,
- Block::BrownShulkerBox,
- Block::CyanShulkerBox,
- Block::GrayShulkerBox,
- Block::GreenShulkerBox,
- Block::LightBlueShulkerBox,
- Block::LightGrayShulkerBox,
- Block::LimeShulkerBox,
- Block::MagentaShulkerBox,
- Block::OrangeShulkerBox,
- Block::PinkShulkerBox,
- Block::PurpleShulkerBox,
- Block::RedShulkerBox,
- Block::WhiteShulkerBox,
- Block::YellowShulkerBox,
- Block::GoldOre,
- Block::NetherGoldOre,
- Block::DeepslateGoldOre,
- ])
-});
-pub static HAPPY_GHAST_AVOIDS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SweetBerryBush,
- Block::Cactus,
- Block::WitherRose,
- Block::MagmaBlock,
- Block::Fire,
- Block::PointedDripstone,
- ])
-});
-pub static HOGLIN_REPELLENTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WarpedFungus,
- Block::PottedWarpedFungus,
- Block::NetherPortal,
- Block::RespawnAnchor,
- ])
-});
-pub static ICE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Ice,
- Block::PackedIce,
- Block::BlueIce,
- Block::FrostedIce,
- ])
-});
-pub static IMPERMEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Glass,
- Block::WhiteStainedGlass,
- Block::OrangeStainedGlass,
- Block::MagentaStainedGlass,
- Block::LightBlueStainedGlass,
- Block::YellowStainedGlass,
- Block::LimeStainedGlass,
- Block::PinkStainedGlass,
- Block::GrayStainedGlass,
- Block::LightGrayStainedGlass,
- Block::CyanStainedGlass,
- Block::PurpleStainedGlass,
- Block::BlueStainedGlass,
- Block::BrownStainedGlass,
- Block::GreenStainedGlass,
- Block::RedStainedGlass,
- Block::BlackStainedGlass,
- Block::TintedGlass,
- Block::Barrier,
- ])
-});
-pub static INCORRECT_FOR_COPPER_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- Block::DiamondBlock,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EmeraldBlock,
- Block::GoldBlock,
- Block::RawGoldBlock,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
- ])
-});
-pub static INCORRECT_FOR_DIAMOND_TOOL: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([]));
-pub static INCORRECT_FOR_GOLD_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- Block::DiamondBlock,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EmeraldBlock,
- Block::GoldBlock,
- Block::RawGoldBlock,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
- Block::IronBlock,
- Block::RawIronBlock,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::LapisBlock,
- Block::LapisOre,
- Block::DeepslateLapisOre,
- Block::CopperBlock,
- Block::RawCopperBlock,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- Block::CutCopperSlab,
- Block::CutCopperStairs,
- Block::CutCopper,
- Block::WeatheredCopper,
- Block::WeatheredCutCopperSlab,
- Block::WeatheredCutCopperStairs,
- Block::WeatheredCutCopper,
- Block::OxidizedCopper,
- Block::OxidizedCutCopperSlab,
- Block::OxidizedCutCopperStairs,
- Block::OxidizedCutCopper,
- Block::ExposedCopper,
- Block::ExposedCutCopperSlab,
- Block::ExposedCutCopperStairs,
- Block::ExposedCutCopper,
- Block::WaxedCopperBlock,
- Block::WaxedCutCopperSlab,
- Block::WaxedCutCopperStairs,
- Block::WaxedCutCopper,
- Block::WaxedWeatheredCopper,
- Block::WaxedWeatheredCutCopperSlab,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedWeatheredCutCopper,
- Block::WaxedExposedCopper,
- Block::WaxedExposedCutCopperSlab,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedExposedCutCopper,
- Block::WaxedOxidizedCopper,
- Block::WaxedOxidizedCutCopperSlab,
- Block::WaxedOxidizedCutCopperStairs,
- Block::WaxedOxidizedCutCopper,
- Block::Crafter,
- Block::ChiseledCopper,
- Block::ExposedChiseledCopper,
- Block::WeatheredChiseledCopper,
- Block::OxidizedChiseledCopper,
- Block::WaxedChiseledCopper,
- Block::WaxedExposedChiseledCopper,
- Block::WaxedWeatheredChiseledCopper,
- Block::WaxedOxidizedChiseledCopper,
- Block::CopperGrate,
- Block::ExposedCopperGrate,
- Block::WeatheredCopperGrate,
- Block::OxidizedCopperGrate,
- Block::WaxedCopperGrate,
- Block::WaxedExposedCopperGrate,
- Block::WaxedWeatheredCopperGrate,
- Block::WaxedOxidizedCopperGrate,
- Block::CopperBulb,
- Block::ExposedCopperBulb,
- Block::WeatheredCopperBulb,
- Block::OxidizedCopperBulb,
- Block::WaxedCopperBulb,
- Block::WaxedExposedCopperBulb,
- Block::WaxedWeatheredCopperBulb,
- Block::WaxedOxidizedCopperBulb,
- Block::CopperTrapdoor,
- Block::ExposedCopperTrapdoor,
- Block::WeatheredCopperTrapdoor,
- Block::OxidizedCopperTrapdoor,
- Block::WaxedCopperTrapdoor,
- Block::WaxedExposedCopperTrapdoor,
- Block::WaxedWeatheredCopperTrapdoor,
- Block::WaxedOxidizedCopperTrapdoor,
- Block::CopperChest,
- Block::ExposedCopperChest,
- Block::WeatheredCopperChest,
- Block::OxidizedCopperChest,
- Block::WaxedCopperChest,
- Block::WaxedExposedCopperChest,
- Block::WaxedWeatheredCopperChest,
- Block::WaxedOxidizedCopperChest,
- Block::LightningRod,
- Block::ExposedLightningRod,
- Block::WeatheredLightningRod,
- Block::OxidizedLightningRod,
- Block::WaxedLightningRod,
- Block::WaxedExposedLightningRod,
- Block::WaxedWeatheredLightningRod,
- Block::WaxedOxidizedLightningRod,
- ])
-});
-pub static INCORRECT_FOR_IRON_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- ])
-});
-pub static INCORRECT_FOR_NETHERITE_TOOL: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([]));
-pub static INCORRECT_FOR_STONE_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- Block::DiamondBlock,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EmeraldBlock,
- Block::GoldBlock,
- Block::RawGoldBlock,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
- ])
-});
-pub static INCORRECT_FOR_WOODEN_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- Block::DiamondBlock,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EmeraldBlock,
- Block::GoldBlock,
- Block::RawGoldBlock,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
- Block::IronBlock,
- Block::RawIronBlock,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::LapisBlock,
- Block::LapisOre,
- Block::DeepslateLapisOre,
- Block::CopperBlock,
- Block::RawCopperBlock,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- Block::CutCopperSlab,
- Block::CutCopperStairs,
- Block::CutCopper,
- Block::WeatheredCopper,
- Block::WeatheredCutCopperSlab,
- Block::WeatheredCutCopperStairs,
- Block::WeatheredCutCopper,
- Block::OxidizedCopper,
- Block::OxidizedCutCopperSlab,
- Block::OxidizedCutCopperStairs,
- Block::OxidizedCutCopper,
- Block::ExposedCopper,
- Block::ExposedCutCopperSlab,
- Block::ExposedCutCopperStairs,
- Block::ExposedCutCopper,
- Block::WaxedCopperBlock,
- Block::WaxedCutCopperSlab,
- Block::WaxedCutCopperStairs,
- Block::WaxedCutCopper,
- Block::WaxedWeatheredCopper,
- Block::WaxedWeatheredCutCopperSlab,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedWeatheredCutCopper,
- Block::WaxedExposedCopper,
- Block::WaxedExposedCutCopperSlab,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedExposedCutCopper,
- Block::WaxedOxidizedCopper,
- Block::WaxedOxidizedCutCopperSlab,
- Block::WaxedOxidizedCutCopperStairs,
- Block::WaxedOxidizedCutCopper,
- Block::Crafter,
- Block::ChiseledCopper,
- Block::ExposedChiseledCopper,
- Block::WeatheredChiseledCopper,
- Block::OxidizedChiseledCopper,
- Block::WaxedChiseledCopper,
- Block::WaxedExposedChiseledCopper,
- Block::WaxedWeatheredChiseledCopper,
- Block::WaxedOxidizedChiseledCopper,
- Block::CopperGrate,
- Block::ExposedCopperGrate,
- Block::WeatheredCopperGrate,
- Block::OxidizedCopperGrate,
- Block::WaxedCopperGrate,
- Block::WaxedExposedCopperGrate,
- Block::WaxedWeatheredCopperGrate,
- Block::WaxedOxidizedCopperGrate,
- Block::CopperBulb,
- Block::ExposedCopperBulb,
- Block::WeatheredCopperBulb,
- Block::OxidizedCopperBulb,
- Block::WaxedCopperBulb,
- Block::WaxedExposedCopperBulb,
- Block::WaxedWeatheredCopperBulb,
- Block::WaxedOxidizedCopperBulb,
- Block::CopperTrapdoor,
- Block::ExposedCopperTrapdoor,
- Block::WeatheredCopperTrapdoor,
- Block::OxidizedCopperTrapdoor,
- Block::WaxedCopperTrapdoor,
- Block::WaxedExposedCopperTrapdoor,
- Block::WaxedWeatheredCopperTrapdoor,
- Block::WaxedOxidizedCopperTrapdoor,
- Block::CopperChest,
- Block::ExposedCopperChest,
- Block::WeatheredCopperChest,
- Block::OxidizedCopperChest,
- Block::WaxedCopperChest,
- Block::WaxedExposedCopperChest,
- Block::WaxedWeatheredCopperChest,
- Block::WaxedOxidizedCopperChest,
- Block::LightningRod,
- Block::ExposedLightningRod,
- Block::WeatheredLightningRod,
- Block::OxidizedLightningRod,
- Block::WaxedLightningRod,
- Block::WaxedExposedLightningRod,
- Block::WaxedWeatheredLightningRod,
- Block::WaxedOxidizedLightningRod,
- ])
-});
-pub static INFINIBURN_END: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Bedrock, Block::Netherrack, Block::MagmaBlock]));
-pub static INFINIBURN_NETHER: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Netherrack, Block::MagmaBlock]));
-pub static INFINIBURN_OVERWORLD: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Netherrack, Block::MagmaBlock]));
-pub static INSIDE_STEP_SOUND_BLOCKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::PowderSnow,
- Block::SculkVein,
- Block::GlowLichen,
- Block::LilyPad,
- Block::SmallAmethystBud,
- Block::PinkPetals,
- Block::Wildflowers,
- Block::LeafLitter,
- ])
-});
-pub static INVALID_SPAWN_INSIDE: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::EndPortal, Block::EndGateway]));
-pub static IRON_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::IronOre, Block::DeepslateIronOre]));
-pub static JUNGLE_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- ])
-});
-pub static LANTERNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Lantern,
- Block::SoulLantern,
- Block::CopperLantern,
- Block::WaxedCopperLantern,
- Block::ExposedCopperLantern,
- Block::WaxedExposedCopperLantern,
- Block::WeatheredCopperLantern,
- Block::WaxedWeatheredCopperLantern,
- Block::OxidizedCopperLantern,
- Block::WaxedOxidizedCopperLantern,
- ])
-});
-pub static LAPIS_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::LapisOre, Block::DeepslateLapisOre]));
-pub static LAVA_POOL_STONE_CANNOT_REPLACE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Bedrock,
- Block::Spawner,
- Block::Chest,
- Block::EndPortalFrame,
- Block::ReinforcedDeepslate,
- Block::TrialSpawner,
- Block::Vault,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static LEAVES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- ])
-});
-pub static LIGHTNING_RODS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::LightningRod,
- Block::ExposedLightningRod,
- Block::WeatheredLightningRod,
- Block::OxidizedLightningRod,
- Block::WaxedLightningRod,
- Block::WaxedExposedLightningRod,
- Block::WaxedWeatheredLightningRod,
- Block::WaxedOxidizedLightningRod,
- ])
-});
-pub static LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static LOGS_THAT_BURN: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static LUSH_GROUND_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Clay,
- Block::Gravel,
- Block::Sand,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::CaveVinesPlant,
- Block::CaveVines,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static MAINTAINS_FARMLAND: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::PumpkinStem,
- Block::AttachedPumpkinStem,
- Block::MelonStem,
- Block::AttachedMelonStem,
- Block::Beetroots,
- Block::Carrots,
- Block::Potatoes,
- Block::TorchflowerCrop,
- Block::Torchflower,
- Block::PitcherCrop,
- Block::Wheat,
- ])
-});
-pub static MANGROVE_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- ])
-});
-pub static MANGROVE_LOGS_CAN_GROW_THROUGH: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::MangroveRoots,
- Block::MangroveLeaves,
- Block::MangroveLog,
- Block::MangrovePropagule,
- Block::MossCarpet,
- Block::Vine,
- ])
-});
-pub static MANGROVE_ROOTS_CAN_GROW_THROUGH: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::MangroveRoots,
- Block::MossCarpet,
- Block::Vine,
- Block::MangrovePropagule,
- Block::Snow,
- ])
-});
-pub static MINEABLE_AXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::NoteBlock,
- Block::Bamboo,
- Block::Barrel,
- Block::BeeNest,
- Block::Beehive,
- Block::BigDripleafStem,
- Block::BigDripleaf,
- Block::Bookshelf,
- Block::BrownMushroomBlock,
- Block::Campfire,
- Block::CartographyTable,
- Block::CarvedPumpkin,
- Block::Chest,
- Block::ChorusFlower,
- Block::ChorusPlant,
- Block::Cocoa,
- Block::Composter,
- Block::CraftingTable,
- Block::DaylightDetector,
- Block::FletchingTable,
- Block::GlowLichen,
- Block::JackOLantern,
- Block::Jukebox,
- Block::Ladder,
- Block::Lectern,
- Block::Loom,
- Block::Melon,
- Block::MushroomStem,
- Block::Pumpkin,
- Block::RedMushroomBlock,
- Block::SmithingTable,
- Block::SoulCampfire,
- Block::TrappedChest,
- Block::Vine,
- Block::MangroveRoots,
- Block::BambooMosaic,
- Block::BambooMosaicSlab,
- Block::BambooMosaicStairs,
- Block::ChiseledBookshelf,
- Block::CreakingHeart,
- Block::WhiteBanner,
- Block::OrangeBanner,
- Block::MagentaBanner,
- Block::LightBlueBanner,
- Block::YellowBanner,
- Block::LimeBanner,
- Block::PinkBanner,
- Block::GrayBanner,
- Block::LightGrayBanner,
- Block::CyanBanner,
- Block::PurpleBanner,
- Block::BlueBanner,
- Block::BrownBanner,
- Block::GreenBanner,
- Block::RedBanner,
- Block::BlackBanner,
- Block::WhiteWallBanner,
- Block::OrangeWallBanner,
- Block::MagentaWallBanner,
- Block::LightBlueWallBanner,
- Block::YellowWallBanner,
- Block::LimeWallBanner,
- Block::PinkWallBanner,
- Block::GrayWallBanner,
- Block::LightGrayWallBanner,
- Block::CyanWallBanner,
- Block::PurpleWallBanner,
- Block::BlueWallBanner,
- Block::BrownWallBanner,
- Block::GreenWallBanner,
- Block::RedWallBanner,
- Block::BlackWallBanner,
- Block::AcaciaFenceGate,
- Block::BirchFenceGate,
- Block::DarkOakFenceGate,
- Block::PaleOakFenceGate,
- Block::JungleFenceGate,
- Block::OakFenceGate,
- Block::SpruceFenceGate,
- Block::CrimsonFenceGate,
- Block::WarpedFenceGate,
- Block::MangroveFenceGate,
- Block::BambooFenceGate,
- Block::CherryFenceGate,
- Block::OakPlanks,
- Block::SprucePlanks,
- Block::BirchPlanks,
- Block::JunglePlanks,
- Block::AcaciaPlanks,
- Block::DarkOakPlanks,
- Block::PaleOakPlanks,
- Block::CrimsonPlanks,
- Block::WarpedPlanks,
- Block::MangrovePlanks,
- Block::BambooPlanks,
- Block::CherryPlanks,
- Block::OakButton,
- Block::SpruceButton,
- Block::BirchButton,
- Block::JungleButton,
- Block::AcaciaButton,
- Block::DarkOakButton,
- Block::PaleOakButton,
- Block::CrimsonButton,
- Block::WarpedButton,
- Block::MangroveButton,
- Block::BambooButton,
- Block::CherryButton,
- Block::OakDoor,
- Block::SpruceDoor,
- Block::BirchDoor,
- Block::JungleDoor,
- Block::AcaciaDoor,
- Block::DarkOakDoor,
- Block::PaleOakDoor,
- Block::CrimsonDoor,
- Block::WarpedDoor,
- Block::MangroveDoor,
- Block::BambooDoor,
- Block::CherryDoor,
- Block::OakFence,
- Block::AcaciaFence,
- Block::DarkOakFence,
- Block::PaleOakFence,
- Block::SpruceFence,
- Block::BirchFence,
- Block::JungleFence,
- Block::CrimsonFence,
- Block::WarpedFence,
- Block::MangroveFence,
- Block::BambooFence,
- Block::CherryFence,
- Block::OakPressurePlate,
- Block::SprucePressurePlate,
- Block::BirchPressurePlate,
- Block::JunglePressurePlate,
- Block::AcaciaPressurePlate,
- Block::DarkOakPressurePlate,
- Block::PaleOakPressurePlate,
- Block::CrimsonPressurePlate,
- Block::WarpedPressurePlate,
- Block::MangrovePressurePlate,
- Block::BambooPressurePlate,
- Block::CherryPressurePlate,
- Block::OakSlab,
- Block::SpruceSlab,
- Block::BirchSlab,
- Block::JungleSlab,
- Block::AcaciaSlab,
- Block::DarkOakSlab,
- Block::PaleOakSlab,
- Block::CrimsonSlab,
- Block::WarpedSlab,
- Block::MangroveSlab,
- Block::BambooSlab,
- Block::CherrySlab,
- Block::OakStairs,
- Block::SpruceStairs,
- Block::BirchStairs,
- Block::JungleStairs,
- Block::AcaciaStairs,
- Block::DarkOakStairs,
- Block::PaleOakStairs,
- Block::CrimsonStairs,
- Block::WarpedStairs,
- Block::MangroveStairs,
- Block::BambooStairs,
- Block::CherryStairs,
- Block::AcaciaTrapdoor,
- Block::BirchTrapdoor,
- Block::DarkOakTrapdoor,
- Block::PaleOakTrapdoor,
- Block::JungleTrapdoor,
- Block::OakTrapdoor,
- Block::SpruceTrapdoor,
- Block::CrimsonTrapdoor,
- Block::WarpedTrapdoor,
- Block::MangroveTrapdoor,
- Block::BambooTrapdoor,
- Block::CherryTrapdoor,
- Block::BambooBlock,
- Block::StrippedBambooBlock,
- Block::AcaciaShelf,
- Block::BambooShelf,
- Block::BirchShelf,
- Block::CherryShelf,
- Block::CrimsonShelf,
- Block::DarkOakShelf,
- Block::JungleShelf,
- Block::MangroveShelf,
- Block::OakShelf,
- Block::PaleOakShelf,
- Block::SpruceShelf,
- Block::WarpedShelf,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::OakSign,
- Block::SpruceSign,
- Block::BirchSign,
- Block::AcaciaSign,
- Block::JungleSign,
- Block::DarkOakSign,
- Block::PaleOakSign,
- Block::CrimsonSign,
- Block::WarpedSign,
- Block::MangroveSign,
- Block::BambooSign,
- Block::CherrySign,
- Block::OakWallSign,
- Block::SpruceWallSign,
- Block::BirchWallSign,
- Block::AcaciaWallSign,
- Block::JungleWallSign,
- Block::DarkOakWallSign,
- Block::PaleOakWallSign,
- Block::CrimsonWallSign,
- Block::WarpedWallSign,
- Block::MangroveWallSign,
- Block::BambooWallSign,
- Block::CherryWallSign,
- Block::OakHangingSign,
- Block::SpruceHangingSign,
- Block::BirchHangingSign,
- Block::AcaciaHangingSign,
- Block::CherryHangingSign,
- Block::JungleHangingSign,
- Block::DarkOakHangingSign,
- Block::PaleOakHangingSign,
- Block::CrimsonHangingSign,
- Block::WarpedHangingSign,
- Block::MangroveHangingSign,
- Block::BambooHangingSign,
- Block::OakWallHangingSign,
- Block::SpruceWallHangingSign,
- Block::BirchWallHangingSign,
- Block::AcaciaWallHangingSign,
- Block::CherryWallHangingSign,
- Block::JungleWallHangingSign,
- Block::DarkOakWallHangingSign,
- Block::PaleOakWallHangingSign,
- Block::CrimsonWallHangingSign,
- Block::WarpedWallHangingSign,
- Block::MangroveWallHangingSign,
- Block::BambooWallHangingSign,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static MINEABLE_HOE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::NetherWartBlock,
- Block::WarpedWartBlock,
- Block::HayBlock,
- Block::DriedKelpBlock,
- Block::Target,
- Block::Shroomlight,
- Block::Sponge,
- Block::WetSponge,
- Block::SculkSensor,
- Block::CalibratedSculkSensor,
- Block::MossBlock,
- Block::MossCarpet,
- Block::PaleMossBlock,
- Block::PaleMossCarpet,
- Block::Sculk,
- Block::SculkCatalyst,
- Block::SculkVein,
- Block::SculkShrieker,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- ])
-});
-pub static MINEABLE_PICKAXE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Granite,
- Block::PolishedGranite,
- Block::Diorite,
- Block::PolishedDiorite,
- Block::Andesite,
- Block::PolishedAndesite,
- Block::Cobblestone,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::CoalOre,
- Block::DeepslateCoalOre,
- Block::NetherGoldOre,
- Block::LapisOre,
- Block::DeepslateLapisOre,
- Block::LapisBlock,
- Block::Dispenser,
- Block::Sandstone,
- Block::ChiseledSandstone,
- Block::CutSandstone,
- Block::GoldBlock,
- Block::IronBlock,
- Block::Bricks,
- Block::MossyCobblestone,
- Block::Obsidian,
- Block::Spawner,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::DiamondBlock,
- Block::Furnace,
- Block::CobblestoneStairs,
- Block::StonePressurePlate,
- Block::IronDoor,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
- Block::Netherrack,
- Block::Basalt,
- Block::PolishedBasalt,
- Block::StoneBricks,
- Block::MossyStoneBricks,
- Block::CrackedStoneBricks,
- Block::ChiseledStoneBricks,
- Block::BrickStairs,
- Block::StoneBrickStairs,
- Block::NetherBricks,
- Block::NetherBrickFence,
- Block::NetherBrickStairs,
- Block::EnchantingTable,
- Block::BrewingStand,
- Block::EndStone,
- Block::SandstoneStairs,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EnderChest,
- Block::EmeraldBlock,
- Block::LightWeightedPressurePlate,
- Block::HeavyWeightedPressurePlate,
- Block::RedstoneBlock,
- Block::NetherQuartzOre,
- Block::Hopper,
- Block::QuartzBlock,
- Block::ChiseledQuartzBlock,
- Block::QuartzPillar,
- Block::QuartzStairs,
- Block::Dropper,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::IronTrapdoor,
- Block::Prismarine,
- Block::PrismarineBricks,
- Block::DarkPrismarine,
- Block::PrismarineStairs,
- Block::PrismarineBrickStairs,
- Block::DarkPrismarineStairs,
- Block::PrismarineSlab,
- Block::PrismarineBrickSlab,
- Block::DarkPrismarineSlab,
- Block::Terracotta,
- Block::CoalBlock,
- Block::RedSandstone,
- Block::ChiseledRedSandstone,
- Block::CutRedSandstone,
- Block::RedSandstoneStairs,
- Block::StoneSlab,
- Block::SmoothStoneSlab,
- Block::SandstoneSlab,
- Block::CutSandstoneSlab,
- Block::PetrifiedOakSlab,
- Block::CobblestoneSlab,
- Block::BrickSlab,
- Block::StoneBrickSlab,
- Block::NetherBrickSlab,
- Block::QuartzSlab,
- Block::RedSandstoneSlab,
- Block::CutRedSandstoneSlab,
- Block::PurpurSlab,
- Block::SmoothStone,
- Block::SmoothSandstone,
- Block::SmoothQuartz,
- Block::SmoothRedSandstone,
- Block::PurpurBlock,
- Block::PurpurPillar,
- Block::PurpurStairs,
- Block::EndStoneBricks,
- Block::MagmaBlock,
- Block::RedNetherBricks,
- Block::BoneBlock,
- Block::Observer,
- Block::WhiteGlazedTerracotta,
- Block::OrangeGlazedTerracotta,
- Block::MagentaGlazedTerracotta,
- Block::LightBlueGlazedTerracotta,
- Block::YellowGlazedTerracotta,
- Block::LimeGlazedTerracotta,
- Block::PinkGlazedTerracotta,
- Block::GrayGlazedTerracotta,
- Block::LightGrayGlazedTerracotta,
- Block::CyanGlazedTerracotta,
- Block::PurpleGlazedTerracotta,
- Block::BlueGlazedTerracotta,
- Block::BrownGlazedTerracotta,
- Block::GreenGlazedTerracotta,
- Block::RedGlazedTerracotta,
- Block::BlackGlazedTerracotta,
- Block::WhiteConcrete,
- Block::OrangeConcrete,
- Block::MagentaConcrete,
- Block::LightBlueConcrete,
- Block::YellowConcrete,
- Block::LimeConcrete,
- Block::PinkConcrete,
- Block::GrayConcrete,
- Block::LightGrayConcrete,
- Block::CyanConcrete,
- Block::PurpleConcrete,
- Block::BlueConcrete,
- Block::BrownConcrete,
- Block::GreenConcrete,
- Block::RedConcrete,
- Block::BlackConcrete,
- Block::DeadTubeCoralBlock,
- Block::DeadBrainCoralBlock,
- Block::DeadBubbleCoralBlock,
- Block::DeadFireCoralBlock,
- Block::DeadHornCoralBlock,
- Block::TubeCoralBlock,
- Block::BrainCoralBlock,
- Block::BubbleCoralBlock,
- Block::FireCoralBlock,
- Block::HornCoralBlock,
- Block::DeadTubeCoral,
- Block::DeadBrainCoral,
- Block::DeadBubbleCoral,
- Block::DeadFireCoral,
- Block::DeadHornCoral,
- Block::DeadTubeCoralFan,
- Block::DeadBrainCoralFan,
- Block::DeadBubbleCoralFan,
- Block::DeadFireCoralFan,
- Block::DeadHornCoralFan,
- Block::DeadTubeCoralWallFan,
- Block::DeadBrainCoralWallFan,
- Block::DeadBubbleCoralWallFan,
- Block::DeadFireCoralWallFan,
- Block::DeadHornCoralWallFan,
- Block::PolishedGraniteStairs,
- Block::SmoothRedSandstoneStairs,
- Block::MossyStoneBrickStairs,
- Block::PolishedDioriteStairs,
- Block::MossyCobblestoneStairs,
- Block::EndStoneBrickStairs,
- Block::StoneStairs,
- Block::SmoothSandstoneStairs,
- Block::SmoothQuartzStairs,
- Block::GraniteStairs,
- Block::AndesiteStairs,
- Block::RedNetherBrickStairs,
- Block::PolishedAndesiteStairs,
- Block::DioriteStairs,
- Block::PolishedGraniteSlab,
- Block::SmoothRedSandstoneSlab,
- Block::MossyStoneBrickSlab,
- Block::PolishedDioriteSlab,
- Block::MossyCobblestoneSlab,
- Block::EndStoneBrickSlab,
- Block::SmoothSandstoneSlab,
- Block::SmoothQuartzSlab,
- Block::GraniteSlab,
- Block::AndesiteSlab,
- Block::RedNetherBrickSlab,
- Block::PolishedAndesiteSlab,
- Block::DioriteSlab,
- Block::Smoker,
- Block::BlastFurnace,
- Block::Grindstone,
- Block::Stonecutter,
- Block::Bell,
- Block::WarpedNylium,
- Block::CrimsonNylium,
- Block::NetheriteBlock,
- Block::AncientDebris,
- Block::CryingObsidian,
- Block::RespawnAnchor,
- Block::Lodestone,
- Block::Blackstone,
- Block::BlackstoneStairs,
- Block::BlackstoneSlab,
- Block::PolishedBlackstone,
- Block::PolishedBlackstoneBricks,
- Block::CrackedPolishedBlackstoneBricks,
- Block::ChiseledPolishedBlackstone,
- Block::PolishedBlackstoneBrickSlab,
- Block::PolishedBlackstoneBrickStairs,
- Block::GildedBlackstone,
- Block::PolishedBlackstoneStairs,
- Block::PolishedBlackstoneSlab,
- Block::PolishedBlackstonePressurePlate,
- Block::ChiseledNetherBricks,
- Block::CrackedNetherBricks,
- Block::QuartzBricks,
- Block::Tuff,
- Block::Calcite,
- Block::OxidizedCopper,
- Block::WeatheredCopper,
- Block::ExposedCopper,
- Block::CopperBlock,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- Block::OxidizedCutCopper,
- Block::WeatheredCutCopper,
- Block::ExposedCutCopper,
- Block::CutCopper,
- Block::OxidizedCutCopperStairs,
- Block::WeatheredCutCopperStairs,
- Block::ExposedCutCopperStairs,
- Block::CutCopperStairs,
- Block::OxidizedCutCopperSlab,
- Block::WeatheredCutCopperSlab,
- Block::ExposedCutCopperSlab,
- Block::CutCopperSlab,
- Block::WaxedCopperBlock,
- Block::WaxedWeatheredCopper,
- Block::WaxedExposedCopper,
- Block::WaxedOxidizedCopper,
- Block::WaxedOxidizedCutCopper,
- Block::WaxedWeatheredCutCopper,
- Block::WaxedExposedCutCopper,
- Block::WaxedCutCopper,
- Block::WaxedOxidizedCutCopperStairs,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedCutCopperStairs,
- Block::WaxedOxidizedCutCopperSlab,
- Block::WaxedWeatheredCutCopperSlab,
- Block::WaxedExposedCutCopperSlab,
- Block::WaxedCutCopperSlab,
- Block::PointedDripstone,
- Block::DripstoneBlock,
- Block::Deepslate,
- Block::CobbledDeepslate,
- Block::CobbledDeepslateStairs,
- Block::CobbledDeepslateSlab,
- Block::PolishedDeepslate,
- Block::PolishedDeepslateStairs,
- Block::PolishedDeepslateSlab,
- Block::DeepslateTiles,
- Block::DeepslateTileStairs,
- Block::DeepslateTileSlab,
- Block::DeepslateBricks,
- Block::DeepslateBrickStairs,
- Block::DeepslateBrickSlab,
- Block::ChiseledDeepslate,
- Block::CrackedDeepslateBricks,
- Block::CrackedDeepslateTiles,
- Block::SmoothBasalt,
- Block::RawIronBlock,
- Block::RawCopperBlock,
- Block::RawGoldBlock,
- Block::Ice,
- Block::PackedIce,
- Block::BlueIce,
- Block::Piston,
- Block::StickyPiston,
- Block::PistonHead,
- Block::AmethystCluster,
- Block::SmallAmethystBud,
- Block::MediumAmethystBud,
- Block::LargeAmethystBud,
- Block::AmethystBlock,
- Block::BuddingAmethyst,
- Block::InfestedCobblestone,
- Block::InfestedChiseledStoneBricks,
- Block::InfestedCrackedStoneBricks,
- Block::InfestedDeepslate,
- Block::InfestedStone,
- Block::InfestedMossyStoneBricks,
- Block::InfestedStoneBricks,
- Block::Conduit,
- Block::MudBricks,
- Block::MudBrickStairs,
- Block::MudBrickSlab,
- Block::PackedMud,
- Block::Crafter,
- Block::TuffSlab,
- Block::TuffStairs,
- Block::TuffWall,
- Block::ChiseledTuff,
- Block::PolishedTuff,
- Block::PolishedTuffSlab,
- Block::PolishedTuffStairs,
- Block::PolishedTuffWall,
- Block::TuffBricks,
- Block::TuffBrickSlab,
- Block::TuffBrickStairs,
- Block::TuffBrickWall,
- Block::ChiseledTuffBricks,
- Block::ChiseledCopper,
- Block::ExposedChiseledCopper,
- Block::WeatheredChiseledCopper,
- Block::OxidizedChiseledCopper,
- Block::WaxedChiseledCopper,
- Block::WaxedExposedChiseledCopper,
- Block::WaxedWeatheredChiseledCopper,
- Block::WaxedOxidizedChiseledCopper,
- Block::CopperGrate,
- Block::ExposedCopperGrate,
- Block::WeatheredCopperGrate,
- Block::OxidizedCopperGrate,
- Block::WaxedCopperGrate,
- Block::WaxedExposedCopperGrate,
- Block::WaxedWeatheredCopperGrate,
- Block::WaxedOxidizedCopperGrate,
- Block::CopperBulb,
- Block::ExposedCopperBulb,
- Block::WeatheredCopperBulb,
- Block::OxidizedCopperBulb,
- Block::WaxedCopperBulb,
- Block::WaxedExposedCopperBulb,
- Block::WaxedWeatheredCopperBulb,
- Block::WaxedOxidizedCopperBulb,
- Block::CopperDoor,
- Block::ExposedCopperDoor,
- Block::WeatheredCopperDoor,
- Block::OxidizedCopperDoor,
- Block::WaxedCopperDoor,
- Block::WaxedExposedCopperDoor,
- Block::WaxedWeatheredCopperDoor,
- Block::WaxedOxidizedCopperDoor,
- Block::CopperTrapdoor,
- Block::ExposedCopperTrapdoor,
- Block::WeatheredCopperTrapdoor,
- Block::OxidizedCopperTrapdoor,
- Block::WaxedCopperTrapdoor,
- Block::WaxedExposedCopperTrapdoor,
- Block::WaxedWeatheredCopperTrapdoor,
- Block::WaxedOxidizedCopperTrapdoor,
- Block::HeavyCore,
- Block::ResinBricks,
- Block::ResinBrickSlab,
- Block::ResinBrickWall,
- Block::ResinBrickStairs,
- Block::ChiseledResinBricks,
- Block::StoneButton,
- Block::PolishedBlackstoneButton,
- Block::CobblestoneWall,
- Block::MossyCobblestoneWall,
- Block::BrickWall,
- Block::PrismarineWall,
- Block::RedSandstoneWall,
- Block::MossyStoneBrickWall,
- Block::GraniteWall,
- Block::StoneBrickWall,
- Block::NetherBrickWall,
- Block::AndesiteWall,
- Block::RedNetherBrickWall,
- Block::SandstoneWall,
- Block::EndStoneBrickWall,
- Block::DioriteWall,
- Block::BlackstoneWall,
- Block::PolishedBlackstoneBrickWall,
- Block::PolishedBlackstoneWall,
- Block::CobbledDeepslateWall,
- Block::PolishedDeepslateWall,
- Block::DeepslateTileWall,
- Block::DeepslateBrickWall,
- Block::MudBrickWall,
- Block::TuffWall,
- Block::PolishedTuffWall,
- Block::TuffBrickWall,
- Block::ResinBrickWall,
- Block::ShulkerBox,
- Block::BlackShulkerBox,
- Block::BlueShulkerBox,
- Block::BrownShulkerBox,
- Block::CyanShulkerBox,
- Block::GrayShulkerBox,
- Block::GreenShulkerBox,
- Block::LightBlueShulkerBox,
- Block::LightGrayShulkerBox,
- Block::LimeShulkerBox,
- Block::MagentaShulkerBox,
- Block::OrangeShulkerBox,
- Block::PinkShulkerBox,
- Block::PurpleShulkerBox,
- Block::RedShulkerBox,
- Block::WhiteShulkerBox,
- Block::YellowShulkerBox,
- Block::Anvil,
- Block::ChippedAnvil,
- Block::DamagedAnvil,
- Block::Cauldron,
- Block::WaterCauldron,
- Block::LavaCauldron,
- Block::PowderSnowCauldron,
- Block::Rail,
- Block::PoweredRail,
- Block::DetectorRail,
- Block::ActivatorRail,
- Block::CopperChest,
- Block::ExposedCopperChest,
- Block::WeatheredCopperChest,
- Block::OxidizedCopperChest,
- Block::WaxedCopperChest,
- Block::WaxedExposedCopperChest,
- Block::WaxedWeatheredCopperChest,
- Block::WaxedOxidizedCopperChest,
- Block::CopperGolemStatue,
- Block::ExposedCopperGolemStatue,
- Block::WeatheredCopperGolemStatue,
- Block::OxidizedCopperGolemStatue,
- Block::WaxedCopperGolemStatue,
- Block::WaxedExposedCopperGolemStatue,
- Block::WaxedWeatheredCopperGolemStatue,
- Block::WaxedOxidizedCopperGolemStatue,
- Block::LightningRod,
- Block::ExposedLightningRod,
- Block::WeatheredLightningRod,
- Block::OxidizedLightningRod,
- Block::WaxedLightningRod,
- Block::WaxedExposedLightningRod,
- Block::WaxedWeatheredLightningRod,
- Block::WaxedOxidizedLightningRod,
- Block::Lantern,
- Block::SoulLantern,
- Block::CopperLantern,
- Block::WaxedCopperLantern,
- Block::ExposedCopperLantern,
- Block::WaxedExposedCopperLantern,
- Block::WeatheredCopperLantern,
- Block::WaxedWeatheredCopperLantern,
- Block::OxidizedCopperLantern,
- Block::WaxedOxidizedCopperLantern,
- Block::IronChain,
- Block::CopperChain,
- Block::WaxedCopperChain,
- Block::ExposedCopperChain,
- Block::WaxedExposedCopperChain,
- Block::WeatheredCopperChain,
- Block::WaxedWeatheredCopperChain,
- Block::OxidizedCopperChain,
- Block::WaxedOxidizedCopperChain,
- Block::IronBars,
- Block::CopperBars,
- Block::WaxedCopperBars,
- Block::ExposedCopperBars,
- Block::WaxedExposedCopperBars,
- Block::WeatheredCopperBars,
- Block::WaxedWeatheredCopperBars,
- Block::OxidizedCopperBars,
- Block::WaxedOxidizedCopperBars,
- ])
-});
-pub static MINEABLE_SHOVEL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Clay,
- Block::Dirt,
- Block::CoarseDirt,
- Block::Podzol,
- Block::Farmland,
- Block::GrassBlock,
- Block::Gravel,
- Block::Mycelium,
- Block::Sand,
- Block::RedSand,
- Block::SnowBlock,
- Block::Snow,
- Block::SoulSand,
- Block::DirtPath,
- Block::SoulSoil,
- Block::RootedDirt,
- Block::MuddyMangroveRoots,
- Block::Mud,
- Block::SuspiciousSand,
- Block::SuspiciousGravel,
- Block::WhiteConcretePowder,
- Block::OrangeConcretePowder,
- Block::MagentaConcretePowder,
- Block::LightBlueConcretePowder,
- Block::YellowConcretePowder,
- Block::LimeConcretePowder,
- Block::PinkConcretePowder,
- Block::GrayConcretePowder,
- Block::LightGrayConcretePowder,
- Block::CyanConcretePowder,
- Block::PurpleConcretePowder,
- Block::BlueConcretePowder,
- Block::BrownConcretePowder,
- Block::GreenConcretePowder,
- Block::RedConcretePowder,
- Block::BlackConcretePowder,
- ])
-});
-pub static MOB_INTERACTABLE_DOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CopperDoor,
- Block::ExposedCopperDoor,
- Block::WeatheredCopperDoor,
- Block::OxidizedCopperDoor,
- Block::WaxedCopperDoor,
- Block::WaxedExposedCopperDoor,
- Block::WaxedWeatheredCopperDoor,
- Block::WaxedOxidizedCopperDoor,
- Block::OakDoor,
- Block::SpruceDoor,
- Block::BirchDoor,
- Block::JungleDoor,
- Block::AcaciaDoor,
- Block::DarkOakDoor,
- Block::PaleOakDoor,
- Block::CrimsonDoor,
- Block::WarpedDoor,
- Block::MangroveDoor,
- Block::BambooDoor,
- Block::CherryDoor,
- ])
-});
-pub static MOOSHROOMS_SPAWNABLE_ON: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Mycelium]));
-pub static MOSS_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::CaveVinesPlant,
- Block::CaveVines,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static MUSHROOM_GROW_BLOCK: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Mycelium,
- Block::Podzol,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- ])
-});
-pub static NEEDS_DIAMOND_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Obsidian,
- Block::CryingObsidian,
- Block::NetheriteBlock,
- Block::RespawnAnchor,
- Block::AncientDebris,
- ])
-});
-pub static NEEDS_IRON_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::DiamondBlock,
- Block::DiamondOre,
- Block::DeepslateDiamondOre,
- Block::EmeraldOre,
- Block::DeepslateEmeraldOre,
- Block::EmeraldBlock,
- Block::GoldBlock,
- Block::RawGoldBlock,
- Block::GoldOre,
- Block::DeepslateGoldOre,
- Block::RedstoneOre,
- Block::DeepslateRedstoneOre,
- ])
-});
-pub static NEEDS_STONE_TOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::IronBlock,
- Block::RawIronBlock,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::LapisBlock,
- Block::LapisOre,
- Block::DeepslateLapisOre,
- Block::CopperBlock,
- Block::RawCopperBlock,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- Block::CutCopperSlab,
- Block::CutCopperStairs,
- Block::CutCopper,
- Block::WeatheredCopper,
- Block::WeatheredCutCopperSlab,
- Block::WeatheredCutCopperStairs,
- Block::WeatheredCutCopper,
- Block::OxidizedCopper,
- Block::OxidizedCutCopperSlab,
- Block::OxidizedCutCopperStairs,
- Block::OxidizedCutCopper,
- Block::ExposedCopper,
- Block::ExposedCutCopperSlab,
- Block::ExposedCutCopperStairs,
- Block::ExposedCutCopper,
- Block::WaxedCopperBlock,
- Block::WaxedCutCopperSlab,
- Block::WaxedCutCopperStairs,
- Block::WaxedCutCopper,
- Block::WaxedWeatheredCopper,
- Block::WaxedWeatheredCutCopperSlab,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedWeatheredCutCopper,
- Block::WaxedExposedCopper,
- Block::WaxedExposedCutCopperSlab,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedExposedCutCopper,
- Block::WaxedOxidizedCopper,
- Block::WaxedOxidizedCutCopperSlab,
- Block::WaxedOxidizedCutCopperStairs,
- Block::WaxedOxidizedCutCopper,
- Block::Crafter,
- Block::ChiseledCopper,
- Block::ExposedChiseledCopper,
- Block::WeatheredChiseledCopper,
- Block::OxidizedChiseledCopper,
- Block::WaxedChiseledCopper,
- Block::WaxedExposedChiseledCopper,
- Block::WaxedWeatheredChiseledCopper,
- Block::WaxedOxidizedChiseledCopper,
- Block::CopperGrate,
- Block::ExposedCopperGrate,
- Block::WeatheredCopperGrate,
- Block::OxidizedCopperGrate,
- Block::WaxedCopperGrate,
- Block::WaxedExposedCopperGrate,
- Block::WaxedWeatheredCopperGrate,
- Block::WaxedOxidizedCopperGrate,
- Block::CopperBulb,
- Block::ExposedCopperBulb,
- Block::WeatheredCopperBulb,
- Block::OxidizedCopperBulb,
- Block::WaxedCopperBulb,
- Block::WaxedExposedCopperBulb,
- Block::WaxedWeatheredCopperBulb,
- Block::WaxedOxidizedCopperBulb,
- Block::CopperTrapdoor,
- Block::ExposedCopperTrapdoor,
- Block::WeatheredCopperTrapdoor,
- Block::OxidizedCopperTrapdoor,
- Block::WaxedCopperTrapdoor,
- Block::WaxedExposedCopperTrapdoor,
- Block::WaxedWeatheredCopperTrapdoor,
- Block::WaxedOxidizedCopperTrapdoor,
- Block::CopperChest,
- Block::ExposedCopperChest,
- Block::WeatheredCopperChest,
- Block::OxidizedCopperChest,
- Block::WaxedCopperChest,
- Block::WaxedExposedCopperChest,
- Block::WaxedWeatheredCopperChest,
- Block::WaxedOxidizedCopperChest,
- Block::LightningRod,
- Block::ExposedLightningRod,
- Block::WeatheredLightningRod,
- Block::OxidizedLightningRod,
- Block::WaxedLightningRod,
- Block::WaxedExposedLightningRod,
- Block::WaxedWeatheredLightningRod,
- Block::WaxedOxidizedLightningRod,
- ])
-});
-pub static NETHER_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SoulSand,
- Block::SoulSoil,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Netherrack,
- Block::Basalt,
- Block::Blackstone,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- Block::NetherWartBlock,
- Block::WarpedWartBlock,
- ])
-});
-pub static NYLIUM: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::CrimsonNylium, Block::WarpedNylium]));
-pub static OAK_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- ])
-});
-pub static OCCLUDES_VIBRATION_SIGNALS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WhiteWool,
- Block::OrangeWool,
- Block::MagentaWool,
- Block::LightBlueWool,
- Block::YellowWool,
- Block::LimeWool,
- Block::PinkWool,
- Block::GrayWool,
- Block::LightGrayWool,
- Block::CyanWool,
- Block::PurpleWool,
- Block::BlueWool,
- Block::BrownWool,
- Block::GreenWool,
- Block::RedWool,
- Block::BlackWool,
- ])
-});
-pub static OVERWORLD_CARVER_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Water,
- Block::Gravel,
- Block::SuspiciousGravel,
- Block::Sandstone,
- Block::RedSandstone,
- Block::Calcite,
- Block::PackedIce,
- Block::RawIronBlock,
- Block::RawCopperBlock,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Sand,
- Block::RedSand,
- Block::SuspiciousSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::IronOre,
- Block::DeepslateIronOre,
- Block::CopperOre,
- Block::DeepslateCopperOre,
- Block::Snow,
- Block::SnowBlock,
- Block::PowderSnow,
- ])
-});
-pub static OVERWORLD_NATURAL_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::AcaciaLog,
- Block::BirchLog,
- Block::OakLog,
- Block::JungleLog,
- Block::SpruceLog,
- Block::DarkOakLog,
- Block::PaleOakLog,
- Block::MangroveLog,
- Block::CherryLog,
- ])
-});
-pub static PALE_OAK_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- ])
-});
-pub static PARROTS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GrassBlock,
- Block::Air,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::CrimsonStem,
- Block::StrippedCrimsonStem,
- Block::CrimsonHyphae,
- Block::StrippedCrimsonHyphae,
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- Block::DarkOakLog,
- Block::DarkOakWood,
- Block::StrippedDarkOakLog,
- Block::StrippedDarkOakWood,
- Block::PaleOakLog,
- Block::PaleOakWood,
- Block::StrippedPaleOakLog,
- Block::StrippedPaleOakWood,
- Block::OakLog,
- Block::OakWood,
- Block::StrippedOakLog,
- Block::StrippedOakWood,
- Block::AcaciaLog,
- Block::AcaciaWood,
- Block::StrippedAcaciaLog,
- Block::StrippedAcaciaWood,
- Block::BirchLog,
- Block::BirchWood,
- Block::StrippedBirchLog,
- Block::StrippedBirchWood,
- Block::JungleLog,
- Block::JungleWood,
- Block::StrippedJungleLog,
- Block::StrippedJungleWood,
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- Block::MangroveLog,
- Block::MangroveWood,
- Block::StrippedMangroveLog,
- Block::StrippedMangroveWood,
- Block::CherryLog,
- Block::CherryWood,
- Block::StrippedCherryLog,
- Block::StrippedCherryWood,
- ])
-});
-pub static PIGLIN_REPELLENTS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SoulFire,
- Block::SoulTorch,
- Block::SoulLantern,
- Block::SoulWallTorch,
- Block::SoulCampfire,
- ])
-});
-pub static PLANKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakPlanks,
- Block::SprucePlanks,
- Block::BirchPlanks,
- Block::JunglePlanks,
- Block::AcaciaPlanks,
- Block::DarkOakPlanks,
- Block::PaleOakPlanks,
- Block::CrimsonPlanks,
- Block::WarpedPlanks,
- Block::MangrovePlanks,
- Block::BambooPlanks,
- Block::CherryPlanks,
- ])
-});
-pub static POLAR_BEARS_SPAWNABLE_ON_ALTERNATE: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Ice]));
-pub static PORTALS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([Block::NetherPortal, Block::EndPortal, Block::EndGateway])
-});
-pub static PRESSURE_PLATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::LightWeightedPressurePlate,
- Block::HeavyWeightedPressurePlate,
- Block::OakPressurePlate,
- Block::SprucePressurePlate,
- Block::BirchPressurePlate,
- Block::JunglePressurePlate,
- Block::AcaciaPressurePlate,
- Block::DarkOakPressurePlate,
- Block::PaleOakPressurePlate,
- Block::CrimsonPressurePlate,
- Block::WarpedPressurePlate,
- Block::MangrovePressurePlate,
- Block::BambooPressurePlate,
- Block::CherryPressurePlate,
- Block::StonePressurePlate,
- Block::PolishedBlackstonePressurePlate,
- ])
-});
-pub static PREVENT_MOB_SPAWNING_INSIDE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Rail,
- Block::PoweredRail,
- Block::DetectorRail,
- Block::ActivatorRail,
- ])
-});
-pub static RABBITS_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GrassBlock,
- Block::Snow,
- Block::SnowBlock,
- Block::Sand,
- ])
-});
-pub static RAILS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Rail,
- Block::PoweredRail,
- Block::DetectorRail,
- Block::ActivatorRail,
- ])
-});
-pub static REDSTONE_ORES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::RedstoneOre, Block::DeepslateRedstoneOre]));
-pub static REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Air,
- Block::Water,
- Block::Lava,
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Bush,
- Block::ShortDryGrass,
- Block::TallDryGrass,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::Fire,
- Block::SoulFire,
- Block::Snow,
- Block::Vine,
- Block::GlowLichen,
- Block::ResinClump,
- Block::Light,
- Block::TallGrass,
- Block::LargeFern,
- Block::StructureVoid,
- Block::VoidAir,
- Block::CaveAir,
- Block::BubbleColumn,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonRoots,
- Block::LeafLitter,
- Block::HangingRoots,
- ])
-});
-pub static REPLACEABLE_BY_MUSHROOMS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::PaleMossCarpet,
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Vine,
- Block::GlowLichen,
- Block::Sunflower,
- Block::Lilac,
- Block::RoseBush,
- Block::Peony,
- Block::TallGrass,
- Block::LargeFern,
- Block::HangingRoots,
- Block::PitcherPlant,
- Block::Water,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::BrownMushroom,
- Block::RedMushroom,
- Block::BrownMushroomBlock,
- Block::RedMushroomBlock,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonRoots,
- Block::LeafLitter,
- Block::ShortDryGrass,
- Block::TallDryGrass,
- Block::Bush,
- Block::FireflyBush,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::Dandelion,
- Block::OpenEyeblossom,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::ClosedEyeblossom,
- ])
-});
-pub static REPLACEABLE_BY_TREES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::PaleMossCarpet,
- Block::ShortGrass,
- Block::Fern,
- Block::DeadBush,
- Block::Vine,
- Block::GlowLichen,
- Block::Sunflower,
- Block::Lilac,
- Block::RoseBush,
- Block::Peony,
- Block::TallGrass,
- Block::LargeFern,
- Block::HangingRoots,
- Block::PitcherPlant,
- Block::Water,
- Block::Seagrass,
- Block::TallSeagrass,
- Block::Bush,
- Block::FireflyBush,
- Block::WarpedRoots,
- Block::NetherSprouts,
- Block::CrimsonRoots,
- Block::LeafLitter,
- Block::ShortDryGrass,
- Block::TallDryGrass,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- Block::Dandelion,
- Block::OpenEyeblossom,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::ClosedEyeblossom,
- ])
-});
-pub static SAND: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Sand, Block::RedSand, Block::SuspiciousSand]));
-pub static SAPLINGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakSapling,
- Block::SpruceSapling,
- Block::BirchSapling,
- Block::JungleSapling,
- Block::AcaciaSapling,
- Block::DarkOakSapling,
- Block::PaleOakSapling,
- Block::Azalea,
- Block::FloweringAzalea,
- Block::MangrovePropagule,
- Block::CherrySapling,
- ])
-});
-pub static SCULK_REPLACEABLE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Sand,
- Block::RedSand,
- Block::Gravel,
- Block::SoulSand,
- Block::SoulSoil,
- Block::Calcite,
- Block::SmoothBasalt,
- Block::Clay,
- Block::DripstoneBlock,
- Block::EndStone,
- Block::RedSandstone,
- Block::Sandstone,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- Block::Netherrack,
- Block::Basalt,
- Block::Blackstone,
- ])
-});
-pub static SCULK_REPLACEABLE_WORLD_GEN: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::DeepslateBricks,
- Block::DeepslateTiles,
- Block::CobbledDeepslate,
- Block::CrackedDeepslateBricks,
- Block::CrackedDeepslateTiles,
- Block::PolishedDeepslate,
- Block::Sand,
- Block::RedSand,
- Block::Gravel,
- Block::SoulSand,
- Block::SoulSoil,
- Block::Calcite,
- Block::SmoothBasalt,
- Block::Clay,
- Block::DripstoneBlock,
- Block::EndStone,
- Block::RedSandstone,
- Block::Sandstone,
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- Block::Tuff,
- Block::Deepslate,
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::Mycelium,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- Block::CrimsonNylium,
- Block::WarpedNylium,
- Block::Netherrack,
- Block::Basalt,
- Block::Blackstone,
- ])
-});
-pub static SHULKER_BOXES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::ShulkerBox,
- Block::BlackShulkerBox,
- Block::BlueShulkerBox,
- Block::BrownShulkerBox,
- Block::CyanShulkerBox,
- Block::GrayShulkerBox,
- Block::GreenShulkerBox,
- Block::LightBlueShulkerBox,
- Block::LightGrayShulkerBox,
- Block::LimeShulkerBox,
- Block::MagentaShulkerBox,
- Block::OrangeShulkerBox,
- Block::PinkShulkerBox,
- Block::PurpleShulkerBox,
- Block::RedShulkerBox,
- Block::WhiteShulkerBox,
- Block::YellowShulkerBox,
- ])
-});
-pub static SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakSign,
- Block::SpruceSign,
- Block::BirchSign,
- Block::AcaciaSign,
- Block::JungleSign,
- Block::DarkOakSign,
- Block::PaleOakSign,
- Block::CrimsonSign,
- Block::WarpedSign,
- Block::MangroveSign,
- Block::BambooSign,
- Block::CherrySign,
- Block::OakWallSign,
- Block::SpruceWallSign,
- Block::BirchWallSign,
- Block::AcaciaWallSign,
- Block::JungleWallSign,
- Block::DarkOakWallSign,
- Block::PaleOakWallSign,
- Block::CrimsonWallSign,
- Block::WarpedWallSign,
- Block::MangroveWallSign,
- Block::BambooWallSign,
- Block::CherryWallSign,
- ])
-});
-pub static SLABS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::BambooMosaicSlab,
- Block::StoneSlab,
- Block::SmoothStoneSlab,
- Block::StoneBrickSlab,
- Block::SandstoneSlab,
- Block::PurpurSlab,
- Block::QuartzSlab,
- Block::RedSandstoneSlab,
- Block::BrickSlab,
- Block::CobblestoneSlab,
- Block::NetherBrickSlab,
- Block::PetrifiedOakSlab,
- Block::PrismarineSlab,
- Block::PrismarineBrickSlab,
- Block::DarkPrismarineSlab,
- Block::PolishedGraniteSlab,
- Block::SmoothRedSandstoneSlab,
- Block::MossyStoneBrickSlab,
- Block::PolishedDioriteSlab,
- Block::MossyCobblestoneSlab,
- Block::EndStoneBrickSlab,
- Block::SmoothSandstoneSlab,
- Block::SmoothQuartzSlab,
- Block::GraniteSlab,
- Block::AndesiteSlab,
- Block::RedNetherBrickSlab,
- Block::PolishedAndesiteSlab,
- Block::DioriteSlab,
- Block::CutSandstoneSlab,
- Block::CutRedSandstoneSlab,
- Block::BlackstoneSlab,
- Block::PolishedBlackstoneBrickSlab,
- Block::PolishedBlackstoneSlab,
- Block::CobbledDeepslateSlab,
- Block::PolishedDeepslateSlab,
- Block::DeepslateTileSlab,
- Block::DeepslateBrickSlab,
- Block::WaxedWeatheredCutCopperSlab,
- Block::WaxedExposedCutCopperSlab,
- Block::WaxedCutCopperSlab,
- Block::OxidizedCutCopperSlab,
- Block::WeatheredCutCopperSlab,
- Block::ExposedCutCopperSlab,
- Block::CutCopperSlab,
- Block::WaxedOxidizedCutCopperSlab,
- Block::MudBrickSlab,
- Block::TuffSlab,
- Block::PolishedTuffSlab,
- Block::TuffBrickSlab,
- Block::ResinBrickSlab,
- Block::OakSlab,
- Block::SpruceSlab,
- Block::BirchSlab,
- Block::JungleSlab,
- Block::AcaciaSlab,
- Block::DarkOakSlab,
- Block::PaleOakSlab,
- Block::CrimsonSlab,
- Block::WarpedSlab,
- Block::MangroveSlab,
- Block::BambooSlab,
- Block::CherrySlab,
- ])
-});
-pub static SMALL_DRIPLEAF_PLACEABLE: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Clay, Block::MossBlock]));
-pub static SMALL_FLOWERS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Dandelion,
- Block::OpenEyeblossom,
- Block::Poppy,
- Block::BlueOrchid,
- Block::Allium,
- Block::AzureBluet,
- Block::RedTulip,
- Block::OrangeTulip,
- Block::WhiteTulip,
- Block::PinkTulip,
- Block::OxeyeDaisy,
- Block::Cornflower,
- Block::LilyOfTheValley,
- Block::WitherRose,
- Block::Torchflower,
- Block::ClosedEyeblossom,
- ])
-});
-pub static SMELTS_TO_GLASS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Sand, Block::RedSand]));
-pub static SNAPS_GOAT_HORN: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::PackedIce,
- Block::IronOre,
- Block::CoalOre,
- Block::CopperOre,
- Block::EmeraldOre,
- Block::AcaciaLog,
- Block::BirchLog,
- Block::OakLog,
- Block::JungleLog,
- Block::SpruceLog,
- Block::DarkOakLog,
- Block::PaleOakLog,
- Block::MangroveLog,
- Block::CherryLog,
- ])
-});
-pub static SNIFFER_DIGGABLE_BLOCK: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Dirt,
- Block::GrassBlock,
- Block::Podzol,
- Block::CoarseDirt,
- Block::RootedDirt,
- Block::MossBlock,
- Block::PaleMossBlock,
- Block::Mud,
- Block::MuddyMangroveRoots,
- ])
-});
-pub static SNIFFER_EGG_HATCH_BOOST: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::MossBlock]));
-pub static SNOW: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Snow, Block::SnowBlock, Block::PowderSnow]));
-pub static SNOW_LAYER_CAN_SURVIVE_ON: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::HoneyBlock, Block::SoulSand, Block::Mud]));
-pub static SNOW_LAYER_CANNOT_SURVIVE_ON: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Ice, Block::PackedIce, Block::Barrier]));
-pub static SOUL_FIRE_BASE_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::SoulSand, Block::SoulSoil]));
-pub static SOUL_SPEED_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::SoulSand, Block::SoulSoil]));
-pub static SPRUCE_LOGS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::SpruceLog,
- Block::SpruceWood,
- Block::StrippedSpruceLog,
- Block::StrippedSpruceWood,
- ])
-});
-pub static STAIRS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::BambooMosaicStairs,
- Block::CobblestoneStairs,
- Block::SandstoneStairs,
- Block::NetherBrickStairs,
- Block::StoneBrickStairs,
- Block::BrickStairs,
- Block::PurpurStairs,
- Block::QuartzStairs,
- Block::RedSandstoneStairs,
- Block::PrismarineBrickStairs,
- Block::PrismarineStairs,
- Block::DarkPrismarineStairs,
- Block::PolishedGraniteStairs,
- Block::SmoothRedSandstoneStairs,
- Block::MossyStoneBrickStairs,
- Block::PolishedDioriteStairs,
- Block::MossyCobblestoneStairs,
- Block::EndStoneBrickStairs,
- Block::StoneStairs,
- Block::SmoothSandstoneStairs,
- Block::SmoothQuartzStairs,
- Block::GraniteStairs,
- Block::AndesiteStairs,
- Block::RedNetherBrickStairs,
- Block::PolishedAndesiteStairs,
- Block::DioriteStairs,
- Block::BlackstoneStairs,
- Block::PolishedBlackstoneBrickStairs,
- Block::PolishedBlackstoneStairs,
- Block::CobbledDeepslateStairs,
- Block::PolishedDeepslateStairs,
- Block::DeepslateTileStairs,
- Block::DeepslateBrickStairs,
- Block::OxidizedCutCopperStairs,
- Block::WeatheredCutCopperStairs,
- Block::ExposedCutCopperStairs,
- Block::CutCopperStairs,
- Block::WaxedWeatheredCutCopperStairs,
- Block::WaxedExposedCutCopperStairs,
- Block::WaxedCutCopperStairs,
- Block::WaxedOxidizedCutCopperStairs,
- Block::MudBrickStairs,
- Block::TuffStairs,
- Block::PolishedTuffStairs,
- Block::TuffBrickStairs,
- Block::ResinBrickStairs,
- Block::OakStairs,
- Block::SpruceStairs,
- Block::BirchStairs,
- Block::JungleStairs,
- Block::AcaciaStairs,
- Block::DarkOakStairs,
- Block::PaleOakStairs,
- Block::CrimsonStairs,
- Block::WarpedStairs,
- Block::MangroveStairs,
- Block::BambooStairs,
- Block::CherryStairs,
- ])
-});
-pub static STANDING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakSign,
- Block::SpruceSign,
- Block::BirchSign,
- Block::AcaciaSign,
- Block::JungleSign,
- Block::DarkOakSign,
- Block::PaleOakSign,
- Block::CrimsonSign,
- Block::WarpedSign,
- Block::MangroveSign,
- Block::BambooSign,
- Block::CherrySign,
- ])
-});
-pub static STONE_BRICKS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::StoneBricks,
- Block::MossyStoneBricks,
- Block::CrackedStoneBricks,
- Block::ChiseledStoneBricks,
- ])
-});
-pub static STONE_BUTTONS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::StoneButton, Block::PolishedBlackstoneButton]));
-pub static STONE_ORE_REPLACEABLES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Stone,
- Block::Granite,
- Block::Diorite,
- Block::Andesite,
- ])
-});
-pub static STONE_PRESSURE_PLATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::StonePressurePlate,
- Block::PolishedBlackstonePressurePlate,
- ])
-});
-pub static STRIDER_WARM_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Lava]));
-pub static SWORD_EFFICIENT: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Vine,
- Block::GlowLichen,
- Block::Pumpkin,
- Block::CarvedPumpkin,
- Block::JackOLantern,
- Block::Melon,
- Block::Cocoa,
- Block::BigDripleaf,
- Block::BigDripleafStem,
- Block::ChorusPlant,
- Block::ChorusFlower,
- Block::JungleLeaves,
- Block::OakLeaves,
- Block::SpruceLeaves,
- Block::PaleOakLeaves,
- Block::DarkOakLeaves,
- Block::AcaciaLeaves,
- Block::BirchLeaves,
- Block::AzaleaLeaves,
- Block::FloweringAzaleaLeaves,
- Block::MangroveLeaves,
- Block::CherryLeaves,
- ])
-});
-pub static SWORD_INSTANTLY_MINES: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Bamboo, Block::BambooSapling]));
-pub static TERRACOTTA: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
- ])
-});
-pub static TRAIL_RUINS_REPLACEABLE: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Gravel]));
-pub static TRAPDOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::IronTrapdoor,
- Block::CopperTrapdoor,
- Block::ExposedCopperTrapdoor,
- Block::WeatheredCopperTrapdoor,
- Block::OxidizedCopperTrapdoor,
- Block::WaxedCopperTrapdoor,
- Block::WaxedExposedCopperTrapdoor,
- Block::WaxedWeatheredCopperTrapdoor,
- Block::WaxedOxidizedCopperTrapdoor,
- Block::AcaciaTrapdoor,
- Block::BirchTrapdoor,
- Block::DarkOakTrapdoor,
- Block::PaleOakTrapdoor,
- Block::JungleTrapdoor,
- Block::OakTrapdoor,
- Block::SpruceTrapdoor,
- Block::CrimsonTrapdoor,
- Block::WarpedTrapdoor,
- Block::MangroveTrapdoor,
- Block::BambooTrapdoor,
- Block::CherryTrapdoor,
- ])
-});
-pub static TRIGGERS_AMBIENT_DESERT_DRY_VEGETATION_BLOCK_SOUNDS: LazyLock<HashSet<Block>> =
+pub static ACACIA_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::AcaciaLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::AcaciaWood,
+ BlockKind::StrippedAcaciaWood,
+ ])
+});
+pub static AIR: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![BlockKind::Air, BlockKind::VoidAir, BlockKind::CaveAir])
+});
+pub static ALL_HANGING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakHangingSign,
+ BlockKind::SpruceHangingSign,
+ BlockKind::BirchHangingSign,
+ BlockKind::AcaciaHangingSign,
+ BlockKind::CherryHangingSign,
+ BlockKind::JungleHangingSign,
+ BlockKind::DarkOakHangingSign,
+ BlockKind::PaleOakHangingSign,
+ BlockKind::CrimsonHangingSign,
+ BlockKind::WarpedHangingSign,
+ BlockKind::MangroveHangingSign,
+ BlockKind::BambooHangingSign,
+ BlockKind::OakWallHangingSign,
+ BlockKind::SpruceWallHangingSign,
+ BlockKind::BirchWallHangingSign,
+ BlockKind::AcaciaWallHangingSign,
+ BlockKind::CherryWallHangingSign,
+ BlockKind::JungleWallHangingSign,
+ BlockKind::DarkOakWallHangingSign,
+ BlockKind::PaleOakWallHangingSign,
+ BlockKind::MangroveWallHangingSign,
+ BlockKind::CrimsonWallHangingSign,
+ BlockKind::WarpedWallHangingSign,
+ BlockKind::BambooWallHangingSign,
+ ])
+});
+pub static ALL_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakSign,
+ BlockKind::SpruceSign,
+ BlockKind::BirchSign,
+ BlockKind::AcaciaSign,
+ BlockKind::CherrySign,
+ BlockKind::JungleSign,
+ BlockKind::DarkOakSign,
+ BlockKind::PaleOakSign,
+ BlockKind::MangroveSign,
+ BlockKind::BambooSign,
+ BlockKind::OakWallSign,
+ BlockKind::SpruceWallSign,
+ BlockKind::BirchWallSign,
+ BlockKind::AcaciaWallSign,
+ BlockKind::CherryWallSign,
+ BlockKind::JungleWallSign,
+ BlockKind::DarkOakWallSign,
+ BlockKind::PaleOakWallSign,
+ BlockKind::MangroveWallSign,
+ BlockKind::BambooWallSign,
+ BlockKind::OakHangingSign,
+ BlockKind::SpruceHangingSign,
+ BlockKind::BirchHangingSign,
+ BlockKind::AcaciaHangingSign,
+ BlockKind::CherryHangingSign,
+ BlockKind::JungleHangingSign,
+ BlockKind::DarkOakHangingSign,
+ BlockKind::PaleOakHangingSign,
+ BlockKind::CrimsonHangingSign,
+ BlockKind::WarpedHangingSign,
+ BlockKind::MangroveHangingSign,
+ BlockKind::BambooHangingSign,
+ BlockKind::OakWallHangingSign,
+ BlockKind::SpruceWallHangingSign,
+ BlockKind::BirchWallHangingSign,
+ BlockKind::AcaciaWallHangingSign,
+ BlockKind::CherryWallHangingSign,
+ BlockKind::JungleWallHangingSign,
+ BlockKind::DarkOakWallHangingSign,
+ BlockKind::PaleOakWallHangingSign,
+ BlockKind::MangroveWallHangingSign,
+ BlockKind::CrimsonWallHangingSign,
+ BlockKind::WarpedWallHangingSign,
+ BlockKind::BambooWallHangingSign,
+ BlockKind::CrimsonSign,
+ BlockKind::WarpedSign,
+ BlockKind::CrimsonWallSign,
+ BlockKind::WarpedWallSign,
+ ])
+});
+pub static ANCIENT_CITY_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrayWool,
+ BlockKind::Deepslate,
+ BlockKind::CobbledDeepslate,
+ BlockKind::DeepslateTiles,
+ BlockKind::DeepslateTileSlab,
+ BlockKind::DeepslateTileWall,
+ BlockKind::DeepslateBricks,
+ BlockKind::DeepslateBrickStairs,
+ BlockKind::DeepslateBrickSlab,
+ BlockKind::DeepslateBrickWall,
+ BlockKind::CrackedDeepslateBricks,
+ BlockKind::CrackedDeepslateTiles,
+ ])
+});
+pub static ANIMALS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::GrassBlock]));
+pub static ANVIL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Anvil,
+ BlockKind::ChippedAnvil,
+ BlockKind::DamagedAnvil,
+ ])
+});
+pub static ARMADILLO_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::CoarseDirt,
+ BlockKind::RedSand,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::Terracotta,
+ ])
+});
+pub static AXOLOTLS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Clay]));
+pub static AZALEA_GROWS_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::SnowBlock,
+ BlockKind::Mycelium,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ BlockKind::PowderSnow,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static AZALEA_ROOT_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::SnowBlock,
+ BlockKind::Clay,
+ BlockKind::Mycelium,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ BlockKind::Tuff,
+ BlockKind::PowderSnow,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static BADLANDS_TERRACOTTA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::Terracotta,
+ ])
+});
+pub static BAMBOO_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![BlockKind::BambooBlock, BlockKind::StrippedBambooBlock])
+});
+pub static BAMBOO_PLANTABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::SuspiciousGravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Mycelium,
+ BlockKind::BambooSapling,
+ BlockKind::Bamboo,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static BANNERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteBanner,
+ BlockKind::OrangeBanner,
+ BlockKind::MagentaBanner,
+ BlockKind::LightBlueBanner,
+ BlockKind::YellowBanner,
+ BlockKind::LimeBanner,
+ BlockKind::PinkBanner,
+ BlockKind::GrayBanner,
+ BlockKind::LightGrayBanner,
+ BlockKind::CyanBanner,
+ BlockKind::PurpleBanner,
+ BlockKind::BlueBanner,
+ BlockKind::BrownBanner,
+ BlockKind::GreenBanner,
+ BlockKind::RedBanner,
+ BlockKind::BlackBanner,
+ BlockKind::WhiteWallBanner,
+ BlockKind::OrangeWallBanner,
+ BlockKind::MagentaWallBanner,
+ BlockKind::LightBlueWallBanner,
+ BlockKind::YellowWallBanner,
+ BlockKind::LimeWallBanner,
+ BlockKind::PinkWallBanner,
+ BlockKind::GrayWallBanner,
+ BlockKind::LightGrayWallBanner,
+ BlockKind::CyanWallBanner,
+ BlockKind::PurpleWallBanner,
+ BlockKind::BlueWallBanner,
+ BlockKind::BrownWallBanner,
+ BlockKind::GreenWallBanner,
+ BlockKind::RedWallBanner,
+ BlockKind::BlackWallBanner,
+ ])
+});
+pub static BARS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::IronBars,
+ BlockKind::CopperBars,
+ BlockKind::ExposedCopperBars,
+ BlockKind::WeatheredCopperBars,
+ BlockKind::OxidizedCopperBars,
+ BlockKind::WaxedCopperBars,
+ BlockKind::WaxedExposedCopperBars,
+ BlockKind::WaxedWeatheredCopperBars,
+ BlockKind::WaxedOxidizedCopperBars,
+ ])
+});
+pub static BASE_STONE_NETHER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Netherrack,
+ BlockKind::Basalt,
+ BlockKind::Blackstone,
+ ])
+});
+pub static BASE_STONE_OVERWORLD: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::Tuff,
+ BlockKind::Deepslate,
+ ])
+});
+pub static BATS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::Tuff,
+ BlockKind::Deepslate,
+ ])
+});
+pub static BEACON_BASE_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldBlock,
+ BlockKind::IronBlock,
+ BlockKind::DiamondBlock,
+ BlockKind::EmeraldBlock,
+ BlockKind::NetheriteBlock,
+ ])
+});
+pub static BEDS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteBed,
+ BlockKind::OrangeBed,
+ BlockKind::MagentaBed,
+ BlockKind::LightBlueBed,
+ BlockKind::YellowBed,
+ BlockKind::LimeBed,
+ BlockKind::PinkBed,
+ BlockKind::GrayBed,
+ BlockKind::LightGrayBed,
+ BlockKind::CyanBed,
+ BlockKind::PurpleBed,
+ BlockKind::BlueBed,
+ BlockKind::BrownBed,
+ BlockKind::GreenBed,
+ BlockKind::RedBed,
+ BlockKind::BlackBed,
+ ])
+});
+pub static BEE_ATTRACTIVE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::MangrovePropagule,
+ BlockKind::CherryLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::Dandelion,
+ BlockKind::Torchflower,
+ BlockKind::Poppy,
+ BlockKind::BlueOrchid,
+ BlockKind::Allium,
+ BlockKind::AzureBluet,
+ BlockKind::RedTulip,
+ BlockKind::OrangeTulip,
+ BlockKind::WhiteTulip,
+ BlockKind::PinkTulip,
+ BlockKind::OxeyeDaisy,
+ BlockKind::Cornflower,
+ BlockKind::WitherRose,
+ BlockKind::LilyOfTheValley,
+ BlockKind::CactusFlower,
+ BlockKind::Sunflower,
+ BlockKind::Lilac,
+ BlockKind::RoseBush,
+ BlockKind::Peony,
+ BlockKind::ChorusFlower,
+ BlockKind::PitcherPlant,
+ BlockKind::SporeBlossom,
+ BlockKind::FloweringAzalea,
+ BlockKind::PinkPetals,
+ BlockKind::Wildflowers,
+ BlockKind::OpenEyeblossom,
+ ])
+});
+pub static BEE_GROWABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Wheat,
+ BlockKind::PumpkinStem,
+ BlockKind::MelonStem,
+ BlockKind::Carrots,
+ BlockKind::Potatoes,
+ BlockKind::TorchflowerCrop,
+ BlockKind::PitcherCrop,
+ BlockKind::Beetroots,
+ BlockKind::SweetBerryBush,
+ BlockKind::CaveVines,
+ BlockKind::CaveVinesPlant,
+ ])
+});
+pub static BEEHIVES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::BeeNest, BlockKind::Beehive]));
+pub static BIG_DRIPLEAF_PLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Farmland,
+ BlockKind::Clay,
+ BlockKind::Mycelium,
+ BlockKind::MossBlock,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ ])
+});
+pub static BIRCH_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::BirchLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::BirchWood,
+ BlockKind::StrippedBirchWood,
+ ])
+});
+pub static BLOCKS_WIND_CHARGE_EXPLOSIONS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Bedrock, BlockKind::Barrier]));
+pub static BUTTONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::StoneButton,
+ BlockKind::OakButton,
+ BlockKind::SpruceButton,
+ BlockKind::BirchButton,
+ BlockKind::JungleButton,
+ BlockKind::AcaciaButton,
+ BlockKind::CherryButton,
+ BlockKind::DarkOakButton,
+ BlockKind::PaleOakButton,
+ BlockKind::MangroveButton,
+ BlockKind::BambooButton,
+ BlockKind::CrimsonButton,
+ BlockKind::WarpedButton,
+ BlockKind::PolishedBlackstoneButton,
+ ])
+});
+pub static CAMEL_SAND_STEP_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ BlockKind::WhiteConcretePowder,
+ BlockKind::OrangeConcretePowder,
+ BlockKind::MagentaConcretePowder,
+ BlockKind::LightBlueConcretePowder,
+ BlockKind::YellowConcretePowder,
+ BlockKind::LimeConcretePowder,
+ BlockKind::PinkConcretePowder,
+ BlockKind::GrayConcretePowder,
+ BlockKind::LightGrayConcretePowder,
+ BlockKind::CyanConcretePowder,
+ BlockKind::PurpleConcretePowder,
+ BlockKind::BlueConcretePowder,
+ BlockKind::BrownConcretePowder,
+ BlockKind::GreenConcretePowder,
+ BlockKind::RedConcretePowder,
+ BlockKind::BlackConcretePowder,
+ ])
+});
+pub static CAMELS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ ])
+});
+pub static CAMPFIRES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Campfire, BlockKind::SoulCampfire]));
+pub static CAN_GLIDE_THROUGH: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Vine,
+ BlockKind::WeepingVines,
+ BlockKind::WeepingVinesPlant,
+ BlockKind::TwistingVines,
+ BlockKind::TwistingVinesPlant,
+ BlockKind::CaveVines,
+ BlockKind::CaveVinesPlant,
+ ])
+});
+pub static CANDLE_CAKES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::CandleCake,
+ BlockKind::WhiteCandleCake,
+ BlockKind::OrangeCandleCake,
+ BlockKind::MagentaCandleCake,
+ BlockKind::LightBlueCandleCake,
+ BlockKind::YellowCandleCake,
+ BlockKind::LimeCandleCake,
+ BlockKind::PinkCandleCake,
+ BlockKind::GrayCandleCake,
+ BlockKind::LightGrayCandleCake,
+ BlockKind::CyanCandleCake,
+ BlockKind::PurpleCandleCake,
+ BlockKind::BlueCandleCake,
+ BlockKind::BrownCandleCake,
+ BlockKind::GreenCandleCake,
+ BlockKind::RedCandleCake,
+ BlockKind::BlackCandleCake,
+ ])
+});
+pub static CANDLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Candle,
+ BlockKind::WhiteCandle,
+ BlockKind::OrangeCandle,
+ BlockKind::MagentaCandle,
+ BlockKind::LightBlueCandle,
+ BlockKind::YellowCandle,
+ BlockKind::LimeCandle,
+ BlockKind::PinkCandle,
+ BlockKind::GrayCandle,
+ BlockKind::LightGrayCandle,
+ BlockKind::CyanCandle,
+ BlockKind::PurpleCandle,
+ BlockKind::BlueCandle,
+ BlockKind::BrownCandle,
+ BlockKind::GreenCandle,
+ BlockKind::RedCandle,
+ BlockKind::BlackCandle,
+ ])
+});
+pub static CAULDRONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Cauldron,
+ BlockKind::WaterCauldron,
+ BlockKind::LavaCauldron,
+ BlockKind::PowderSnowCauldron,
+ ])
+});
+pub static CAVE_VINES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::CaveVines, BlockKind::CaveVinesPlant]));
+pub static CEILING_HANGING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakHangingSign,
+ BlockKind::SpruceHangingSign,
+ BlockKind::BirchHangingSign,
+ BlockKind::AcaciaHangingSign,
+ BlockKind::CherryHangingSign,
+ BlockKind::JungleHangingSign,
+ BlockKind::DarkOakHangingSign,
+ BlockKind::PaleOakHangingSign,
+ BlockKind::CrimsonHangingSign,
+ BlockKind::WarpedHangingSign,
+ BlockKind::MangroveHangingSign,
+ BlockKind::BambooHangingSign,
+ ])
+});
+pub static CHAINS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::IronChain,
+ BlockKind::CopperChain,
+ BlockKind::ExposedCopperChain,
+ BlockKind::WeatheredCopperChain,
+ BlockKind::OxidizedCopperChain,
+ BlockKind::WaxedCopperChain,
+ BlockKind::WaxedExposedCopperChain,
+ BlockKind::WaxedWeatheredCopperChain,
+ BlockKind::WaxedOxidizedCopperChain,
+ ])
+});
+pub static CHERRY_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::CherryLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::CherryWood,
+ BlockKind::StrippedCherryWood,
+ ])
+});
+pub static CLIMBABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Ladder,
+ BlockKind::Vine,
+ BlockKind::Scaffolding,
+ BlockKind::WeepingVines,
+ BlockKind::WeepingVinesPlant,
+ BlockKind::TwistingVines,
+ BlockKind::TwistingVinesPlant,
+ BlockKind::CaveVines,
+ BlockKind::CaveVinesPlant,
+ ])
+});
+pub static COAL_ORES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::CoalOre, BlockKind::DeepslateCoalOre]));
+pub static COMBINATION_STEP_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Snow,
+ BlockKind::ResinClump,
+ BlockKind::WhiteCarpet,
+ BlockKind::OrangeCarpet,
+ BlockKind::MagentaCarpet,
+ BlockKind::LightBlueCarpet,
+ BlockKind::YellowCarpet,
+ BlockKind::LimeCarpet,
+ BlockKind::PinkCarpet,
+ BlockKind::GrayCarpet,
+ BlockKind::LightGrayCarpet,
+ BlockKind::CyanCarpet,
+ BlockKind::PurpleCarpet,
+ BlockKind::BlueCarpet,
+ BlockKind::BrownCarpet,
+ BlockKind::GreenCarpet,
+ BlockKind::RedCarpet,
+ BlockKind::BlackCarpet,
+ BlockKind::WarpedRoots,
+ BlockKind::NetherSprouts,
+ BlockKind::CrimsonRoots,
+ BlockKind::MossCarpet,
+ BlockKind::PaleMossCarpet,
+ ])
+});
+pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PaleOakWood,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::OakWood,
+ BlockKind::SpruceWood,
+ BlockKind::BirchWood,
+ BlockKind::JungleWood,
+ BlockKind::AcaciaWood,
+ BlockKind::CherryWood,
+ BlockKind::DarkOakWood,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedOakWood,
+ BlockKind::StrippedSpruceWood,
+ BlockKind::StrippedBirchWood,
+ BlockKind::StrippedJungleWood,
+ BlockKind::StrippedAcaciaWood,
+ BlockKind::StrippedCherryWood,
+ BlockKind::StrippedDarkOakWood,
+ BlockKind::StrippedPaleOakWood,
+ BlockKind::StrippedMangroveWood,
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::NetherWartBlock,
+ BlockKind::WarpedStem,
+ BlockKind::StrippedWarpedStem,
+ BlockKind::WarpedHyphae,
+ BlockKind::StrippedWarpedHyphae,
+ BlockKind::WarpedWartBlock,
+ BlockKind::CrimsonStem,
+ BlockKind::StrippedCrimsonStem,
+ BlockKind::CrimsonHyphae,
+ BlockKind::StrippedCrimsonHyphae,
+ ])
+});
+pub static CONCRETE_POWDER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteConcretePowder,
+ BlockKind::OrangeConcretePowder,
+ BlockKind::MagentaConcretePowder,
+ BlockKind::LightBlueConcretePowder,
+ BlockKind::YellowConcretePowder,
+ BlockKind::LimeConcretePowder,
+ BlockKind::PinkConcretePowder,
+ BlockKind::GrayConcretePowder,
+ BlockKind::LightGrayConcretePowder,
+ BlockKind::CyanConcretePowder,
+ BlockKind::PurpleConcretePowder,
+ BlockKind::BlueConcretePowder,
+ BlockKind::BrownConcretePowder,
+ BlockKind::GreenConcretePowder,
+ BlockKind::RedConcretePowder,
+ BlockKind::BlackConcretePowder,
+ ])
+});
+pub static CONVERTABLE_TO_MUD: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::RootedDirt,
+ ])
+});
+pub static COPPER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::CopperBlock,
+ BlockKind::ExposedCopper,
+ BlockKind::WeatheredCopper,
+ BlockKind::OxidizedCopper,
+ BlockKind::WaxedCopperBlock,
+ BlockKind::WaxedWeatheredCopper,
+ BlockKind::WaxedExposedCopper,
+ BlockKind::WaxedOxidizedCopper,
+ ])
+});
+pub static COPPER_CHESTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::CopperChest,
+ BlockKind::ExposedCopperChest,
+ BlockKind::WeatheredCopperChest,
+ BlockKind::OxidizedCopperChest,
+ BlockKind::WaxedCopperChest,
+ BlockKind::WaxedExposedCopperChest,
+ BlockKind::WaxedWeatheredCopperChest,
+ BlockKind::WaxedOxidizedCopperChest,
+ ])
+});
+pub static COPPER_GOLEM_STATUES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::CopperGolemStatue,
+ BlockKind::ExposedCopperGolemStatue,
+ BlockKind::WeatheredCopperGolemStatue,
+ BlockKind::OxidizedCopperGolemStatue,
+ BlockKind::WaxedCopperGolemStatue,
+ BlockKind::WaxedExposedCopperGolemStatue,
+ BlockKind::WaxedWeatheredCopperGolemStatue,
+ BlockKind::WaxedOxidizedCopperGolemStatue,
+ ])
+});
+pub static COPPER_ORES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::CopperOre, BlockKind::DeepslateCopperOre]));
+pub static CORAL_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::TubeCoralBlock,
+ BlockKind::BrainCoralBlock,
+ BlockKind::BubbleCoralBlock,
+ BlockKind::FireCoralBlock,
+ BlockKind::HornCoralBlock,
+ ])
+});
+pub static CORAL_PLANTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::TubeCoral,
+ BlockKind::BrainCoral,
+ BlockKind::BubbleCoral,
+ BlockKind::FireCoral,
+ BlockKind::HornCoral,
+ ])
+});
+pub static CORALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::TubeCoral,
+ BlockKind::BrainCoral,
+ BlockKind::BubbleCoral,
+ BlockKind::FireCoral,
+ BlockKind::HornCoral,
+ BlockKind::TubeCoralFan,
+ BlockKind::BrainCoralFan,
+ BlockKind::BubbleCoralFan,
+ BlockKind::FireCoralFan,
+ BlockKind::HornCoralFan,
+ ])
+});
+pub static CRIMSON_STEMS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::CrimsonStem,
+ BlockKind::StrippedCrimsonStem,
+ BlockKind::CrimsonHyphae,
+ BlockKind::StrippedCrimsonHyphae,
+ ])
+});
+pub static CROPS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Wheat,
+ BlockKind::PumpkinStem,
+ BlockKind::MelonStem,
+ BlockKind::Carrots,
+ BlockKind::Potatoes,
+ BlockKind::TorchflowerCrop,
+ BlockKind::PitcherCrop,
+ BlockKind::Beetroots,
+ ])
+});
+pub static CRYSTAL_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::AmethystBlock, BlockKind::BuddingAmethyst]));
+pub static DAMPENS_VIBRATIONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteWool,
+ BlockKind::OrangeWool,
+ BlockKind::MagentaWool,
+ BlockKind::LightBlueWool,
+ BlockKind::YellowWool,
+ BlockKind::LimeWool,
+ BlockKind::PinkWool,
+ BlockKind::GrayWool,
+ BlockKind::LightGrayWool,
+ BlockKind::CyanWool,
+ BlockKind::PurpleWool,
+ BlockKind::BlueWool,
+ BlockKind::BrownWool,
+ BlockKind::GreenWool,
+ BlockKind::RedWool,
+ BlockKind::BlackWool,
+ BlockKind::WhiteCarpet,
+ BlockKind::OrangeCarpet,
+ BlockKind::MagentaCarpet,
+ BlockKind::LightBlueCarpet,
+ BlockKind::YellowCarpet,
+ BlockKind::LimeCarpet,
+ BlockKind::PinkCarpet,
+ BlockKind::GrayCarpet,
+ BlockKind::LightGrayCarpet,
+ BlockKind::CyanCarpet,
+ BlockKind::PurpleCarpet,
+ BlockKind::BlueCarpet,
+ BlockKind::BrownCarpet,
+ BlockKind::GreenCarpet,
+ BlockKind::RedCarpet,
+ BlockKind::BlackCarpet,
+ ])
+});
+pub static DARK_OAK_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::DarkOakLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::DarkOakWood,
+ BlockKind::StrippedDarkOakWood,
+ ])
+});
+pub static DEEPSLATE_ORE_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Tuff, BlockKind::Deepslate]));
+pub static DIAMOND_ORES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::DiamondOre, BlockKind::DeepslateDiamondOre]));
+pub static DIRT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Mycelium,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static DOES_NOT_BLOCK_HOPPERS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::BeeNest, BlockKind::Beehive]));
+pub static DOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakDoor,
+ BlockKind::IronDoor,
+ BlockKind::SpruceDoor,
+ BlockKind::BirchDoor,
+ BlockKind::JungleDoor,
+ BlockKind::AcaciaDoor,
+ BlockKind::CherryDoor,
+ BlockKind::DarkOakDoor,
+ BlockKind::PaleOakDoor,
+ BlockKind::MangroveDoor,
+ BlockKind::BambooDoor,
+ BlockKind::CrimsonDoor,
+ BlockKind::WarpedDoor,
+ BlockKind::CopperDoor,
+ BlockKind::ExposedCopperDoor,
+ BlockKind::OxidizedCopperDoor,
+ BlockKind::WeatheredCopperDoor,
+ BlockKind::WaxedCopperDoor,
+ BlockKind::WaxedExposedCopperDoor,
+ BlockKind::WaxedOxidizedCopperDoor,
+ BlockKind::WaxedWeatheredCopperDoor,
+ ])
+});
+pub static DRAGON_IMMUNE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Bedrock,
+ BlockKind::MovingPiston,
+ BlockKind::Obsidian,
+ BlockKind::IronBars,
+ BlockKind::EndPortal,
+ BlockKind::EndPortalFrame,
+ BlockKind::EndStone,
+ BlockKind::CommandBlock,
+ BlockKind::Barrier,
+ BlockKind::EndGateway,
+ BlockKind::RepeatingCommandBlock,
+ BlockKind::ChainCommandBlock,
+ BlockKind::StructureBlock,
+ BlockKind::Jigsaw,
+ BlockKind::TestBlock,
+ BlockKind::TestInstanceBlock,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ BlockKind::ReinforcedDeepslate,
+ ])
+});
+pub static DRAGON_TRANSPARENT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![BlockKind::Fire, BlockKind::SoulFire, BlockKind::Light])
+});
+pub static DRIPSTONE_REPLACEABLE_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::Tuff,
+ BlockKind::Deepslate,
+ ])
+});
+pub static DRY_VEGETATION_MAY_PLACE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Farmland,
+ BlockKind::Mycelium,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static EDIBLE_FOR_SHEEP: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::ShortGrass,
+ BlockKind::Fern,
+ BlockKind::ShortDryGrass,
+ BlockKind::TallDryGrass,
+ ])
+});
+pub static EMERALD_ORES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::EmeraldOre, BlockKind::DeepslateEmeraldOre]));
+pub static ENCHANTMENT_POWER_PROVIDER: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Bookshelf]));
+pub static ENCHANTMENT_POWER_TRANSMITTER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Air,
+ BlockKind::Water,
+ BlockKind::Lava,
+ BlockKind::ShortGrass,
+ BlockKind::Fern,
+ BlockKind::DeadBush,
+ BlockKind::Bush,
+ BlockKind::ShortDryGrass,
+ BlockKind::TallDryGrass,
+ BlockKind::Seagrass,
+ BlockKind::TallSeagrass,
+ BlockKind::Fire,
+ BlockKind::SoulFire,
+ BlockKind::Snow,
+ BlockKind::Vine,
+ BlockKind::GlowLichen,
+ BlockKind::ResinClump,
+ BlockKind::Light,
+ BlockKind::TallGrass,
+ BlockKind::LargeFern,
+ BlockKind::StructureVoid,
+ BlockKind::VoidAir,
+ BlockKind::CaveAir,
+ BlockKind::BubbleColumn,
+ BlockKind::WarpedRoots,
+ BlockKind::NetherSprouts,
+ BlockKind::CrimsonRoots,
+ BlockKind::LeafLitter,
+ BlockKind::HangingRoots,
+ ])
+});
+pub static ENDERMAN_HOLDABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Dandelion,
+ BlockKind::Torchflower,
+ BlockKind::Poppy,
+ BlockKind::BlueOrchid,
+ BlockKind::Allium,
+ BlockKind::AzureBluet,
+ BlockKind::RedTulip,
+ BlockKind::OrangeTulip,
+ BlockKind::WhiteTulip,
+ BlockKind::PinkTulip,
+ BlockKind::OxeyeDaisy,
+ BlockKind::Cornflower,
+ BlockKind::WitherRose,
+ BlockKind::LilyOfTheValley,
+ BlockKind::BrownMushroom,
+ BlockKind::RedMushroom,
+ BlockKind::Tnt,
+ BlockKind::Cactus,
+ BlockKind::CactusFlower,
+ BlockKind::Clay,
+ BlockKind::CarvedPumpkin,
+ BlockKind::Pumpkin,
+ BlockKind::Melon,
+ BlockKind::Mycelium,
+ BlockKind::WarpedNylium,
+ BlockKind::WarpedFungus,
+ BlockKind::WarpedRoots,
+ BlockKind::CrimsonNylium,
+ BlockKind::CrimsonFungus,
+ BlockKind::CrimsonRoots,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::PaleMossBlock,
+ BlockKind::OpenEyeblossom,
+ BlockKind::ClosedEyeblossom,
+ ])
+});
+pub static FALL_DAMAGE_RESETTING: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Cobweb,
+ BlockKind::Ladder,
+ BlockKind::Vine,
+ BlockKind::Scaffolding,
+ BlockKind::SweetBerryBush,
+ BlockKind::WeepingVines,
+ BlockKind::WeepingVinesPlant,
+ BlockKind::TwistingVines,
+ BlockKind::TwistingVinesPlant,
+ BlockKind::CaveVines,
+ BlockKind::CaveVinesPlant,
+ ])
+});
+pub static FEATURES_CANNOT_REPLACE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Bedrock,
+ BlockKind::Spawner,
+ BlockKind::Chest,
+ BlockKind::EndPortalFrame,
+ BlockKind::ReinforcedDeepslate,
+ BlockKind::TrialSpawner,
+ BlockKind::Vault,
+ ])
+});
+pub static FENCE_GATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakFenceGate,
+ BlockKind::SpruceFenceGate,
+ BlockKind::BirchFenceGate,
+ BlockKind::JungleFenceGate,
+ BlockKind::AcaciaFenceGate,
+ BlockKind::CherryFenceGate,
+ BlockKind::DarkOakFenceGate,
+ BlockKind::PaleOakFenceGate,
+ BlockKind::MangroveFenceGate,
+ BlockKind::BambooFenceGate,
+ BlockKind::CrimsonFenceGate,
+ BlockKind::WarpedFenceGate,
+ ])
+});
+pub static FENCES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakFence,
+ BlockKind::NetherBrickFence,
+ BlockKind::SpruceFence,
+ BlockKind::BirchFence,
+ BlockKind::JungleFence,
+ BlockKind::AcaciaFence,
+ BlockKind::CherryFence,
+ BlockKind::DarkOakFence,
+ BlockKind::PaleOakFence,
+ BlockKind::MangroveFence,
+ BlockKind::BambooFence,
+ BlockKind::CrimsonFence,
+ BlockKind::WarpedFence,
+ ])
+});
+pub static FIRE: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Fire, BlockKind::SoulFire]));
+pub static FLOWER_POTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::FlowerPot,
+ BlockKind::PottedTorchflower,
+ BlockKind::PottedOakSapling,
+ BlockKind::PottedSpruceSapling,
+ BlockKind::PottedBirchSapling,
+ BlockKind::PottedJungleSapling,
+ BlockKind::PottedAcaciaSapling,
+ BlockKind::PottedCherrySapling,
+ BlockKind::PottedDarkOakSapling,
+ BlockKind::PottedPaleOakSapling,
+ BlockKind::PottedMangrovePropagule,
+ BlockKind::PottedFern,
+ BlockKind::PottedDandelion,
+ BlockKind::PottedPoppy,
+ BlockKind::PottedBlueOrchid,
+ BlockKind::PottedAllium,
+ BlockKind::PottedAzureBluet,
+ BlockKind::PottedRedTulip,
+ BlockKind::PottedOrangeTulip,
+ BlockKind::PottedWhiteTulip,
+ BlockKind::PottedPinkTulip,
+ BlockKind::PottedOxeyeDaisy,
+ BlockKind::PottedCornflower,
+ BlockKind::PottedLilyOfTheValley,
+ BlockKind::PottedWitherRose,
+ BlockKind::PottedRedMushroom,
+ BlockKind::PottedBrownMushroom,
+ BlockKind::PottedDeadBush,
+ BlockKind::PottedCactus,
+ BlockKind::PottedBamboo,
+ BlockKind::PottedCrimsonFungus,
+ BlockKind::PottedWarpedFungus,
+ BlockKind::PottedCrimsonRoots,
+ BlockKind::PottedWarpedRoots,
+ BlockKind::PottedAzaleaBush,
+ BlockKind::PottedFloweringAzaleaBush,
+ BlockKind::PottedOpenEyeblossom,
+ BlockKind::PottedClosedEyeblossom,
+ ])
+});
+pub static FLOWERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::MangrovePropagule,
+ BlockKind::CherryLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::Dandelion,
+ BlockKind::Torchflower,
+ BlockKind::Poppy,
+ BlockKind::BlueOrchid,
+ BlockKind::Allium,
+ BlockKind::AzureBluet,
+ BlockKind::RedTulip,
+ BlockKind::OrangeTulip,
+ BlockKind::WhiteTulip,
+ BlockKind::PinkTulip,
+ BlockKind::OxeyeDaisy,
+ BlockKind::Cornflower,
+ BlockKind::WitherRose,
+ BlockKind::LilyOfTheValley,
+ BlockKind::CactusFlower,
+ BlockKind::Sunflower,
+ BlockKind::Lilac,
+ BlockKind::RoseBush,
+ BlockKind::Peony,
+ BlockKind::ChorusFlower,
+ BlockKind::PitcherPlant,
+ BlockKind::SporeBlossom,
+ BlockKind::FloweringAzalea,
+ BlockKind::PinkPetals,
+ BlockKind::Wildflowers,
+ BlockKind::OpenEyeblossom,
+ BlockKind::ClosedEyeblossom,
+ ])
+});
+pub static FOXES_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ ])
+});
+pub static FROG_PREFER_JUMP_TO: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::LilyPad, BlockKind::BigDripleaf]));
+pub static FROGS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::MangroveRoots,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Mud,
+ ])
+});
+pub static GEODE_INVALID_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Bedrock,
+ BlockKind::Water,
+ BlockKind::Lava,
+ BlockKind::Ice,
+ BlockKind::PackedIce,
+ BlockKind::BlueIce,
+ ])
+});
+pub static GOATS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::GrassBlock,
+ BlockKind::Gravel,
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ BlockKind::PackedIce,
+ ])
+});
+pub static GOLD_ORES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::NetherGoldOre,
+ ])
+});
+pub static GUARDED_BY_PIGLINS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::NetherGoldOre,
+ BlockKind::GoldBlock,
+ BlockKind::Chest,
+ BlockKind::EnderChest,
+ BlockKind::TrappedChest,
+ BlockKind::ShulkerBox,
+ BlockKind::WhiteShulkerBox,
+ BlockKind::OrangeShulkerBox,
+ BlockKind::MagentaShulkerBox,
+ BlockKind::LightBlueShulkerBox,
+ BlockKind::YellowShulkerBox,
+ BlockKind::LimeShulkerBox,
+ BlockKind::PinkShulkerBox,
+ BlockKind::GrayShulkerBox,
+ BlockKind::LightGrayShulkerBox,
+ BlockKind::CyanShulkerBox,
+ BlockKind::PurpleShulkerBox,
+ BlockKind::BlueShulkerBox,
+ BlockKind::BrownShulkerBox,
+ BlockKind::GreenShulkerBox,
+ BlockKind::RedShulkerBox,
+ BlockKind::BlackShulkerBox,
+ BlockKind::Barrel,
+ BlockKind::GildedBlackstone,
+ BlockKind::CopperChest,
+ BlockKind::ExposedCopperChest,
+ BlockKind::WeatheredCopperChest,
+ BlockKind::OxidizedCopperChest,
+ BlockKind::WaxedCopperChest,
+ BlockKind::WaxedExposedCopperChest,
+ BlockKind::WaxedWeatheredCopperChest,
+ BlockKind::WaxedOxidizedCopperChest,
+ BlockKind::RawGoldBlock,
+ ])
+});
+pub static HAPPY_GHAST_AVOIDS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WitherRose,
+ BlockKind::Fire,
+ BlockKind::Cactus,
+ BlockKind::MagmaBlock,
+ BlockKind::SweetBerryBush,
+ BlockKind::PointedDripstone,
+ ])
+});
+pub static HOGLIN_REPELLENTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::NetherPortal,
+ BlockKind::WarpedFungus,
+ BlockKind::RespawnAnchor,
+ BlockKind::PottedWarpedFungus,
+ ])
+});
+pub static ICE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Ice,
+ BlockKind::PackedIce,
+ BlockKind::FrostedIce,
+ BlockKind::BlueIce,
+ ])
+});
+pub static IMPERMEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Glass,
+ BlockKind::WhiteStainedGlass,
+ BlockKind::OrangeStainedGlass,
+ BlockKind::MagentaStainedGlass,
+ BlockKind::LightBlueStainedGlass,
+ BlockKind::YellowStainedGlass,
+ BlockKind::LimeStainedGlass,
+ BlockKind::PinkStainedGlass,
+ BlockKind::GrayStainedGlass,
+ BlockKind::LightGrayStainedGlass,
+ BlockKind::CyanStainedGlass,
+ BlockKind::PurpleStainedGlass,
+ BlockKind::BlueStainedGlass,
+ BlockKind::BrownStainedGlass,
+ BlockKind::GreenStainedGlass,
+ BlockKind::RedStainedGlass,
+ BlockKind::BlackStainedGlass,
+ BlockKind::Barrier,
+ BlockKind::TintedGlass,
+ ])
+});
+pub static INCORRECT_FOR_COPPER_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::GoldBlock,
+ BlockKind::Obsidian,
+ BlockKind::DiamondOre,
+ BlockKind::DeepslateDiamondOre,
+ BlockKind::DiamondBlock,
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ BlockKind::EmeraldOre,
+ BlockKind::DeepslateEmeraldOre,
+ BlockKind::EmeraldBlock,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ BlockKind::RawGoldBlock,
+ ])
+});
+pub static INCORRECT_FOR_DIAMOND_TOOL: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![]));
+pub static INCORRECT_FOR_GOLD_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::IronOre,
+ BlockKind::DeepslateIronOre,
+ BlockKind::LapisOre,
+ BlockKind::DeepslateLapisOre,
+ BlockKind::LapisBlock,
+ BlockKind::GoldBlock,
+ BlockKind::IronBlock,
+ BlockKind::Obsidian,
+ BlockKind::DiamondOre,
+ BlockKind::DeepslateDiamondOre,
+ BlockKind::DiamondBlock,
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ BlockKind::EmeraldOre,
+ BlockKind::DeepslateEmeraldOre,
+ BlockKind::EmeraldBlock,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ BlockKind::CopperBlock,
+ BlockKind::ExposedCopper,
+ BlockKind::WeatheredCopper,
+ BlockKind::OxidizedCopper,
+ BlockKind::CopperOre,
+ BlockKind::DeepslateCopperOre,
+ BlockKind::OxidizedCutCopper,
+ BlockKind::WeatheredCutCopper,
+ BlockKind::ExposedCutCopper,
+ BlockKind::CutCopper,
+ BlockKind::OxidizedChiseledCopper,
+ BlockKind::WeatheredChiseledCopper,
+ BlockKind::ExposedChiseledCopper,
+ BlockKind::ChiseledCopper,
+ BlockKind::WaxedOxidizedChiseledCopper,
+ BlockKind::WaxedWeatheredChiseledCopper,
+ BlockKind::WaxedExposedChiseledCopper,
+ BlockKind::WaxedChiseledCopper,
+ BlockKind::OxidizedCutCopperStairs,
+ BlockKind::WeatheredCutCopperStairs,
+ BlockKind::ExposedCutCopperStairs,
+ BlockKind::CutCopperStairs,
+ BlockKind::OxidizedCutCopperSlab,
+ BlockKind::WeatheredCutCopperSlab,
+ BlockKind::ExposedCutCopperSlab,
+ BlockKind::CutCopperSlab,
+ BlockKind::WaxedCopperBlock,
+ BlockKind::WaxedWeatheredCopper,
+ BlockKind::WaxedExposedCopper,
+ BlockKind::WaxedOxidizedCopper,
+ BlockKind::WaxedOxidizedCutCopper,
+ BlockKind::WaxedWeatheredCutCopper,
+ BlockKind::WaxedExposedCutCopper,
+ BlockKind::WaxedCutCopper,
+ BlockKind::WaxedOxidizedCutCopperStairs,
+ BlockKind::WaxedWeatheredCutCopperStairs,
+ BlockKind::WaxedExposedCutCopperStairs,
+ BlockKind::WaxedCutCopperStairs,
+ BlockKind::WaxedOxidizedCutCopperSlab,
+ BlockKind::WaxedWeatheredCutCopperSlab,
+ BlockKind::WaxedExposedCutCopperSlab,
+ BlockKind::WaxedCutCopperSlab,
+ BlockKind::CopperTrapdoor,
+ BlockKind::ExposedCopperTrapdoor,
+ BlockKind::OxidizedCopperTrapdoor,
+ BlockKind::WeatheredCopperTrapdoor,
+ BlockKind::WaxedCopperTrapdoor,
+ BlockKind::WaxedExposedCopperTrapdoor,
+ BlockKind::WaxedOxidizedCopperTrapdoor,
+ BlockKind::WaxedWeatheredCopperTrapdoor,
+ BlockKind::CopperGrate,
+ BlockKind::ExposedCopperGrate,
+ BlockKind::WeatheredCopperGrate,
+ BlockKind::OxidizedCopperGrate,
+ BlockKind::WaxedCopperGrate,
+ BlockKind::WaxedExposedCopperGrate,
+ BlockKind::WaxedWeatheredCopperGrate,
+ BlockKind::WaxedOxidizedCopperGrate,
+ BlockKind::CopperBulb,
+ BlockKind::ExposedCopperBulb,
+ BlockKind::WeatheredCopperBulb,
+ BlockKind::OxidizedCopperBulb,
+ BlockKind::WaxedCopperBulb,
+ BlockKind::WaxedExposedCopperBulb,
+ BlockKind::WaxedWeatheredCopperBulb,
+ BlockKind::WaxedOxidizedCopperBulb,
+ BlockKind::CopperChest,
+ BlockKind::ExposedCopperChest,
+ BlockKind::WeatheredCopperChest,
+ BlockKind::OxidizedCopperChest,
+ BlockKind::WaxedCopperChest,
+ BlockKind::WaxedExposedCopperChest,
+ BlockKind::WaxedWeatheredCopperChest,
+ BlockKind::WaxedOxidizedCopperChest,
+ BlockKind::LightningRod,
+ BlockKind::ExposedLightningRod,
+ BlockKind::WeatheredLightningRod,
+ BlockKind::OxidizedLightningRod,
+ BlockKind::WaxedLightningRod,
+ BlockKind::WaxedExposedLightningRod,
+ BlockKind::WaxedWeatheredLightningRod,
+ BlockKind::WaxedOxidizedLightningRod,
+ BlockKind::RawIronBlock,
+ BlockKind::RawCopperBlock,
+ BlockKind::RawGoldBlock,
+ BlockKind::Crafter,
+ ])
+});
+pub static INCORRECT_FOR_IRON_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Obsidian,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ ])
+});
+pub static INCORRECT_FOR_NETHERITE_TOOL: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![]));
+pub static INCORRECT_FOR_STONE_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::GoldBlock,
+ BlockKind::Obsidian,
+ BlockKind::DiamondOre,
+ BlockKind::DeepslateDiamondOre,
+ BlockKind::DiamondBlock,
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ BlockKind::EmeraldOre,
+ BlockKind::DeepslateEmeraldOre,
+ BlockKind::EmeraldBlock,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ BlockKind::RawGoldBlock,
+ ])
+});
+pub static INCORRECT_FOR_WOODEN_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::IronOre,
+ BlockKind::DeepslateIronOre,
+ BlockKind::LapisOre,
+ BlockKind::DeepslateLapisOre,
+ BlockKind::LapisBlock,
+ BlockKind::GoldBlock,
+ BlockKind::IronBlock,
+ BlockKind::Obsidian,
+ BlockKind::DiamondOre,
+ BlockKind::DeepslateDiamondOre,
+ BlockKind::DiamondBlock,
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ BlockKind::EmeraldOre,
+ BlockKind::DeepslateEmeraldOre,
+ BlockKind::EmeraldBlock,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ BlockKind::CopperBlock,
+ BlockKind::ExposedCopper,
+ BlockKind::WeatheredCopper,
+ BlockKind::OxidizedCopper,
+ BlockKind::CopperOre,
+ BlockKind::DeepslateCopperOre,
+ BlockKind::OxidizedCutCopper,
+ BlockKind::WeatheredCutCopper,
+ BlockKind::ExposedCutCopper,
+ BlockKind::CutCopper,
+ BlockKind::OxidizedChiseledCopper,
+ BlockKind::WeatheredChiseledCopper,
+ BlockKind::ExposedChiseledCopper,
+ BlockKind::ChiseledCopper,
+ BlockKind::WaxedOxidizedChiseledCopper,
+ BlockKind::WaxedWeatheredChiseledCopper,
+ BlockKind::WaxedExposedChiseledCopper,
+ BlockKind::WaxedChiseledCopper,
+ BlockKind::OxidizedCutCopperStairs,
+ BlockKind::WeatheredCutCopperStairs,
+ BlockKind::ExposedCutCopperStairs,
+ BlockKind::CutCopperStairs,
+ BlockKind::OxidizedCutCopperSlab,
+ BlockKind::WeatheredCutCopperSlab,
+ BlockKind::ExposedCutCopperSlab,
+ BlockKind::CutCopperSlab,
+ BlockKind::WaxedCopperBlock,
+ BlockKind::WaxedWeatheredCopper,
+ BlockKind::WaxedExposedCopper,
+ BlockKind::WaxedOxidizedCopper,
+ BlockKind::WaxedOxidizedCutCopper,
+ BlockKind::WaxedWeatheredCutCopper,
+ BlockKind::WaxedExposedCutCopper,
+ BlockKind::WaxedCutCopper,
+ BlockKind::WaxedOxidizedCutCopperStairs,
+ BlockKind::WaxedWeatheredCutCopperStairs,
+ BlockKind::WaxedExposedCutCopperStairs,
+ BlockKind::WaxedCutCopperStairs,
+ BlockKind::WaxedOxidizedCutCopperSlab,
+ BlockKind::WaxedWeatheredCutCopperSlab,
+ BlockKind::WaxedExposedCutCopperSlab,
+ BlockKind::WaxedCutCopperSlab,
+ BlockKind::CopperTrapdoor,
+ BlockKind::ExposedCopperTrapdoor,
+ BlockKind::OxidizedCopperTrapdoor,
+ BlockKind::WeatheredCopperTrapdoor,
+ BlockKind::WaxedCopperTrapdoor,
+ BlockKind::WaxedExposedCopperTrapdoor,
+ BlockKind::WaxedOxidizedCopperTrapdoor,
+ BlockKind::WaxedWeatheredCopperTrapdoor,
+ BlockKind::CopperGrate,
+ BlockKind::ExposedCopperGrate,
+ BlockKind::WeatheredCopperGrate,
+ BlockKind::OxidizedCopperGrate,
+ BlockKind::WaxedCopperGrate,
+ BlockKind::WaxedExposedCopperGrate,
+ BlockKind::WaxedWeatheredCopperGrate,
+ BlockKind::WaxedOxidizedCopperGrate,
+ BlockKind::CopperBulb,
+ BlockKind::ExposedCopperBulb,
+ BlockKind::WeatheredCopperBulb,
+ BlockKind::OxidizedCopperBulb,
+ BlockKind::WaxedCopperBulb,
+ BlockKind::WaxedExposedCopperBulb,
+ BlockKind::WaxedWeatheredCopperBulb,
+ BlockKind::WaxedOxidizedCopperBulb,
+ BlockKind::CopperChest,
+ BlockKind::ExposedCopperChest,
+ BlockKind::WeatheredCopperChest,
+ BlockKind::OxidizedCopperChest,
+ BlockKind::WaxedCopperChest,
+ BlockKind::WaxedExposedCopperChest,
+ BlockKind::WaxedWeatheredCopperChest,
+ BlockKind::WaxedOxidizedCopperChest,
+ BlockKind::LightningRod,
+ BlockKind::ExposedLightningRod,
+ BlockKind::WeatheredLightningRod,
+ BlockKind::OxidizedLightningRod,
+ BlockKind::WaxedLightningRod,
+ BlockKind::WaxedExposedLightningRod,
+ BlockKind::WaxedWeatheredLightningRod,
+ BlockKind::WaxedOxidizedLightningRod,
+ BlockKind::RawIronBlock,
+ BlockKind::RawCopperBlock,
+ BlockKind::RawGoldBlock,
+ BlockKind::Crafter,
+ ])
+});
+pub static INFINIBURN_END: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Bedrock,
+ BlockKind::Netherrack,
+ BlockKind::MagmaBlock,
+ ])
+});
+pub static INFINIBURN_NETHER: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Netherrack, BlockKind::MagmaBlock]));
+pub static INFINIBURN_OVERWORLD: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Netherrack, BlockKind::MagmaBlock]));
+pub static INSIDE_STEP_SOUND_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GlowLichen,
+ BlockKind::LilyPad,
+ BlockKind::SmallAmethystBud,
+ BlockKind::PowderSnow,
+ BlockKind::SculkVein,
+ BlockKind::PinkPetals,
+ BlockKind::Wildflowers,
+ BlockKind::LeafLitter,
+ ])
+});
+pub static INVALID_SPAWN_INSIDE: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::EndPortal, BlockKind::EndGateway]));
+pub static IRON_ORES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::IronOre, BlockKind::DeepslateIronOre]));
+pub static JUNGLE_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::JungleLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::JungleWood,
+ BlockKind::StrippedJungleWood,
+ ])
+});
+pub static LANTERNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Lantern,
+ BlockKind::SoulLantern,
+ BlockKind::CopperLantern,
+ BlockKind::ExposedCopperLantern,
+ BlockKind::WeatheredCopperLantern,
+ BlockKind::OxidizedCopperLantern,
+ BlockKind::WaxedCopperLantern,
+ BlockKind::WaxedExposedCopperLantern,
+ BlockKind::WaxedWeatheredCopperLantern,
+ BlockKind::WaxedOxidizedCopperLantern,
+ ])
+});
+pub static LAPIS_ORES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::LapisOre, BlockKind::DeepslateLapisOre]));
+pub static LAVA_POOL_STONE_CANNOT_REPLACE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PaleOakWood,
+ BlockKind::Bedrock,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::OakWood,
+ BlockKind::SpruceWood,
+ BlockKind::BirchWood,
+ BlockKind::JungleWood,
+ BlockKind::AcaciaWood,
+ BlockKind::CherryWood,
+ BlockKind::DarkOakWood,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedOakWood,
+ BlockKind::StrippedSpruceWood,
+ BlockKind::StrippedBirchWood,
+ BlockKind::StrippedJungleWood,
+ BlockKind::StrippedAcaciaWood,
+ BlockKind::StrippedCherryWood,
+ BlockKind::StrippedDarkOakWood,
+ BlockKind::StrippedPaleOakWood,
+ BlockKind::StrippedMangroveWood,
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::Spawner,
+ BlockKind::Chest,
+ BlockKind::EndPortalFrame,
+ BlockKind::WarpedStem,
+ BlockKind::StrippedWarpedStem,
+ BlockKind::WarpedHyphae,
+ BlockKind::StrippedWarpedHyphae,
+ BlockKind::CrimsonStem,
+ BlockKind::StrippedCrimsonStem,
+ BlockKind::CrimsonHyphae,
+ BlockKind::StrippedCrimsonHyphae,
+ BlockKind::ReinforcedDeepslate,
+ BlockKind::TrialSpawner,
+ BlockKind::Vault,
+ ])
+});
+pub static LEAVES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ ])
+});
+pub static LIGHTNING_RODS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::LightningRod,
+ BlockKind::ExposedLightningRod,
+ BlockKind::WeatheredLightningRod,
+ BlockKind::OxidizedLightningRod,
+ BlockKind::WaxedLightningRod,
+ BlockKind::WaxedExposedLightningRod,
+ BlockKind::WaxedWeatheredLightningRod,
+ BlockKind::WaxedOxidizedLightningRod,
+ ])
+});
+pub static LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PaleOakWood,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::OakWood,
+ BlockKind::SpruceWood,
+ BlockKind::BirchWood,
+ BlockKind::JungleWood,
+ BlockKind::AcaciaWood,
+ BlockKind::CherryWood,
+ BlockKind::DarkOakWood,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedOakWood,
+ BlockKind::StrippedSpruceWood,
+ BlockKind::StrippedBirchWood,
+ BlockKind::StrippedJungleWood,
+ BlockKind::StrippedAcaciaWood,
+ BlockKind::StrippedCherryWood,
+ BlockKind::StrippedDarkOakWood,
+ BlockKind::StrippedPaleOakWood,
+ BlockKind::StrippedMangroveWood,
+ BlockKind::WarpedStem,
+ BlockKind::StrippedWarpedStem,
+ BlockKind::WarpedHyphae,
+ BlockKind::StrippedWarpedHyphae,
+ BlockKind::CrimsonStem,
+ BlockKind::StrippedCrimsonStem,
+ BlockKind::CrimsonHyphae,
+ BlockKind::StrippedCrimsonHyphae,
+ ])
+});
+pub static LOGS_THAT_BURN: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PaleOakWood,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::OakWood,
+ BlockKind::SpruceWood,
+ BlockKind::BirchWood,
+ BlockKind::JungleWood,
+ BlockKind::AcaciaWood,
+ BlockKind::CherryWood,
+ BlockKind::DarkOakWood,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedOakWood,
+ BlockKind::StrippedSpruceWood,
+ BlockKind::StrippedBirchWood,
+ BlockKind::StrippedJungleWood,
+ BlockKind::StrippedAcaciaWood,
+ BlockKind::StrippedCherryWood,
+ BlockKind::StrippedDarkOakWood,
+ BlockKind::StrippedPaleOakWood,
+ BlockKind::StrippedMangroveWood,
+ ])
+});
+pub static LUSH_GROUND_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::Gravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Clay,
+ BlockKind::Mycelium,
+ BlockKind::Tuff,
+ BlockKind::CaveVines,
+ BlockKind::CaveVinesPlant,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static MAINTAINS_FARMLAND: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Torchflower,
+ BlockKind::Wheat,
+ BlockKind::AttachedPumpkinStem,
+ BlockKind::AttachedMelonStem,
+ BlockKind::PumpkinStem,
+ BlockKind::MelonStem,
+ BlockKind::Carrots,
+ BlockKind::Potatoes,
+ BlockKind::TorchflowerCrop,
+ BlockKind::PitcherCrop,
+ BlockKind::Beetroots,
+ ])
+});
+pub static MANGROVE_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::MangroveLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedMangroveWood,
+ ])
+});
+pub static MANGROVE_LOGS_CAN_GROW_THROUGH: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::MangrovePropagule,
+ BlockKind::MangroveLog,
+ BlockKind::MangroveRoots,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::MangroveLeaves,
+ BlockKind::Vine,
+ BlockKind::MossCarpet,
+ BlockKind::Mud,
+ ])
+});
+pub static MANGROVE_ROOTS_CAN_GROW_THROUGH: LazyLock<RegistryTag<BlockKind>> =
LazyLock::new(|| {
- HashSet::from_iter([
- Block::Sand,
- Block::RedSand,
- Block::Terracotta,
- Block::WhiteTerracotta,
- Block::OrangeTerracotta,
- Block::MagentaTerracotta,
- Block::LightBlueTerracotta,
- Block::YellowTerracotta,
- Block::LimeTerracotta,
- Block::PinkTerracotta,
- Block::GrayTerracotta,
- Block::LightGrayTerracotta,
- Block::CyanTerracotta,
- Block::PurpleTerracotta,
- Block::BlueTerracotta,
- Block::BrownTerracotta,
- Block::GreenTerracotta,
- Block::RedTerracotta,
- Block::BlackTerracotta,
+ RegistryTag::new(vec![
+ BlockKind::MangrovePropagule,
+ BlockKind::MangroveRoots,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Snow,
+ BlockKind::Vine,
+ BlockKind::MossCarpet,
+ BlockKind::Mud,
])
});
-pub static TRIGGERS_AMBIENT_DESERT_SAND_BLOCK_SOUNDS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::Sand, Block::RedSand]));
-pub static TRIGGERS_AMBIENT_DRIED_GHAST_BLOCK_SOUNDS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::SoulSand, Block::SoulSoil]));
-pub static UNDERWATER_BONEMEALS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Seagrass,
- Block::TubeCoralFan,
- Block::BrainCoralFan,
- Block::BubbleCoralFan,
- Block::FireCoralFan,
- Block::HornCoralFan,
- Block::TubeCoralWallFan,
- Block::BrainCoralWallFan,
- Block::BubbleCoralWallFan,
- Block::FireCoralWallFan,
- Block::HornCoralWallFan,
- Block::TubeCoral,
- Block::BrainCoral,
- Block::BubbleCoral,
- Block::FireCoral,
- Block::HornCoral,
- ])
-});
-pub static UNSTABLE_BOTTOM_CENTER: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::AcaciaFenceGate,
- Block::BirchFenceGate,
- Block::DarkOakFenceGate,
- Block::PaleOakFenceGate,
- Block::JungleFenceGate,
- Block::OakFenceGate,
- Block::SpruceFenceGate,
- Block::CrimsonFenceGate,
- Block::WarpedFenceGate,
- Block::MangroveFenceGate,
- Block::BambooFenceGate,
- Block::CherryFenceGate,
- ])
-});
-pub static VALID_SPAWN: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::GrassBlock, Block::Podzol]));
-pub static VIBRATION_RESONATORS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::AmethystBlock]));
-pub static WALL_CORALS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::TubeCoralWallFan,
- Block::BrainCoralWallFan,
- Block::BubbleCoralWallFan,
- Block::FireCoralWallFan,
- Block::HornCoralWallFan,
- ])
-});
-pub static WALL_HANGING_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakWallHangingSign,
- Block::SpruceWallHangingSign,
- Block::BirchWallHangingSign,
- Block::AcaciaWallHangingSign,
- Block::CherryWallHangingSign,
- Block::JungleWallHangingSign,
- Block::DarkOakWallHangingSign,
- Block::PaleOakWallHangingSign,
- Block::CrimsonWallHangingSign,
- Block::WarpedWallHangingSign,
- Block::MangroveWallHangingSign,
- Block::BambooWallHangingSign,
- ])
-});
-pub static WALL_POST_OVERRIDE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Torch,
- Block::SoulTorch,
- Block::RedstoneTorch,
- Block::CopperTorch,
- Block::Tripwire,
- Block::CactusFlower,
- Block::WhiteBanner,
- Block::OrangeBanner,
- Block::MagentaBanner,
- Block::LightBlueBanner,
- Block::YellowBanner,
- Block::LimeBanner,
- Block::PinkBanner,
- Block::GrayBanner,
- Block::LightGrayBanner,
- Block::CyanBanner,
- Block::PurpleBanner,
- Block::BlueBanner,
- Block::BrownBanner,
- Block::GreenBanner,
- Block::RedBanner,
- Block::BlackBanner,
- Block::WhiteWallBanner,
- Block::OrangeWallBanner,
- Block::MagentaWallBanner,
- Block::LightBlueWallBanner,
- Block::YellowWallBanner,
- Block::LimeWallBanner,
- Block::PinkWallBanner,
- Block::GrayWallBanner,
- Block::LightGrayWallBanner,
- Block::CyanWallBanner,
- Block::PurpleWallBanner,
- Block::BlueWallBanner,
- Block::BrownWallBanner,
- Block::GreenWallBanner,
- Block::RedWallBanner,
- Block::BlackWallBanner,
- Block::LightWeightedPressurePlate,
- Block::HeavyWeightedPressurePlate,
- Block::OakSign,
- Block::SpruceSign,
- Block::BirchSign,
- Block::AcaciaSign,
- Block::JungleSign,
- Block::DarkOakSign,
- Block::PaleOakSign,
- Block::CrimsonSign,
- Block::WarpedSign,
- Block::MangroveSign,
- Block::BambooSign,
- Block::CherrySign,
- Block::OakWallSign,
- Block::SpruceWallSign,
- Block::BirchWallSign,
- Block::AcaciaWallSign,
- Block::JungleWallSign,
- Block::DarkOakWallSign,
- Block::PaleOakWallSign,
- Block::CrimsonWallSign,
- Block::WarpedWallSign,
- Block::MangroveWallSign,
- Block::BambooWallSign,
- Block::CherryWallSign,
- Block::OakPressurePlate,
- Block::SprucePressurePlate,
- Block::BirchPressurePlate,
- Block::JunglePressurePlate,
- Block::AcaciaPressurePlate,
- Block::DarkOakPressurePlate,
- Block::PaleOakPressurePlate,
- Block::CrimsonPressurePlate,
- Block::WarpedPressurePlate,
- Block::MangrovePressurePlate,
- Block::BambooPressurePlate,
- Block::CherryPressurePlate,
- Block::StonePressurePlate,
- Block::PolishedBlackstonePressurePlate,
- ])
-});
-pub static WALL_SIGNS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakWallSign,
- Block::SpruceWallSign,
- Block::BirchWallSign,
- Block::AcaciaWallSign,
- Block::JungleWallSign,
- Block::DarkOakWallSign,
- Block::PaleOakWallSign,
- Block::CrimsonWallSign,
- Block::WarpedWallSign,
- Block::MangroveWallSign,
- Block::BambooWallSign,
- Block::CherryWallSign,
- ])
-});
-pub static WALLS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::CobblestoneWall,
- Block::MossyCobblestoneWall,
- Block::BrickWall,
- Block::PrismarineWall,
- Block::RedSandstoneWall,
- Block::MossyStoneBrickWall,
- Block::GraniteWall,
- Block::StoneBrickWall,
- Block::NetherBrickWall,
- Block::AndesiteWall,
- Block::RedNetherBrickWall,
- Block::SandstoneWall,
- Block::EndStoneBrickWall,
- Block::DioriteWall,
- Block::BlackstoneWall,
- Block::PolishedBlackstoneBrickWall,
- Block::PolishedBlackstoneWall,
- Block::CobbledDeepslateWall,
- Block::PolishedDeepslateWall,
- Block::DeepslateTileWall,
- Block::DeepslateBrickWall,
- Block::MudBrickWall,
- Block::TuffWall,
- Block::PolishedTuffWall,
- Block::TuffBrickWall,
- Block::ResinBrickWall,
- ])
-});
-pub static WARPED_STEMS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WarpedStem,
- Block::StrippedWarpedStem,
- Block::WarpedHyphae,
- Block::StrippedWarpedHyphae,
- ])
-});
-pub static WART_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::NetherWartBlock, Block::WarpedWartBlock]));
-pub static WITHER_IMMUNE: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::Barrier,
- Block::Bedrock,
- Block::EndPortal,
- Block::EndPortalFrame,
- Block::EndGateway,
- Block::CommandBlock,
- Block::RepeatingCommandBlock,
- Block::ChainCommandBlock,
- Block::StructureBlock,
- Block::Jigsaw,
- Block::MovingPiston,
- Block::Light,
- Block::ReinforcedDeepslate,
- Block::TestBlock,
- Block::TestInstanceBlock,
- ])
-});
-pub static WITHER_SUMMON_BASE_BLOCKS: LazyLock<HashSet<Block>> =
- LazyLock::new(|| HashSet::from_iter([Block::SoulSand, Block::SoulSoil]));
-pub static WOLVES_SPAWNABLE_ON: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::GrassBlock,
- Block::Snow,
- Block::SnowBlock,
- Block::CoarseDirt,
- Block::Podzol,
- ])
-});
-pub static WOODEN_BUTTONS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakButton,
- Block::SpruceButton,
- Block::BirchButton,
- Block::JungleButton,
- Block::AcaciaButton,
- Block::DarkOakButton,
- Block::PaleOakButton,
- Block::CrimsonButton,
- Block::WarpedButton,
- Block::MangroveButton,
- Block::BambooButton,
- Block::CherryButton,
- ])
-});
-pub static WOODEN_DOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakDoor,
- Block::SpruceDoor,
- Block::BirchDoor,
- Block::JungleDoor,
- Block::AcaciaDoor,
- Block::DarkOakDoor,
- Block::PaleOakDoor,
- Block::CrimsonDoor,
- Block::WarpedDoor,
- Block::MangroveDoor,
- Block::BambooDoor,
- Block::CherryDoor,
- ])
-});
-pub static WOODEN_FENCES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakFence,
- Block::AcaciaFence,
- Block::DarkOakFence,
- Block::PaleOakFence,
- Block::SpruceFence,
- Block::BirchFence,
- Block::JungleFence,
- Block::CrimsonFence,
- Block::WarpedFence,
- Block::MangroveFence,
- Block::BambooFence,
- Block::CherryFence,
- ])
-});
-pub static WOODEN_PRESSURE_PLATES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakPressurePlate,
- Block::SprucePressurePlate,
- Block::BirchPressurePlate,
- Block::JunglePressurePlate,
- Block::AcaciaPressurePlate,
- Block::DarkOakPressurePlate,
- Block::PaleOakPressurePlate,
- Block::CrimsonPressurePlate,
- Block::WarpedPressurePlate,
- Block::MangrovePressurePlate,
- Block::BambooPressurePlate,
- Block::CherryPressurePlate,
- ])
-});
-pub static WOODEN_SHELVES: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::AcaciaShelf,
- Block::BambooShelf,
- Block::BirchShelf,
- Block::CherryShelf,
- Block::CrimsonShelf,
- Block::DarkOakShelf,
- Block::JungleShelf,
- Block::MangroveShelf,
- Block::OakShelf,
- Block::PaleOakShelf,
- Block::SpruceShelf,
- Block::WarpedShelf,
- ])
-});
-pub static WOODEN_SLABS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakSlab,
- Block::SpruceSlab,
- Block::BirchSlab,
- Block::JungleSlab,
- Block::AcaciaSlab,
- Block::DarkOakSlab,
- Block::PaleOakSlab,
- Block::CrimsonSlab,
- Block::WarpedSlab,
- Block::MangroveSlab,
- Block::BambooSlab,
- Block::CherrySlab,
- ])
-});
-pub static WOODEN_STAIRS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::OakStairs,
- Block::SpruceStairs,
- Block::BirchStairs,
- Block::JungleStairs,
- Block::AcaciaStairs,
- Block::DarkOakStairs,
- Block::PaleOakStairs,
- Block::CrimsonStairs,
- Block::WarpedStairs,
- Block::MangroveStairs,
- Block::BambooStairs,
- Block::CherryStairs,
- ])
-});
-pub static WOODEN_TRAPDOORS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::AcaciaTrapdoor,
- Block::BirchTrapdoor,
- Block::DarkOakTrapdoor,
- Block::PaleOakTrapdoor,
- Block::JungleTrapdoor,
- Block::OakTrapdoor,
- Block::SpruceTrapdoor,
- Block::CrimsonTrapdoor,
- Block::WarpedTrapdoor,
- Block::MangroveTrapdoor,
- Block::BambooTrapdoor,
- Block::CherryTrapdoor,
- ])
-});
-pub static WOOL: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WhiteWool,
- Block::OrangeWool,
- Block::MagentaWool,
- Block::LightBlueWool,
- Block::YellowWool,
- Block::LimeWool,
- Block::PinkWool,
- Block::GrayWool,
- Block::LightGrayWool,
- Block::CyanWool,
- Block::PurpleWool,
- Block::BlueWool,
- Block::BrownWool,
- Block::GreenWool,
- Block::RedWool,
- Block::BlackWool,
- ])
-});
-pub static WOOL_CARPETS: LazyLock<HashSet<Block>> = LazyLock::new(|| {
- HashSet::from_iter([
- Block::WhiteCarpet,
- Block::OrangeCarpet,
- Block::MagentaCarpet,
- Block::LightBlueCarpet,
- Block::YellowCarpet,
- Block::LimeCarpet,
- Block::PinkCarpet,
- Block::GrayCarpet,
- Block::LightGrayCarpet,
- Block::CyanCarpet,
- Block::PurpleCarpet,
- Block::BlueCarpet,
- Block::BrownCarpet,
- Block::GreenCarpet,
- Block::RedCarpet,
- Block::BlackCarpet,
+pub static MINEABLE_AXE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakPlanks,
+ BlockKind::SprucePlanks,
+ BlockKind::BirchPlanks,
+ BlockKind::JunglePlanks,
+ BlockKind::AcaciaPlanks,
+ BlockKind::CherryPlanks,
+ BlockKind::DarkOakPlanks,
+ BlockKind::PaleOakWood,
+ BlockKind::PaleOakPlanks,
+ BlockKind::MangrovePlanks,
+ BlockKind::BambooPlanks,
+ BlockKind::BambooMosaic,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::MangroveRoots,
+ BlockKind::BambooBlock,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::StrippedBambooBlock,
+ BlockKind::OakWood,
+ BlockKind::SpruceWood,
+ BlockKind::BirchWood,
+ BlockKind::JungleWood,
+ BlockKind::AcaciaWood,
+ BlockKind::CherryWood,
+ BlockKind::DarkOakWood,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedOakWood,
+ BlockKind::StrippedSpruceWood,
+ BlockKind::StrippedBirchWood,
+ BlockKind::StrippedJungleWood,
+ BlockKind::StrippedAcaciaWood,
+ BlockKind::StrippedCherryWood,
+ BlockKind::StrippedDarkOakWood,
+ BlockKind::StrippedPaleOakWood,
+ BlockKind::StrippedMangroveWood,
+ BlockKind::NoteBlock,
+ BlockKind::Bookshelf,
+ BlockKind::ChiseledBookshelf,
+ BlockKind::AcaciaShelf,
+ BlockKind::BambooShelf,
+ BlockKind::BirchShelf,
+ BlockKind::CherryShelf,
+ BlockKind::CrimsonShelf,
+ BlockKind::DarkOakShelf,
+ BlockKind::JungleShelf,
+ BlockKind::MangroveShelf,
+ BlockKind::OakShelf,
+ BlockKind::PaleOakShelf,
+ BlockKind::SpruceShelf,
+ BlockKind::WarpedShelf,
+ BlockKind::CreakingHeart,
+ BlockKind::OakStairs,
+ BlockKind::Chest,
+ BlockKind::CraftingTable,
+ BlockKind::OakSign,
+ BlockKind::SpruceSign,
+ BlockKind::BirchSign,
+ BlockKind::AcaciaSign,
+ BlockKind::CherrySign,
+ BlockKind::JungleSign,
+ BlockKind::DarkOakSign,
+ BlockKind::PaleOakSign,
+ BlockKind::MangroveSign,
+ BlockKind::BambooSign,
+ BlockKind::OakDoor,
+ BlockKind::Ladder,
+ BlockKind::OakWallSign,
+ BlockKind::SpruceWallSign,
+ BlockKind::BirchWallSign,
+ BlockKind::AcaciaWallSign,
+ BlockKind::CherryWallSign,
+ BlockKind::JungleWallSign,
+ BlockKind::DarkOakWallSign,
+ BlockKind::PaleOakWallSign,
+ BlockKind::MangroveWallSign,
+ BlockKind::BambooWallSign,
+ BlockKind::OakHangingSign,
+ BlockKind::SpruceHangingSign,
+ BlockKind::BirchHangingSign,
+ BlockKind::AcaciaHangingSign,
+ BlockKind::CherryHangingSign,
+ BlockKind::JungleHangingSign,
+ BlockKind::DarkOakHangingSign,
+ BlockKind::PaleOakHangingSign,
+ BlockKind::CrimsonHangingSign,
+ BlockKind::WarpedHangingSign,
+ BlockKind::MangroveHangingSign,
+ BlockKind::BambooHangingSign,
+ BlockKind::OakWallHangingSign,
+ BlockKind::SpruceWallHangingSign,
+ BlockKind::BirchWallHangingSign,
+ BlockKind::AcaciaWallHangingSign,
+ BlockKind::CherryWallHangingSign,
+ BlockKind::JungleWallHangingSign,
+ BlockKind::DarkOakWallHangingSign,
+ BlockKind::PaleOakWallHangingSign,
+ BlockKind::MangroveWallHangingSign,
+ BlockKind::CrimsonWallHangingSign,
+ BlockKind::WarpedWallHangingSign,
+ BlockKind::BambooWallHangingSign,
+ BlockKind::OakPressurePlate,
+ BlockKind::SprucePressurePlate,
+ BlockKind::BirchPressurePlate,
+ BlockKind::JunglePressurePlate,
+ BlockKind::AcaciaPressurePlate,
+ BlockKind::CherryPressurePlate,
+ BlockKind::DarkOakPressurePlate,
+ BlockKind::PaleOakPressurePlate,
+ BlockKind::MangrovePressurePlate,
+ BlockKind::BambooPressurePlate,
+ BlockKind::Jukebox,
+ BlockKind::OakFence,
+ BlockKind::CarvedPumpkin,
+ BlockKind::JackOLantern,
+ BlockKind::OakTrapdoor,
+ BlockKind::SpruceTrapdoor,
+ BlockKind::BirchTrapdoor,
+ BlockKind::JungleTrapdoor,
+ BlockKind::AcaciaTrapdoor,
+ BlockKind::CherryTrapdoor,
+ BlockKind::DarkOakTrapdoor,
+ BlockKind::PaleOakTrapdoor,
+ BlockKind::MangroveTrapdoor,
+ BlockKind::BambooTrapdoor,
+ BlockKind::BrownMushroomBlock,
+ BlockKind::RedMushroomBlock,
+ BlockKind::MushroomStem,
+ BlockKind::Pumpkin,
+ BlockKind::Melon,
+ BlockKind::Vine,
+ BlockKind::GlowLichen,
+ BlockKind::OakFenceGate,
+ BlockKind::Cocoa,
+ BlockKind::SpruceStairs,
+ BlockKind::BirchStairs,
+ BlockKind::JungleStairs,
+ BlockKind::OakButton,
+ BlockKind::SpruceButton,
+ BlockKind::BirchButton,
+ BlockKind::JungleButton,
+ BlockKind::AcaciaButton,
+ BlockKind::CherryButton,
+ BlockKind::DarkOakButton,
+ BlockKind::PaleOakButton,
+ BlockKind::MangroveButton,
+ BlockKind::BambooButton,
+ BlockKind::TrappedChest,
+ BlockKind::DaylightDetector,
+ BlockKind::AcaciaStairs,
+ BlockKind::CherryStairs,
+ BlockKind::DarkOakStairs,
+ BlockKind::PaleOakStairs,
+ BlockKind::MangroveStairs,
+ BlockKind::BambooStairs,
+ BlockKind::BambooMosaicStairs,
+ BlockKind::WhiteBanner,
+ BlockKind::OrangeBanner,
+ BlockKind::MagentaBanner,
+ BlockKind::LightBlueBanner,
+ BlockKind::YellowBanner,
+ BlockKind::LimeBanner,
+ BlockKind::PinkBanner,
+ BlockKind::GrayBanner,
+ BlockKind::LightGrayBanner,
+ BlockKind::CyanBanner,
+ BlockKind::PurpleBanner,
+ BlockKind::BlueBanner,
+ BlockKind::BrownBanner,
+ BlockKind::GreenBanner,
+ BlockKind::RedBanner,
+ BlockKind::BlackBanner,
+ BlockKind::WhiteWallBanner,
+ BlockKind::OrangeWallBanner,
+ BlockKind::MagentaWallBanner,
+ BlockKind::LightBlueWallBanner,
+ BlockKind::YellowWallBanner,
+ BlockKind::LimeWallBanner,
+ BlockKind::PinkWallBanner,
+ BlockKind::GrayWallBanner,
+ BlockKind::LightGrayWallBanner,
+ BlockKind::CyanWallBanner,
+ BlockKind::PurpleWallBanner,
+ BlockKind::BlueWallBanner,
+ BlockKind::BrownWallBanner,
+ BlockKind::GreenWallBanner,
+ BlockKind::RedWallBanner,
+ BlockKind::BlackWallBanner,
+ BlockKind::OakSlab,
+ BlockKind::SpruceSlab,
+ BlockKind::BirchSlab,
+ BlockKind::JungleSlab,
+ BlockKind::AcaciaSlab,
+ BlockKind::CherrySlab,
+ BlockKind::DarkOakSlab,
+ BlockKind::PaleOakSlab,
+ BlockKind::MangroveSlab,
+ BlockKind::BambooSlab,
+ BlockKind::BambooMosaicSlab,
+ BlockKind::SpruceFenceGate,
+ BlockKind::BirchFenceGate,
+ BlockKind::JungleFenceGate,
+ BlockKind::AcaciaFenceGate,
+ BlockKind::CherryFenceGate,
+ BlockKind::DarkOakFenceGate,
+ BlockKind::PaleOakFenceGate,
+ BlockKind::MangroveFenceGate,
+ BlockKind::BambooFenceGate,
+ BlockKind::SpruceFence,
+ BlockKind::BirchFence,
+ BlockKind::JungleFence,
+ BlockKind::AcaciaFence,
+ BlockKind::CherryFence,
+ BlockKind::DarkOakFence,
+ BlockKind::PaleOakFence,
+ BlockKind::MangroveFence,
+ BlockKind::BambooFence,
+ BlockKind::SpruceDoor,
+ BlockKind::BirchDoor,
+ BlockKind::JungleDoor,
+ BlockKind::AcaciaDoor,
+ BlockKind::CherryDoor,
+ BlockKind::DarkOakDoor,
+ BlockKind::PaleOakDoor,
+ BlockKind::MangroveDoor,
+ BlockKind::BambooDoor,
+ BlockKind::ChorusPlant,
+ BlockKind::ChorusFlower,
+ BlockKind::Bamboo,
+ BlockKind::Loom,
+ BlockKind::Barrel,
+ BlockKind::CartographyTable,
+ BlockKind::FletchingTable,
+ BlockKind::Lectern,
+ BlockKind::SmithingTable,
+ BlockKind::Campfire,
+ BlockKind::SoulCampfire,
+ BlockKind::WarpedStem,
+ BlockKind::StrippedWarpedStem,
+ BlockKind::WarpedHyphae,
+ BlockKind::StrippedWarpedHyphae,
+ BlockKind::CrimsonStem,
+ BlockKind::StrippedCrimsonStem,
+ BlockKind::CrimsonHyphae,
+ BlockKind::StrippedCrimsonHyphae,
+ BlockKind::CrimsonPlanks,
+ BlockKind::WarpedPlanks,
+ BlockKind::CrimsonSlab,
+ BlockKind::WarpedSlab,
+ BlockKind::CrimsonPressurePlate,
+ BlockKind::WarpedPressurePlate,
+ BlockKind::CrimsonFence,
+ BlockKind::WarpedFence,
+ BlockKind::CrimsonTrapdoor,
+ BlockKind::WarpedTrapdoor,
+ BlockKind::CrimsonFenceGate,
+ BlockKind::WarpedFenceGate,
+ BlockKind::CrimsonStairs,
+ BlockKind::WarpedStairs,
+ BlockKind::CrimsonButton,
+ BlockKind::WarpedButton,
+ BlockKind::CrimsonDoor,
+ BlockKind::WarpedDoor,
+ BlockKind::CrimsonSign,
+ BlockKind::WarpedSign,
+ BlockKind::CrimsonWallSign,
+ BlockKind::WarpedWallSign,
+ BlockKind::Composter,
+ BlockKind::BeeNest,
+ BlockKind::Beehive,
+ BlockKind::BigDripleaf,
+ BlockKind::BigDripleafStem,
+ ])
+});
+pub static MINEABLE_HOE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::Sponge,
+ BlockKind::WetSponge,
+ BlockKind::HayBlock,
+ BlockKind::NetherWartBlock,
+ BlockKind::DriedKelpBlock,
+ BlockKind::WarpedWartBlock,
+ BlockKind::Shroomlight,
+ BlockKind::Target,
+ BlockKind::SculkSensor,
+ BlockKind::CalibratedSculkSensor,
+ BlockKind::Sculk,
+ BlockKind::SculkVein,
+ BlockKind::SculkCatalyst,
+ BlockKind::SculkShrieker,
+ BlockKind::MossCarpet,
+ BlockKind::MossBlock,
+ BlockKind::PaleMossBlock,
+ BlockKind::PaleMossCarpet,
+ ])
+});
+pub static MINEABLE_PICKAXE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::PolishedGranite,
+ BlockKind::Diorite,
+ BlockKind::PolishedDiorite,
+ BlockKind::Andesite,
+ BlockKind::PolishedAndesite,
+ BlockKind::Cobblestone,
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::IronOre,
+ BlockKind::DeepslateIronOre,
+ BlockKind::CoalOre,
+ BlockKind::DeepslateCoalOre,
+ BlockKind::NetherGoldOre,
+ BlockKind::LapisOre,
+ BlockKind::DeepslateLapisOre,
+ BlockKind::LapisBlock,
+ BlockKind::Dispenser,
+ BlockKind::Sandstone,
+ BlockKind::ChiseledSandstone,
+ BlockKind::CutSandstone,
+ BlockKind::PoweredRail,
+ BlockKind::DetectorRail,
+ BlockKind::StickyPiston,
+ BlockKind::Piston,
+ BlockKind::PistonHead,
+ BlockKind::GoldBlock,
+ BlockKind::IronBlock,
+ BlockKind::Bricks,
+ BlockKind::MossyCobblestone,
+ BlockKind::Obsidian,
+ BlockKind::Spawner,
+ BlockKind::DiamondOre,
+ BlockKind::DeepslateDiamondOre,
+ BlockKind::DiamondBlock,
+ BlockKind::Furnace,
+ BlockKind::Rail,
+ BlockKind::CobblestoneStairs,
+ BlockKind::StonePressurePlate,
+ BlockKind::IronDoor,
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ BlockKind::StoneButton,
+ BlockKind::Ice,
+ BlockKind::Netherrack,
+ BlockKind::Basalt,
+ BlockKind::PolishedBasalt,
+ BlockKind::StoneBricks,
+ BlockKind::MossyStoneBricks,
+ BlockKind::CrackedStoneBricks,
+ BlockKind::ChiseledStoneBricks,
+ BlockKind::PackedMud,
+ BlockKind::MudBricks,
+ BlockKind::InfestedStone,
+ BlockKind::InfestedCobblestone,
+ BlockKind::InfestedStoneBricks,
+ BlockKind::InfestedMossyStoneBricks,
+ BlockKind::InfestedCrackedStoneBricks,
+ BlockKind::InfestedChiseledStoneBricks,
+ BlockKind::IronBars,
+ BlockKind::CopperBars,
+ BlockKind::ExposedCopperBars,
+ BlockKind::WeatheredCopperBars,
+ BlockKind::OxidizedCopperBars,
+ BlockKind::WaxedCopperBars,
+ BlockKind::WaxedExposedCopperBars,
+ BlockKind::WaxedWeatheredCopperBars,
+ BlockKind::WaxedOxidizedCopperBars,
+ BlockKind::IronChain,
+ BlockKind::CopperChain,
+ BlockKind::ExposedCopperChain,
+ BlockKind::WeatheredCopperChain,
+ BlockKind::OxidizedCopperChain,
+ BlockKind::WaxedCopperChain,
+ BlockKind::WaxedExposedCopperChain,
+ BlockKind::WaxedWeatheredCopperChain,
+ BlockKind::WaxedOxidizedCopperChain,
+ BlockKind::BrickStairs,
+ BlockKind::StoneBrickStairs,
+ BlockKind::MudBrickStairs,
+ BlockKind::ResinBricks,
+ BlockKind::ResinBrickStairs,
+ BlockKind::ResinBrickSlab,
+ BlockKind::ResinBrickWall,
+ BlockKind::ResinBrickWall,
+ BlockKind::ChiseledResinBricks,
+ BlockKind::NetherBricks,
+ BlockKind::NetherBrickFence,
+ BlockKind::NetherBrickStairs,
+ BlockKind::EnchantingTable,
+ BlockKind::BrewingStand,
+ BlockKind::Cauldron,
+ BlockKind::WaterCauldron,
+ BlockKind::LavaCauldron,
+ BlockKind::PowderSnowCauldron,
+ BlockKind::EndStone,
+ BlockKind::SandstoneStairs,
+ BlockKind::EmeraldOre,
+ BlockKind::DeepslateEmeraldOre,
+ BlockKind::EnderChest,
+ BlockKind::EmeraldBlock,
+ BlockKind::CobblestoneWall,
+ BlockKind::MossyCobblestoneWall,
+ BlockKind::Anvil,
+ BlockKind::ChippedAnvil,
+ BlockKind::DamagedAnvil,
+ BlockKind::LightWeightedPressurePlate,
+ BlockKind::HeavyWeightedPressurePlate,
+ BlockKind::RedstoneBlock,
+ BlockKind::NetherQuartzOre,
+ BlockKind::Hopper,
+ BlockKind::QuartzBlock,
+ BlockKind::ChiseledQuartzBlock,
+ BlockKind::QuartzPillar,
+ BlockKind::QuartzStairs,
+ BlockKind::ActivatorRail,
+ BlockKind::Dropper,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::IronTrapdoor,
+ BlockKind::Prismarine,
+ BlockKind::PrismarineBricks,
+ BlockKind::DarkPrismarine,
+ BlockKind::PrismarineStairs,
+ BlockKind::PrismarineBrickStairs,
+ BlockKind::DarkPrismarineStairs,
+ BlockKind::PrismarineSlab,
+ BlockKind::PrismarineBrickSlab,
+ BlockKind::DarkPrismarineSlab,
+ BlockKind::Terracotta,
+ BlockKind::CoalBlock,
+ BlockKind::PackedIce,
+ BlockKind::RedSandstone,
+ BlockKind::ChiseledRedSandstone,
+ BlockKind::CutRedSandstone,
+ BlockKind::RedSandstoneStairs,
+ BlockKind::StoneSlab,
+ BlockKind::SmoothStoneSlab,
+ BlockKind::SandstoneSlab,
+ BlockKind::CutSandstoneSlab,
+ BlockKind::PetrifiedOakSlab,
+ BlockKind::CobblestoneSlab,
+ BlockKind::BrickSlab,
+ BlockKind::StoneBrickSlab,
+ BlockKind::MudBrickSlab,
+ BlockKind::NetherBrickSlab,
+ BlockKind::QuartzSlab,
+ BlockKind::RedSandstoneSlab,
+ BlockKind::CutRedSandstoneSlab,
+ BlockKind::PurpurSlab,
+ BlockKind::SmoothStone,
+ BlockKind::SmoothSandstone,
+ BlockKind::SmoothQuartz,
+ BlockKind::SmoothRedSandstone,
+ BlockKind::PurpurBlock,
+ BlockKind::PurpurPillar,
+ BlockKind::PurpurStairs,
+ BlockKind::EndStoneBricks,
+ BlockKind::MagmaBlock,
+ BlockKind::RedNetherBricks,
+ BlockKind::BoneBlock,
+ BlockKind::Observer,
+ BlockKind::ShulkerBox,
+ BlockKind::WhiteShulkerBox,
+ BlockKind::OrangeShulkerBox,
+ BlockKind::MagentaShulkerBox,
+ BlockKind::LightBlueShulkerBox,
+ BlockKind::YellowShulkerBox,
+ BlockKind::LimeShulkerBox,
+ BlockKind::PinkShulkerBox,
+ BlockKind::GrayShulkerBox,
+ BlockKind::LightGrayShulkerBox,
+ BlockKind::CyanShulkerBox,
+ BlockKind::PurpleShulkerBox,
+ BlockKind::BlueShulkerBox,
+ BlockKind::BrownShulkerBox,
+ BlockKind::GreenShulkerBox,
+ BlockKind::RedShulkerBox,
+ BlockKind::BlackShulkerBox,
+ BlockKind::WhiteGlazedTerracotta,
+ BlockKind::OrangeGlazedTerracotta,
+ BlockKind::MagentaGlazedTerracotta,
+ BlockKind::LightBlueGlazedTerracotta,
+ BlockKind::YellowGlazedTerracotta,
+ BlockKind::LimeGlazedTerracotta,
+ BlockKind::PinkGlazedTerracotta,
+ BlockKind::GrayGlazedTerracotta,
+ BlockKind::LightGrayGlazedTerracotta,
+ BlockKind::CyanGlazedTerracotta,
+ BlockKind::PurpleGlazedTerracotta,
+ BlockKind::BlueGlazedTerracotta,
+ BlockKind::BrownGlazedTerracotta,
+ BlockKind::GreenGlazedTerracotta,
+ BlockKind::RedGlazedTerracotta,
+ BlockKind::BlackGlazedTerracotta,
+ BlockKind::WhiteConcrete,
+ BlockKind::OrangeConcrete,
+ BlockKind::MagentaConcrete,
+ BlockKind::LightBlueConcrete,
+ BlockKind::YellowConcrete,
+ BlockKind::LimeConcrete,
+ BlockKind::PinkConcrete,
+ BlockKind::GrayConcrete,
+ BlockKind::LightGrayConcrete,
+ BlockKind::CyanConcrete,
+ BlockKind::PurpleConcrete,
+ BlockKind::BlueConcrete,
+ BlockKind::BrownConcrete,
+ BlockKind::GreenConcrete,
+ BlockKind::RedConcrete,
+ BlockKind::BlackConcrete,
+ BlockKind::DeadTubeCoralBlock,
+ BlockKind::DeadBrainCoralBlock,
+ BlockKind::DeadBubbleCoralBlock,
+ BlockKind::DeadFireCoralBlock,
+ BlockKind::DeadHornCoralBlock,
+ BlockKind::TubeCoralBlock,
+ BlockKind::BrainCoralBlock,
+ BlockKind::BubbleCoralBlock,
+ BlockKind::FireCoralBlock,
+ BlockKind::HornCoralBlock,
+ BlockKind::DeadTubeCoral,
+ BlockKind::DeadBrainCoral,
+ BlockKind::DeadBubbleCoral,
+ BlockKind::DeadFireCoral,
+ BlockKind::DeadHornCoral,
+ BlockKind::DeadTubeCoralFan,
+ BlockKind::DeadBrainCoralFan,
+ BlockKind::DeadBubbleCoralFan,
+ BlockKind::DeadFireCoralFan,
+ BlockKind::DeadHornCoralFan,
+ BlockKind::DeadTubeCoralWallFan,
+ BlockKind::DeadBrainCoralWallFan,
+ BlockKind::DeadBubbleCoralWallFan,
+ BlockKind::DeadFireCoralWallFan,
+ BlockKind::DeadHornCoralWallFan,
+ BlockKind::BlueIce,
+ BlockKind::Conduit,
+ BlockKind::PolishedGraniteStairs,
+ BlockKind::SmoothRedSandstoneStairs,
+ BlockKind::MossyStoneBrickStairs,
+ BlockKind::PolishedDioriteStairs,
+ BlockKind::MossyCobblestoneStairs,
+ BlockKind::EndStoneBrickStairs,
+ BlockKind::StoneStairs,
+ BlockKind::SmoothSandstoneStairs,
+ BlockKind::SmoothQuartzStairs,
+ BlockKind::GraniteStairs,
+ BlockKind::AndesiteStairs,
+ BlockKind::RedNetherBrickStairs,
+ BlockKind::PolishedAndesiteStairs,
+ BlockKind::DioriteStairs,
+ BlockKind::PolishedGraniteSlab,
+ BlockKind::SmoothRedSandstoneSlab,
+ BlockKind::MossyStoneBrickSlab,
+ BlockKind::PolishedDioriteSlab,
+ BlockKind::MossyCobblestoneSlab,
+ BlockKind::EndStoneBrickSlab,
+ BlockKind::SmoothSandstoneSlab,
+ BlockKind::SmoothQuartzSlab,
+ BlockKind::GraniteSlab,
+ BlockKind::AndesiteSlab,
+ BlockKind::RedNetherBrickSlab,
+ BlockKind::PolishedAndesiteSlab,
+ BlockKind::DioriteSlab,
+ BlockKind::BrickWall,
+ BlockKind::PrismarineWall,
+ BlockKind::RedSandstoneWall,
+ BlockKind::MossyStoneBrickWall,
+ BlockKind::GraniteWall,
+ BlockKind::StoneBrickWall,
+ BlockKind::MudBrickWall,
+ BlockKind::NetherBrickWall,
+ BlockKind::AndesiteWall,
+ BlockKind::RedNetherBrickWall,
+ BlockKind::SandstoneWall,
+ BlockKind::EndStoneBrickWall,
+ BlockKind::DioriteWall,
+ BlockKind::Smoker,
+ BlockKind::BlastFurnace,
+ BlockKind::Grindstone,
+ BlockKind::Stonecutter,
+ BlockKind::Bell,
+ BlockKind::Lantern,
+ BlockKind::SoulLantern,
+ BlockKind::CopperLantern,
+ BlockKind::ExposedCopperLantern,
+ BlockKind::WeatheredCopperLantern,
+ BlockKind::OxidizedCopperLantern,
+ BlockKind::WaxedCopperLantern,
+ BlockKind::WaxedExposedCopperLantern,
+ BlockKind::WaxedWeatheredCopperLantern,
+ BlockKind::WaxedOxidizedCopperLantern,
+ BlockKind::WarpedNylium,
+ BlockKind::CrimsonNylium,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ BlockKind::Lodestone,
+ BlockKind::Blackstone,
+ BlockKind::BlackstoneStairs,
+ BlockKind::BlackstoneWall,
+ BlockKind::BlackstoneSlab,
+ BlockKind::PolishedBlackstone,
+ BlockKind::PolishedBlackstoneBricks,
+ BlockKind::CrackedPolishedBlackstoneBricks,
+ BlockKind::ChiseledPolishedBlackstone,
+ BlockKind::PolishedBlackstoneBrickSlab,
+ BlockKind::PolishedBlackstoneBrickStairs,
+ BlockKind::PolishedBlackstoneBrickWall,
+ BlockKind::GildedBlackstone,
+ BlockKind::PolishedBlackstoneStairs,
+ BlockKind::PolishedBlackstoneSlab,
+ BlockKind::PolishedBlackstonePressurePlate,
+ BlockKind::PolishedBlackstoneButton,
+ BlockKind::PolishedBlackstoneWall,
+ BlockKind::ChiseledNetherBricks,
+ BlockKind::CrackedNetherBricks,
+ BlockKind::QuartzBricks,
+ BlockKind::AmethystBlock,
+ BlockKind::BuddingAmethyst,
+ BlockKind::AmethystCluster,
+ BlockKind::LargeAmethystBud,
+ BlockKind::MediumAmethystBud,
+ BlockKind::SmallAmethystBud,
+ BlockKind::Tuff,
+ BlockKind::TuffSlab,
+ BlockKind::TuffStairs,
+ BlockKind::TuffWall,
+ BlockKind::TuffWall,
+ BlockKind::PolishedTuff,
+ BlockKind::PolishedTuffSlab,
+ BlockKind::PolishedTuffStairs,
+ BlockKind::PolishedTuffWall,
+ BlockKind::PolishedTuffWall,
+ BlockKind::ChiseledTuff,
+ BlockKind::TuffBricks,
+ BlockKind::TuffBrickSlab,
+ BlockKind::TuffBrickStairs,
+ BlockKind::TuffBrickWall,
+ BlockKind::TuffBrickWall,
+ BlockKind::ChiseledTuffBricks,
+ BlockKind::Calcite,
+ BlockKind::CopperBlock,
+ BlockKind::ExposedCopper,
+ BlockKind::WeatheredCopper,
+ BlockKind::OxidizedCopper,
+ BlockKind::CopperOre,
+ BlockKind::DeepslateCopperOre,
+ BlockKind::OxidizedCutCopper,
+ BlockKind::WeatheredCutCopper,
+ BlockKind::ExposedCutCopper,
+ BlockKind::CutCopper,
+ BlockKind::OxidizedChiseledCopper,
+ BlockKind::WeatheredChiseledCopper,
+ BlockKind::ExposedChiseledCopper,
+ BlockKind::ChiseledCopper,
+ BlockKind::WaxedOxidizedChiseledCopper,
+ BlockKind::WaxedWeatheredChiseledCopper,
+ BlockKind::WaxedExposedChiseledCopper,
+ BlockKind::WaxedChiseledCopper,
+ BlockKind::OxidizedCutCopperStairs,
+ BlockKind::WeatheredCutCopperStairs,
+ BlockKind::ExposedCutCopperStairs,
+ BlockKind::CutCopperStairs,
+ BlockKind::OxidizedCutCopperSlab,
+ BlockKind::WeatheredCutCopperSlab,
+ BlockKind::ExposedCutCopperSlab,
+ BlockKind::CutCopperSlab,
+ BlockKind::WaxedCopperBlock,
+ BlockKind::WaxedWeatheredCopper,
+ BlockKind::WaxedExposedCopper,
+ BlockKind::WaxedOxidizedCopper,
+ BlockKind::WaxedOxidizedCutCopper,
+ BlockKind::WaxedWeatheredCutCopper,
+ BlockKind::WaxedExposedCutCopper,
+ BlockKind::WaxedCutCopper,
+ BlockKind::WaxedOxidizedCutCopperStairs,
+ BlockKind::WaxedWeatheredCutCopperStairs,
+ BlockKind::WaxedExposedCutCopperStairs,
+ BlockKind::WaxedCutCopperStairs,
+ BlockKind::WaxedOxidizedCutCopperSlab,
+ BlockKind::WaxedWeatheredCutCopperSlab,
+ BlockKind::WaxedExposedCutCopperSlab,
+ BlockKind::WaxedCutCopperSlab,
+ BlockKind::CopperDoor,
+ BlockKind::ExposedCopperDoor,
+ BlockKind::OxidizedCopperDoor,
+ BlockKind::WeatheredCopperDoor,
+ BlockKind::WaxedCopperDoor,
+ BlockKind::WaxedExposedCopperDoor,
+ BlockKind::WaxedOxidizedCopperDoor,
+ BlockKind::WaxedWeatheredCopperDoor,
+ BlockKind::CopperTrapdoor,
+ BlockKind::ExposedCopperTrapdoor,
+ BlockKind::OxidizedCopperTrapdoor,
+ BlockKind::WeatheredCopperTrapdoor,
+ BlockKind::WaxedCopperTrapdoor,
+ BlockKind::WaxedExposedCopperTrapdoor,
+ BlockKind::WaxedOxidizedCopperTrapdoor,
+ BlockKind::WaxedWeatheredCopperTrapdoor,
+ BlockKind::CopperGrate,
+ BlockKind::ExposedCopperGrate,
+ BlockKind::WeatheredCopperGrate,
+ BlockKind::OxidizedCopperGrate,
+ BlockKind::WaxedCopperGrate,
+ BlockKind::WaxedExposedCopperGrate,
+ BlockKind::WaxedWeatheredCopperGrate,
+ BlockKind::WaxedOxidizedCopperGrate,
+ BlockKind::CopperBulb,
+ BlockKind::ExposedCopperBulb,
+ BlockKind::WeatheredCopperBulb,
+ BlockKind::OxidizedCopperBulb,
+ BlockKind::WaxedCopperBulb,
+ BlockKind::WaxedExposedCopperBulb,
+ BlockKind::WaxedWeatheredCopperBulb,
+ BlockKind::WaxedOxidizedCopperBulb,
+ BlockKind::CopperChest,
+ BlockKind::ExposedCopperChest,
+ BlockKind::WeatheredCopperChest,
+ BlockKind::OxidizedCopperChest,
+ BlockKind::WaxedCopperChest,
+ BlockKind::WaxedExposedCopperChest,
+ BlockKind::WaxedWeatheredCopperChest,
+ BlockKind::WaxedOxidizedCopperChest,
+ BlockKind::CopperGolemStatue,
+ BlockKind::ExposedCopperGolemStatue,
+ BlockKind::WeatheredCopperGolemStatue,
+ BlockKind::OxidizedCopperGolemStatue,
+ BlockKind::WaxedCopperGolemStatue,
+ BlockKind::WaxedExposedCopperGolemStatue,
+ BlockKind::WaxedWeatheredCopperGolemStatue,
+ BlockKind::WaxedOxidizedCopperGolemStatue,
+ BlockKind::LightningRod,
+ BlockKind::ExposedLightningRod,
+ BlockKind::WeatheredLightningRod,
+ BlockKind::OxidizedLightningRod,
+ BlockKind::WaxedLightningRod,
+ BlockKind::WaxedExposedLightningRod,
+ BlockKind::WaxedWeatheredLightningRod,
+ BlockKind::WaxedOxidizedLightningRod,
+ BlockKind::PointedDripstone,
+ BlockKind::DripstoneBlock,
+ BlockKind::Deepslate,
+ BlockKind::CobbledDeepslate,
+ BlockKind::CobbledDeepslateStairs,
+ BlockKind::CobbledDeepslateSlab,
+ BlockKind::CobbledDeepslateWall,
+ BlockKind::PolishedDeepslate,
+ BlockKind::PolishedDeepslateStairs,
+ BlockKind::PolishedDeepslateSlab,
+ BlockKind::PolishedDeepslateWall,
+ BlockKind::DeepslateTiles,
+ BlockKind::DeepslateTileStairs,
+ BlockKind::DeepslateTileSlab,
+ BlockKind::DeepslateTileWall,
+ BlockKind::DeepslateBricks,
+ BlockKind::DeepslateBrickStairs,
+ BlockKind::DeepslateBrickSlab,
+ BlockKind::DeepslateBrickWall,
+ BlockKind::ChiseledDeepslate,
+ BlockKind::CrackedDeepslateBricks,
+ BlockKind::CrackedDeepslateTiles,
+ BlockKind::InfestedDeepslate,
+ BlockKind::SmoothBasalt,
+ BlockKind::RawIronBlock,
+ BlockKind::RawCopperBlock,
+ BlockKind::RawGoldBlock,
+ BlockKind::Crafter,
+ BlockKind::HeavyCore,
+ ])
+});
+pub static MINEABLE_SHOVEL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::SuspiciousGravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Farmland,
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ BlockKind::Clay,
+ BlockKind::SoulSand,
+ BlockKind::SoulSoil,
+ BlockKind::Mycelium,
+ BlockKind::DirtPath,
+ BlockKind::WhiteConcretePowder,
+ BlockKind::OrangeConcretePowder,
+ BlockKind::MagentaConcretePowder,
+ BlockKind::LightBlueConcretePowder,
+ BlockKind::YellowConcretePowder,
+ BlockKind::LimeConcretePowder,
+ BlockKind::PinkConcretePowder,
+ BlockKind::GrayConcretePowder,
+ BlockKind::LightGrayConcretePowder,
+ BlockKind::CyanConcretePowder,
+ BlockKind::PurpleConcretePowder,
+ BlockKind::BlueConcretePowder,
+ BlockKind::BrownConcretePowder,
+ BlockKind::GreenConcretePowder,
+ BlockKind::RedConcretePowder,
+ BlockKind::BlackConcretePowder,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ ])
+});
+pub static MOB_INTERACTABLE_DOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakDoor,
+ BlockKind::SpruceDoor,
+ BlockKind::BirchDoor,
+ BlockKind::JungleDoor,
+ BlockKind::AcaciaDoor,
+ BlockKind::CherryDoor,
+ BlockKind::DarkOakDoor,
+ BlockKind::PaleOakDoor,
+ BlockKind::MangroveDoor,
+ BlockKind::BambooDoor,
+ BlockKind::CrimsonDoor,
+ BlockKind::WarpedDoor,
+ BlockKind::CopperDoor,
+ BlockKind::ExposedCopperDoor,
+ BlockKind::OxidizedCopperDoor,
+ BlockKind::WeatheredCopperDoor,
+ BlockKind::WaxedCopperDoor,
+ BlockKind::WaxedExposedCopperDoor,
+ BlockKind::WaxedOxidizedCopperDoor,
+ BlockKind::WaxedWeatheredCopperDoor,
+ ])
+});
+pub static MOOSHROOMS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Mycelium]));
+pub static MOSS_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Mycelium,
+ BlockKind::Tuff,
+ BlockKind::CaveVines,
+ BlockKind::CaveVinesPlant,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static MUSHROOM_GROW_BLOCK: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Podzol,
+ BlockKind::Mycelium,
+ BlockKind::WarpedNylium,
+ BlockKind::CrimsonNylium,
+ ])
+});
+pub static NEEDS_DIAMOND_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Obsidian,
+ BlockKind::NetheriteBlock,
+ BlockKind::AncientDebris,
+ BlockKind::CryingObsidian,
+ BlockKind::RespawnAnchor,
+ ])
+});
+pub static NEEDS_IRON_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GoldOre,
+ BlockKind::DeepslateGoldOre,
+ BlockKind::GoldBlock,
+ BlockKind::DiamondOre,
+ BlockKind::DeepslateDiamondOre,
+ BlockKind::DiamondBlock,
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ BlockKind::EmeraldOre,
+ BlockKind::DeepslateEmeraldOre,
+ BlockKind::EmeraldBlock,
+ BlockKind::RawGoldBlock,
+ ])
+});
+pub static NEEDS_STONE_TOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::IronOre,
+ BlockKind::DeepslateIronOre,
+ BlockKind::LapisOre,
+ BlockKind::DeepslateLapisOre,
+ BlockKind::LapisBlock,
+ BlockKind::IronBlock,
+ BlockKind::CopperBlock,
+ BlockKind::ExposedCopper,
+ BlockKind::WeatheredCopper,
+ BlockKind::OxidizedCopper,
+ BlockKind::CopperOre,
+ BlockKind::DeepslateCopperOre,
+ BlockKind::OxidizedCutCopper,
+ BlockKind::WeatheredCutCopper,
+ BlockKind::ExposedCutCopper,
+ BlockKind::CutCopper,
+ BlockKind::OxidizedChiseledCopper,
+ BlockKind::WeatheredChiseledCopper,
+ BlockKind::ExposedChiseledCopper,
+ BlockKind::ChiseledCopper,
+ BlockKind::WaxedOxidizedChiseledCopper,
+ BlockKind::WaxedWeatheredChiseledCopper,
+ BlockKind::WaxedExposedChiseledCopper,
+ BlockKind::WaxedChiseledCopper,
+ BlockKind::OxidizedCutCopperStairs,
+ BlockKind::WeatheredCutCopperStairs,
+ BlockKind::ExposedCutCopperStairs,
+ BlockKind::CutCopperStairs,
+ BlockKind::OxidizedCutCopperSlab,
+ BlockKind::WeatheredCutCopperSlab,
+ BlockKind::ExposedCutCopperSlab,
+ BlockKind::CutCopperSlab,
+ BlockKind::WaxedCopperBlock,
+ BlockKind::WaxedWeatheredCopper,
+ BlockKind::WaxedExposedCopper,
+ BlockKind::WaxedOxidizedCopper,
+ BlockKind::WaxedOxidizedCutCopper,
+ BlockKind::WaxedWeatheredCutCopper,
+ BlockKind::WaxedExposedCutCopper,
+ BlockKind::WaxedCutCopper,
+ BlockKind::WaxedOxidizedCutCopperStairs,
+ BlockKind::WaxedWeatheredCutCopperStairs,
+ BlockKind::WaxedExposedCutCopperStairs,
+ BlockKind::WaxedCutCopperStairs,
+ BlockKind::WaxedOxidizedCutCopperSlab,
+ BlockKind::WaxedWeatheredCutCopperSlab,
+ BlockKind::WaxedExposedCutCopperSlab,
+ BlockKind::WaxedCutCopperSlab,
+ BlockKind::CopperTrapdoor,
+ BlockKind::ExposedCopperTrapdoor,
+ BlockKind::OxidizedCopperTrapdoor,
+ BlockKind::WeatheredCopperTrapdoor,
+ BlockKind::WaxedCopperTrapdoor,
+ BlockKind::WaxedExposedCopperTrapdoor,
+ BlockKind::WaxedOxidizedCopperTrapdoor,
+ BlockKind::WaxedWeatheredCopperTrapdoor,
+ BlockKind::CopperGrate,
+ BlockKind::ExposedCopperGrate,
+ BlockKind::WeatheredCopperGrate,
+ BlockKind::OxidizedCopperGrate,
+ BlockKind::WaxedCopperGrate,
+ BlockKind::WaxedExposedCopperGrate,
+ BlockKind::WaxedWeatheredCopperGrate,
+ BlockKind::WaxedOxidizedCopperGrate,
+ BlockKind::CopperBulb,
+ BlockKind::ExposedCopperBulb,
+ BlockKind::WeatheredCopperBulb,
+ BlockKind::OxidizedCopperBulb,
+ BlockKind::WaxedCopperBulb,
+ BlockKind::WaxedExposedCopperBulb,
+ BlockKind::WaxedWeatheredCopperBulb,
+ BlockKind::WaxedOxidizedCopperBulb,
+ BlockKind::CopperChest,
+ BlockKind::ExposedCopperChest,
+ BlockKind::WeatheredCopperChest,
+ BlockKind::OxidizedCopperChest,
+ BlockKind::WaxedCopperChest,
+ BlockKind::WaxedExposedCopperChest,
+ BlockKind::WaxedWeatheredCopperChest,
+ BlockKind::WaxedOxidizedCopperChest,
+ BlockKind::LightningRod,
+ BlockKind::ExposedLightningRod,
+ BlockKind::WeatheredLightningRod,
+ BlockKind::OxidizedLightningRod,
+ BlockKind::WaxedLightningRod,
+ BlockKind::WaxedExposedLightningRod,
+ BlockKind::WaxedWeatheredLightningRod,
+ BlockKind::WaxedOxidizedLightningRod,
+ BlockKind::RawIronBlock,
+ BlockKind::RawCopperBlock,
+ BlockKind::Crafter,
+ ])
+});
+pub static NETHER_CARVER_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Netherrack,
+ BlockKind::SoulSand,
+ BlockKind::SoulSoil,
+ BlockKind::Basalt,
+ BlockKind::Mycelium,
+ BlockKind::NetherWartBlock,
+ BlockKind::WarpedNylium,
+ BlockKind::WarpedWartBlock,
+ BlockKind::CrimsonNylium,
+ BlockKind::Blackstone,
+ BlockKind::Tuff,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static NYLIUM: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::WarpedNylium, BlockKind::CrimsonNylium]));
+pub static OAK_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::OakWood,
+ BlockKind::StrippedOakWood,
+ ])
+});
+pub static OCCLUDES_VIBRATION_SIGNALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteWool,
+ BlockKind::OrangeWool,
+ BlockKind::MagentaWool,
+ BlockKind::LightBlueWool,
+ BlockKind::YellowWool,
+ BlockKind::LimeWool,
+ BlockKind::PinkWool,
+ BlockKind::GrayWool,
+ BlockKind::LightGrayWool,
+ BlockKind::CyanWool,
+ BlockKind::PurpleWool,
+ BlockKind::BlueWool,
+ BlockKind::BrownWool,
+ BlockKind::GreenWool,
+ BlockKind::RedWool,
+ BlockKind::BlackWool,
+ ])
+});
+pub static OVERWORLD_CARVER_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Water,
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::SuspiciousGravel,
+ BlockKind::IronOre,
+ BlockKind::DeepslateIronOre,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Sandstone,
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ BlockKind::Mycelium,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ BlockKind::PackedIce,
+ BlockKind::RedSandstone,
+ BlockKind::Tuff,
+ BlockKind::Calcite,
+ BlockKind::PowderSnow,
+ BlockKind::CopperOre,
+ BlockKind::DeepslateCopperOre,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::RawIronBlock,
+ BlockKind::RawCopperBlock,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static OVERWORLD_NATURAL_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ ])
+});
+pub static PALE_OAK_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PaleOakWood,
+ BlockKind::PaleOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedPaleOakWood,
+ ])
+});
+pub static PARROTS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Air,
+ BlockKind::GrassBlock,
+ BlockKind::PaleOakWood,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::StrippedBirchLog,
+ BlockKind::StrippedJungleLog,
+ BlockKind::StrippedAcaciaLog,
+ BlockKind::StrippedCherryLog,
+ BlockKind::StrippedDarkOakLog,
+ BlockKind::StrippedPaleOakLog,
+ BlockKind::StrippedOakLog,
+ BlockKind::StrippedMangroveLog,
+ BlockKind::OakWood,
+ BlockKind::SpruceWood,
+ BlockKind::BirchWood,
+ BlockKind::JungleWood,
+ BlockKind::AcaciaWood,
+ BlockKind::CherryWood,
+ BlockKind::DarkOakWood,
+ BlockKind::MangroveWood,
+ BlockKind::StrippedOakWood,
+ BlockKind::StrippedSpruceWood,
+ BlockKind::StrippedBirchWood,
+ BlockKind::StrippedJungleWood,
+ BlockKind::StrippedAcaciaWood,
+ BlockKind::StrippedCherryWood,
+ BlockKind::StrippedDarkOakWood,
+ BlockKind::StrippedPaleOakWood,
+ BlockKind::StrippedMangroveWood,
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::WarpedStem,
+ BlockKind::StrippedWarpedStem,
+ BlockKind::WarpedHyphae,
+ BlockKind::StrippedWarpedHyphae,
+ BlockKind::CrimsonStem,
+ BlockKind::StrippedCrimsonStem,
+ BlockKind::CrimsonHyphae,
+ BlockKind::StrippedCrimsonHyphae,
+ ])
+});
+pub static PIGLIN_REPELLENTS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::SoulFire,
+ BlockKind::SoulTorch,
+ BlockKind::SoulWallTorch,
+ BlockKind::SoulLantern,
+ BlockKind::SoulCampfire,
+ ])
+});
+pub static PLANKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakPlanks,
+ BlockKind::SprucePlanks,
+ BlockKind::BirchPlanks,
+ BlockKind::JunglePlanks,
+ BlockKind::AcaciaPlanks,
+ BlockKind::CherryPlanks,
+ BlockKind::DarkOakPlanks,
+ BlockKind::PaleOakPlanks,
+ BlockKind::MangrovePlanks,
+ BlockKind::BambooPlanks,
+ BlockKind::CrimsonPlanks,
+ BlockKind::WarpedPlanks,
+ ])
+});
+pub static POLAR_BEARS_SPAWNABLE_ON_ALTERNATE: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Ice]));
+pub static PORTALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::NetherPortal,
+ BlockKind::EndPortal,
+ BlockKind::EndGateway,
+ ])
+});
+pub static PRESSURE_PLATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::StonePressurePlate,
+ BlockKind::OakPressurePlate,
+ BlockKind::SprucePressurePlate,
+ BlockKind::BirchPressurePlate,
+ BlockKind::JunglePressurePlate,
+ BlockKind::AcaciaPressurePlate,
+ BlockKind::CherryPressurePlate,
+ BlockKind::DarkOakPressurePlate,
+ BlockKind::PaleOakPressurePlate,
+ BlockKind::MangrovePressurePlate,
+ BlockKind::BambooPressurePlate,
+ BlockKind::LightWeightedPressurePlate,
+ BlockKind::HeavyWeightedPressurePlate,
+ BlockKind::CrimsonPressurePlate,
+ BlockKind::WarpedPressurePlate,
+ BlockKind::PolishedBlackstonePressurePlate,
+ ])
+});
+pub static PREVENT_MOB_SPAWNING_INSIDE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PoweredRail,
+ BlockKind::DetectorRail,
+ BlockKind::Rail,
+ BlockKind::ActivatorRail,
+ ])
+});
+pub static RABBITS_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Sand,
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ ])
+});
+pub static RAILS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::PoweredRail,
+ BlockKind::DetectorRail,
+ BlockKind::Rail,
+ BlockKind::ActivatorRail,
+ ])
+});
+pub static REDSTONE_ORES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::RedstoneOre,
+ BlockKind::DeepslateRedstoneOre,
+ ])
+});
+pub static REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Air,
+ BlockKind::Water,
+ BlockKind::Lava,
+ BlockKind::ShortGrass,
+ BlockKind::Fern,
+ BlockKind::DeadBush,
+ BlockKind::Bush,
+ BlockKind::ShortDryGrass,
+ BlockKind::TallDryGrass,
+ BlockKind::Seagrass,
+ BlockKind::TallSeagrass,
+ BlockKind::Fire,
+ BlockKind::SoulFire,
+ BlockKind::Snow,
+ BlockKind::Vine,
+ BlockKind::GlowLichen,
+ BlockKind::ResinClump,
+ BlockKind::Light,
+ BlockKind::TallGrass,
+ BlockKind::LargeFern,
+ BlockKind::StructureVoid,
+ BlockKind::VoidAir,
+ BlockKind::CaveAir,
+ BlockKind::BubbleColumn,
+ BlockKind::WarpedRoots,
+ BlockKind::NetherSprouts,
+ BlockKind::CrimsonRoots,
+ BlockKind::LeafLitter,
+ BlockKind::HangingRoots,
+ ])
+});
+pub static REPLACEABLE_BY_MUSHROOMS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Water,
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::ShortGrass,
+ BlockKind::Fern,
+ BlockKind::DeadBush,
+ BlockKind::Bush,
+ BlockKind::ShortDryGrass,
+ BlockKind::TallDryGrass,
+ BlockKind::Seagrass,
+ BlockKind::TallSeagrass,
+ BlockKind::Dandelion,
+ BlockKind::Torchflower,
+ BlockKind::Poppy,
+ BlockKind::BlueOrchid,
+ BlockKind::Allium,
+ BlockKind::AzureBluet,
+ BlockKind::RedTulip,
+ BlockKind::OrangeTulip,
+ BlockKind::WhiteTulip,
+ BlockKind::PinkTulip,
+ BlockKind::OxeyeDaisy,
+ BlockKind::Cornflower,
+ BlockKind::WitherRose,
+ BlockKind::LilyOfTheValley,
+ BlockKind::BrownMushroom,
+ BlockKind::RedMushroom,
+ BlockKind::BrownMushroomBlock,
+ BlockKind::RedMushroomBlock,
+ BlockKind::Vine,
+ BlockKind::GlowLichen,
+ BlockKind::Sunflower,
+ BlockKind::Lilac,
+ BlockKind::RoseBush,
+ BlockKind::Peony,
+ BlockKind::TallGrass,
+ BlockKind::LargeFern,
+ BlockKind::PitcherPlant,
+ BlockKind::WarpedRoots,
+ BlockKind::NetherSprouts,
+ BlockKind::CrimsonRoots,
+ BlockKind::LeafLitter,
+ BlockKind::HangingRoots,
+ BlockKind::PaleMossCarpet,
+ BlockKind::OpenEyeblossom,
+ BlockKind::ClosedEyeblossom,
+ BlockKind::FireflyBush,
+ ])
+});
+pub static REPLACEABLE_BY_TREES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Water,
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::ShortGrass,
+ BlockKind::Fern,
+ BlockKind::DeadBush,
+ BlockKind::Bush,
+ BlockKind::ShortDryGrass,
+ BlockKind::TallDryGrass,
+ BlockKind::Seagrass,
+ BlockKind::TallSeagrass,
+ BlockKind::Dandelion,
+ BlockKind::Torchflower,
+ BlockKind::Poppy,
+ BlockKind::BlueOrchid,
+ BlockKind::Allium,
+ BlockKind::AzureBluet,
+ BlockKind::RedTulip,
+ BlockKind::OrangeTulip,
+ BlockKind::WhiteTulip,
+ BlockKind::PinkTulip,
+ BlockKind::OxeyeDaisy,
+ BlockKind::Cornflower,
+ BlockKind::WitherRose,
+ BlockKind::LilyOfTheValley,
+ BlockKind::Vine,
+ BlockKind::GlowLichen,
+ BlockKind::Sunflower,
+ BlockKind::Lilac,
+ BlockKind::RoseBush,
+ BlockKind::Peony,
+ BlockKind::TallGrass,
+ BlockKind::LargeFern,
+ BlockKind::PitcherPlant,
+ BlockKind::WarpedRoots,
+ BlockKind::NetherSprouts,
+ BlockKind::CrimsonRoots,
+ BlockKind::LeafLitter,
+ BlockKind::HangingRoots,
+ BlockKind::PaleMossCarpet,
+ BlockKind::OpenEyeblossom,
+ BlockKind::ClosedEyeblossom,
+ BlockKind::FireflyBush,
+ ])
+});
+pub static SAND: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Sand,
+ BlockKind::SuspiciousSand,
+ BlockKind::RedSand,
+ ])
+});
+pub static SAPLINGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakSapling,
+ BlockKind::SpruceSapling,
+ BlockKind::BirchSapling,
+ BlockKind::JungleSapling,
+ BlockKind::AcaciaSapling,
+ BlockKind::CherrySapling,
+ BlockKind::DarkOakSapling,
+ BlockKind::PaleOakSapling,
+ BlockKind::MangrovePropagule,
+ BlockKind::Azalea,
+ BlockKind::FloweringAzalea,
+ ])
+});
+pub static SCULK_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Sandstone,
+ BlockKind::Clay,
+ BlockKind::Netherrack,
+ BlockKind::SoulSand,
+ BlockKind::SoulSoil,
+ BlockKind::Basalt,
+ BlockKind::Mycelium,
+ BlockKind::EndStone,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ BlockKind::RedSandstone,
+ BlockKind::WarpedNylium,
+ BlockKind::CrimsonNylium,
+ BlockKind::Blackstone,
+ BlockKind::Tuff,
+ BlockKind::Calcite,
+ BlockKind::DripstoneBlock,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::SmoothBasalt,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static SCULK_REPLACEABLE_WORLD_GEN: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Sand,
+ BlockKind::RedSand,
+ BlockKind::Gravel,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::Sandstone,
+ BlockKind::Clay,
+ BlockKind::Netherrack,
+ BlockKind::SoulSand,
+ BlockKind::SoulSoil,
+ BlockKind::Basalt,
+ BlockKind::Mycelium,
+ BlockKind::EndStone,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ BlockKind::RedSandstone,
+ BlockKind::WarpedNylium,
+ BlockKind::CrimsonNylium,
+ BlockKind::Blackstone,
+ BlockKind::Tuff,
+ BlockKind::Calcite,
+ BlockKind::DripstoneBlock,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::Deepslate,
+ BlockKind::CobbledDeepslate,
+ BlockKind::PolishedDeepslate,
+ BlockKind::DeepslateTiles,
+ BlockKind::DeepslateBricks,
+ BlockKind::CrackedDeepslateBricks,
+ BlockKind::CrackedDeepslateTiles,
+ BlockKind::SmoothBasalt,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static SHULKER_BOXES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::ShulkerBox,
+ BlockKind::WhiteShulkerBox,
+ BlockKind::OrangeShulkerBox,
+ BlockKind::MagentaShulkerBox,
+ BlockKind::LightBlueShulkerBox,
+ BlockKind::YellowShulkerBox,
+ BlockKind::LimeShulkerBox,
+ BlockKind::PinkShulkerBox,
+ BlockKind::GrayShulkerBox,
+ BlockKind::LightGrayShulkerBox,
+ BlockKind::CyanShulkerBox,
+ BlockKind::PurpleShulkerBox,
+ BlockKind::BlueShulkerBox,
+ BlockKind::BrownShulkerBox,
+ BlockKind::GreenShulkerBox,
+ BlockKind::RedShulkerBox,
+ BlockKind::BlackShulkerBox,
+ ])
+});
+pub static SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakSign,
+ BlockKind::SpruceSign,
+ BlockKind::BirchSign,
+ BlockKind::AcaciaSign,
+ BlockKind::CherrySign,
+ BlockKind::JungleSign,
+ BlockKind::DarkOakSign,
+ BlockKind::PaleOakSign,
+ BlockKind::MangroveSign,
+ BlockKind::BambooSign,
+ BlockKind::OakWallSign,
+ BlockKind::SpruceWallSign,
+ BlockKind::BirchWallSign,
+ BlockKind::AcaciaWallSign,
+ BlockKind::CherryWallSign,
+ BlockKind::JungleWallSign,
+ BlockKind::DarkOakWallSign,
+ BlockKind::PaleOakWallSign,
+ BlockKind::MangroveWallSign,
+ BlockKind::BambooWallSign,
+ BlockKind::CrimsonSign,
+ BlockKind::WarpedSign,
+ BlockKind::CrimsonWallSign,
+ BlockKind::WarpedWallSign,
+ ])
+});
+pub static SLABS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::ResinBrickSlab,
+ BlockKind::PrismarineSlab,
+ BlockKind::PrismarineBrickSlab,
+ BlockKind::DarkPrismarineSlab,
+ BlockKind::OakSlab,
+ BlockKind::SpruceSlab,
+ BlockKind::BirchSlab,
+ BlockKind::JungleSlab,
+ BlockKind::AcaciaSlab,
+ BlockKind::CherrySlab,
+ BlockKind::DarkOakSlab,
+ BlockKind::PaleOakSlab,
+ BlockKind::MangroveSlab,
+ BlockKind::BambooSlab,
+ BlockKind::BambooMosaicSlab,
+ BlockKind::StoneSlab,
+ BlockKind::SmoothStoneSlab,
+ BlockKind::SandstoneSlab,
+ BlockKind::CutSandstoneSlab,
+ BlockKind::PetrifiedOakSlab,
+ BlockKind::CobblestoneSlab,
+ BlockKind::BrickSlab,
+ BlockKind::StoneBrickSlab,
+ BlockKind::MudBrickSlab,
+ BlockKind::NetherBrickSlab,
+ BlockKind::QuartzSlab,
+ BlockKind::RedSandstoneSlab,
+ BlockKind::CutRedSandstoneSlab,
+ BlockKind::PurpurSlab,
+ BlockKind::PolishedGraniteSlab,
+ BlockKind::SmoothRedSandstoneSlab,
+ BlockKind::MossyStoneBrickSlab,
+ BlockKind::PolishedDioriteSlab,
+ BlockKind::MossyCobblestoneSlab,
+ BlockKind::EndStoneBrickSlab,
+ BlockKind::SmoothSandstoneSlab,
+ BlockKind::SmoothQuartzSlab,
+ BlockKind::GraniteSlab,
+ BlockKind::AndesiteSlab,
+ BlockKind::RedNetherBrickSlab,
+ BlockKind::PolishedAndesiteSlab,
+ BlockKind::DioriteSlab,
+ BlockKind::CrimsonSlab,
+ BlockKind::WarpedSlab,
+ BlockKind::BlackstoneSlab,
+ BlockKind::PolishedBlackstoneBrickSlab,
+ BlockKind::PolishedBlackstoneSlab,
+ BlockKind::TuffSlab,
+ BlockKind::PolishedTuffSlab,
+ BlockKind::TuffBrickSlab,
+ BlockKind::OxidizedCutCopperSlab,
+ BlockKind::WeatheredCutCopperSlab,
+ BlockKind::ExposedCutCopperSlab,
+ BlockKind::CutCopperSlab,
+ BlockKind::WaxedOxidizedCutCopperSlab,
+ BlockKind::WaxedWeatheredCutCopperSlab,
+ BlockKind::WaxedExposedCutCopperSlab,
+ BlockKind::WaxedCutCopperSlab,
+ BlockKind::CobbledDeepslateSlab,
+ BlockKind::PolishedDeepslateSlab,
+ BlockKind::DeepslateTileSlab,
+ BlockKind::DeepslateBrickSlab,
+ ])
+});
+pub static SMALL_DRIPLEAF_PLACEABLE: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Clay, BlockKind::MossBlock]));
+pub static SMALL_FLOWERS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Dandelion,
+ BlockKind::Torchflower,
+ BlockKind::Poppy,
+ BlockKind::BlueOrchid,
+ BlockKind::Allium,
+ BlockKind::AzureBluet,
+ BlockKind::RedTulip,
+ BlockKind::OrangeTulip,
+ BlockKind::WhiteTulip,
+ BlockKind::PinkTulip,
+ BlockKind::OxeyeDaisy,
+ BlockKind::Cornflower,
+ BlockKind::WitherRose,
+ BlockKind::LilyOfTheValley,
+ BlockKind::OpenEyeblossom,
+ BlockKind::ClosedEyeblossom,
+ ])
+});
+pub static SMELTS_TO_GLASS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Sand, BlockKind::RedSand]));
+pub static SNAPS_GOAT_HORN: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::IronOre,
+ BlockKind::CoalOre,
+ BlockKind::OakLog,
+ BlockKind::SpruceLog,
+ BlockKind::BirchLog,
+ BlockKind::JungleLog,
+ BlockKind::AcaciaLog,
+ BlockKind::CherryLog,
+ BlockKind::DarkOakLog,
+ BlockKind::PaleOakLog,
+ BlockKind::MangroveLog,
+ BlockKind::EmeraldOre,
+ BlockKind::PackedIce,
+ BlockKind::CopperOre,
+ ])
+});
+pub static SNIFFER_DIGGABLE_BLOCK: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::Dirt,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::MuddyMangroveRoots,
+ BlockKind::MossBlock,
+ BlockKind::RootedDirt,
+ BlockKind::Mud,
+ BlockKind::PaleMossBlock,
+ ])
+});
+pub static SNIFFER_EGG_HATCH_BOOST: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::MossBlock]));
+pub static SNOW: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ BlockKind::PowderSnow,
+ ])
+});
+pub static SNOW_LAYER_CAN_SURVIVE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::SoulSand,
+ BlockKind::HoneyBlock,
+ BlockKind::Mud,
+ ])
+});
+pub static SNOW_LAYER_CANNOT_SURVIVE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Ice,
+ BlockKind::Barrier,
+ BlockKind::PackedIce,
+ ])
+});
+pub static SOUL_FIRE_BASE_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
+pub static SOUL_SPEED_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
+pub static SPRUCE_LOGS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::SpruceLog,
+ BlockKind::StrippedSpruceLog,
+ BlockKind::SpruceWood,
+ BlockKind::StrippedSpruceWood,
+ ])
+});
+pub static STAIRS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakStairs,
+ BlockKind::CobblestoneStairs,
+ BlockKind::BrickStairs,
+ BlockKind::StoneBrickStairs,
+ BlockKind::MudBrickStairs,
+ BlockKind::ResinBrickStairs,
+ BlockKind::NetherBrickStairs,
+ BlockKind::SandstoneStairs,
+ BlockKind::SpruceStairs,
+ BlockKind::BirchStairs,
+ BlockKind::JungleStairs,
+ BlockKind::QuartzStairs,
+ BlockKind::AcaciaStairs,
+ BlockKind::CherryStairs,
+ BlockKind::DarkOakStairs,
+ BlockKind::PaleOakStairs,
+ BlockKind::MangroveStairs,
+ BlockKind::BambooStairs,
+ BlockKind::BambooMosaicStairs,
+ BlockKind::PrismarineStairs,
+ BlockKind::PrismarineBrickStairs,
+ BlockKind::DarkPrismarineStairs,
+ BlockKind::RedSandstoneStairs,
+ BlockKind::PurpurStairs,
+ BlockKind::PolishedGraniteStairs,
+ BlockKind::SmoothRedSandstoneStairs,
+ BlockKind::MossyStoneBrickStairs,
+ BlockKind::PolishedDioriteStairs,
+ BlockKind::MossyCobblestoneStairs,
+ BlockKind::EndStoneBrickStairs,
+ BlockKind::StoneStairs,
+ BlockKind::SmoothSandstoneStairs,
+ BlockKind::SmoothQuartzStairs,
+ BlockKind::GraniteStairs,
+ BlockKind::AndesiteStairs,
+ BlockKind::RedNetherBrickStairs,
+ BlockKind::PolishedAndesiteStairs,
+ BlockKind::DioriteStairs,
+ BlockKind::CrimsonStairs,
+ BlockKind::WarpedStairs,
+ BlockKind::BlackstoneStairs,
+ BlockKind::PolishedBlackstoneBrickStairs,
+ BlockKind::PolishedBlackstoneStairs,
+ BlockKind::TuffStairs,
+ BlockKind::PolishedTuffStairs,
+ BlockKind::TuffBrickStairs,
+ BlockKind::OxidizedCutCopperStairs,
+ BlockKind::WeatheredCutCopperStairs,
+ BlockKind::ExposedCutCopperStairs,
+ BlockKind::CutCopperStairs,
+ BlockKind::WaxedOxidizedCutCopperStairs,
+ BlockKind::WaxedWeatheredCutCopperStairs,
+ BlockKind::WaxedExposedCutCopperStairs,
+ BlockKind::WaxedCutCopperStairs,
+ BlockKind::CobbledDeepslateStairs,
+ BlockKind::PolishedDeepslateStairs,
+ BlockKind::DeepslateTileStairs,
+ BlockKind::DeepslateBrickStairs,
+ ])
+});
+pub static STANDING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakSign,
+ BlockKind::SpruceSign,
+ BlockKind::BirchSign,
+ BlockKind::AcaciaSign,
+ BlockKind::CherrySign,
+ BlockKind::JungleSign,
+ BlockKind::DarkOakSign,
+ BlockKind::PaleOakSign,
+ BlockKind::MangroveSign,
+ BlockKind::BambooSign,
+ BlockKind::CrimsonSign,
+ BlockKind::WarpedSign,
+ ])
+});
+pub static STONE_BRICKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::StoneBricks,
+ BlockKind::MossyStoneBricks,
+ BlockKind::CrackedStoneBricks,
+ BlockKind::ChiseledStoneBricks,
+ ])
+});
+pub static STONE_BUTTONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::StoneButton,
+ BlockKind::PolishedBlackstoneButton,
+ ])
+});
+pub static STONE_ORE_REPLACEABLES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Stone,
+ BlockKind::Granite,
+ BlockKind::Diorite,
+ BlockKind::Andesite,
+ ])
+});
+pub static STONE_PRESSURE_PLATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::StonePressurePlate,
+ BlockKind::PolishedBlackstonePressurePlate,
+ ])
+});
+pub static STRIDER_WARM_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Lava]));
+pub static SWORD_EFFICIENT: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakLeaves,
+ BlockKind::SpruceLeaves,
+ BlockKind::BirchLeaves,
+ BlockKind::JungleLeaves,
+ BlockKind::AcaciaLeaves,
+ BlockKind::CherryLeaves,
+ BlockKind::DarkOakLeaves,
+ BlockKind::PaleOakLeaves,
+ BlockKind::MangroveLeaves,
+ BlockKind::AzaleaLeaves,
+ BlockKind::FloweringAzaleaLeaves,
+ BlockKind::CarvedPumpkin,
+ BlockKind::JackOLantern,
+ BlockKind::Pumpkin,
+ BlockKind::Melon,
+ BlockKind::Vine,
+ BlockKind::GlowLichen,
+ BlockKind::Cocoa,
+ BlockKind::ChorusPlant,
+ BlockKind::ChorusFlower,
+ BlockKind::BigDripleaf,
+ BlockKind::BigDripleafStem,
+ ])
+});
+pub static SWORD_INSTANTLY_MINES: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::BambooSapling, BlockKind::Bamboo]));
+pub static TERRACOTTA: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ ])
+});
+pub static TRAIL_RUINS_REPLACEABLE: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Gravel]));
+pub static TRAPDOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakTrapdoor,
+ BlockKind::SpruceTrapdoor,
+ BlockKind::BirchTrapdoor,
+ BlockKind::JungleTrapdoor,
+ BlockKind::AcaciaTrapdoor,
+ BlockKind::CherryTrapdoor,
+ BlockKind::DarkOakTrapdoor,
+ BlockKind::PaleOakTrapdoor,
+ BlockKind::MangroveTrapdoor,
+ BlockKind::BambooTrapdoor,
+ BlockKind::IronTrapdoor,
+ BlockKind::CrimsonTrapdoor,
+ BlockKind::WarpedTrapdoor,
+ BlockKind::CopperTrapdoor,
+ BlockKind::ExposedCopperTrapdoor,
+ BlockKind::OxidizedCopperTrapdoor,
+ BlockKind::WeatheredCopperTrapdoor,
+ BlockKind::WaxedCopperTrapdoor,
+ BlockKind::WaxedExposedCopperTrapdoor,
+ BlockKind::WaxedOxidizedCopperTrapdoor,
+ BlockKind::WaxedWeatheredCopperTrapdoor,
+ ])
+});
+pub static TRIGGERS_AMBIENT_DESERT_DRY_VEGETATION_BLOCK_SOUNDS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Sand,
+ BlockKind::RedSand,
+ BlockKind::WhiteTerracotta,
+ BlockKind::OrangeTerracotta,
+ BlockKind::MagentaTerracotta,
+ BlockKind::LightBlueTerracotta,
+ BlockKind::YellowTerracotta,
+ BlockKind::LimeTerracotta,
+ BlockKind::PinkTerracotta,
+ BlockKind::GrayTerracotta,
+ BlockKind::LightGrayTerracotta,
+ BlockKind::CyanTerracotta,
+ BlockKind::PurpleTerracotta,
+ BlockKind::BlueTerracotta,
+ BlockKind::BrownTerracotta,
+ BlockKind::GreenTerracotta,
+ BlockKind::RedTerracotta,
+ BlockKind::BlackTerracotta,
+ BlockKind::Terracotta,
+ ])
+ });
+pub static TRIGGERS_AMBIENT_DESERT_SAND_BLOCK_SOUNDS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::Sand, BlockKind::RedSand]));
+pub static TRIGGERS_AMBIENT_DRIED_GHAST_BLOCK_SOUNDS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
+pub static UNDERWATER_BONEMEALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Seagrass,
+ BlockKind::TubeCoral,
+ BlockKind::BrainCoral,
+ BlockKind::BubbleCoral,
+ BlockKind::FireCoral,
+ BlockKind::HornCoral,
+ BlockKind::TubeCoralFan,
+ BlockKind::BrainCoralFan,
+ BlockKind::BubbleCoralFan,
+ BlockKind::FireCoralFan,
+ BlockKind::HornCoralFan,
+ BlockKind::TubeCoralWallFan,
+ BlockKind::BrainCoralWallFan,
+ BlockKind::BubbleCoralWallFan,
+ BlockKind::FireCoralWallFan,
+ BlockKind::HornCoralWallFan,
+ ])
+});
+pub static UNSTABLE_BOTTOM_CENTER: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakFenceGate,
+ BlockKind::SpruceFenceGate,
+ BlockKind::BirchFenceGate,
+ BlockKind::JungleFenceGate,
+ BlockKind::AcaciaFenceGate,
+ BlockKind::CherryFenceGate,
+ BlockKind::DarkOakFenceGate,
+ BlockKind::PaleOakFenceGate,
+ BlockKind::MangroveFenceGate,
+ BlockKind::BambooFenceGate,
+ BlockKind::CrimsonFenceGate,
+ BlockKind::WarpedFenceGate,
+ ])
+});
+pub static VALID_SPAWN: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::GrassBlock, BlockKind::Podzol]));
+pub static VIBRATION_RESONATORS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::AmethystBlock]));
+pub static WALL_CORALS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::TubeCoralWallFan,
+ BlockKind::BrainCoralWallFan,
+ BlockKind::BubbleCoralWallFan,
+ BlockKind::FireCoralWallFan,
+ BlockKind::HornCoralWallFan,
+ ])
+});
+pub static WALL_HANGING_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakWallHangingSign,
+ BlockKind::SpruceWallHangingSign,
+ BlockKind::BirchWallHangingSign,
+ BlockKind::AcaciaWallHangingSign,
+ BlockKind::CherryWallHangingSign,
+ BlockKind::JungleWallHangingSign,
+ BlockKind::DarkOakWallHangingSign,
+ BlockKind::PaleOakWallHangingSign,
+ BlockKind::MangroveWallHangingSign,
+ BlockKind::CrimsonWallHangingSign,
+ BlockKind::WarpedWallHangingSign,
+ BlockKind::BambooWallHangingSign,
+ ])
+});
+pub static WALL_POST_OVERRIDE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Torch,
+ BlockKind::OakSign,
+ BlockKind::SpruceSign,
+ BlockKind::BirchSign,
+ BlockKind::AcaciaSign,
+ BlockKind::CherrySign,
+ BlockKind::JungleSign,
+ BlockKind::DarkOakSign,
+ BlockKind::PaleOakSign,
+ BlockKind::MangroveSign,
+ BlockKind::BambooSign,
+ BlockKind::OakWallSign,
+ BlockKind::SpruceWallSign,
+ BlockKind::BirchWallSign,
+ BlockKind::AcaciaWallSign,
+ BlockKind::CherryWallSign,
+ BlockKind::JungleWallSign,
+ BlockKind::DarkOakWallSign,
+ BlockKind::PaleOakWallSign,
+ BlockKind::MangroveWallSign,
+ BlockKind::BambooWallSign,
+ BlockKind::StonePressurePlate,
+ BlockKind::OakPressurePlate,
+ BlockKind::SprucePressurePlate,
+ BlockKind::BirchPressurePlate,
+ BlockKind::JunglePressurePlate,
+ BlockKind::AcaciaPressurePlate,
+ BlockKind::CherryPressurePlate,
+ BlockKind::DarkOakPressurePlate,
+ BlockKind::PaleOakPressurePlate,
+ BlockKind::MangrovePressurePlate,
+ BlockKind::BambooPressurePlate,
+ BlockKind::RedstoneTorch,
+ BlockKind::CactusFlower,
+ BlockKind::SoulTorch,
+ BlockKind::CopperTorch,
+ BlockKind::Tripwire,
+ BlockKind::LightWeightedPressurePlate,
+ BlockKind::HeavyWeightedPressurePlate,
+ BlockKind::WhiteBanner,
+ BlockKind::OrangeBanner,
+ BlockKind::MagentaBanner,
+ BlockKind::LightBlueBanner,
+ BlockKind::YellowBanner,
+ BlockKind::LimeBanner,
+ BlockKind::PinkBanner,
+ BlockKind::GrayBanner,
+ BlockKind::LightGrayBanner,
+ BlockKind::CyanBanner,
+ BlockKind::PurpleBanner,
+ BlockKind::BlueBanner,
+ BlockKind::BrownBanner,
+ BlockKind::GreenBanner,
+ BlockKind::RedBanner,
+ BlockKind::BlackBanner,
+ BlockKind::WhiteWallBanner,
+ BlockKind::OrangeWallBanner,
+ BlockKind::MagentaWallBanner,
+ BlockKind::LightBlueWallBanner,
+ BlockKind::YellowWallBanner,
+ BlockKind::LimeWallBanner,
+ BlockKind::PinkWallBanner,
+ BlockKind::GrayWallBanner,
+ BlockKind::LightGrayWallBanner,
+ BlockKind::CyanWallBanner,
+ BlockKind::PurpleWallBanner,
+ BlockKind::BlueWallBanner,
+ BlockKind::BrownWallBanner,
+ BlockKind::GreenWallBanner,
+ BlockKind::RedWallBanner,
+ BlockKind::BlackWallBanner,
+ BlockKind::CrimsonPressurePlate,
+ BlockKind::WarpedPressurePlate,
+ BlockKind::CrimsonSign,
+ BlockKind::WarpedSign,
+ BlockKind::CrimsonWallSign,
+ BlockKind::WarpedWallSign,
+ BlockKind::PolishedBlackstonePressurePlate,
+ ])
+});
+pub static WALL_SIGNS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakWallSign,
+ BlockKind::SpruceWallSign,
+ BlockKind::BirchWallSign,
+ BlockKind::AcaciaWallSign,
+ BlockKind::CherryWallSign,
+ BlockKind::JungleWallSign,
+ BlockKind::DarkOakWallSign,
+ BlockKind::PaleOakWallSign,
+ BlockKind::MangroveWallSign,
+ BlockKind::BambooWallSign,
+ BlockKind::CrimsonWallSign,
+ BlockKind::WarpedWallSign,
+ ])
+});
+pub static WALLS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::ResinBrickWall,
+ BlockKind::CobblestoneWall,
+ BlockKind::MossyCobblestoneWall,
+ BlockKind::BrickWall,
+ BlockKind::PrismarineWall,
+ BlockKind::RedSandstoneWall,
+ BlockKind::MossyStoneBrickWall,
+ BlockKind::GraniteWall,
+ BlockKind::StoneBrickWall,
+ BlockKind::MudBrickWall,
+ BlockKind::NetherBrickWall,
+ BlockKind::AndesiteWall,
+ BlockKind::RedNetherBrickWall,
+ BlockKind::SandstoneWall,
+ BlockKind::EndStoneBrickWall,
+ BlockKind::DioriteWall,
+ BlockKind::BlackstoneWall,
+ BlockKind::PolishedBlackstoneBrickWall,
+ BlockKind::PolishedBlackstoneWall,
+ BlockKind::TuffWall,
+ BlockKind::PolishedTuffWall,
+ BlockKind::TuffBrickWall,
+ BlockKind::CobbledDeepslateWall,
+ BlockKind::PolishedDeepslateWall,
+ BlockKind::DeepslateTileWall,
+ BlockKind::DeepslateBrickWall,
+ ])
+});
+pub static WARPED_STEMS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WarpedStem,
+ BlockKind::StrippedWarpedStem,
+ BlockKind::WarpedHyphae,
+ BlockKind::StrippedWarpedHyphae,
+ ])
+});
+pub static WART_BLOCKS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![BlockKind::NetherWartBlock, BlockKind::WarpedWartBlock])
+});
+pub static WITHER_IMMUNE: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::Bedrock,
+ BlockKind::MovingPiston,
+ BlockKind::EndPortal,
+ BlockKind::EndPortalFrame,
+ BlockKind::CommandBlock,
+ BlockKind::Barrier,
+ BlockKind::Light,
+ BlockKind::EndGateway,
+ BlockKind::RepeatingCommandBlock,
+ BlockKind::ChainCommandBlock,
+ BlockKind::StructureBlock,
+ BlockKind::Jigsaw,
+ BlockKind::TestBlock,
+ BlockKind::TestInstanceBlock,
+ BlockKind::ReinforcedDeepslate,
+ ])
+});
+pub static WITHER_SUMMON_BASE_BLOCKS: LazyLock<RegistryTag<BlockKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![BlockKind::SoulSand, BlockKind::SoulSoil]));
+pub static WOLVES_SPAWNABLE_ON: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::GrassBlock,
+ BlockKind::CoarseDirt,
+ BlockKind::Podzol,
+ BlockKind::Snow,
+ BlockKind::SnowBlock,
+ ])
+});
+pub static WOODEN_BUTTONS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakButton,
+ BlockKind::SpruceButton,
+ BlockKind::BirchButton,
+ BlockKind::JungleButton,
+ BlockKind::AcaciaButton,
+ BlockKind::CherryButton,
+ BlockKind::DarkOakButton,
+ BlockKind::PaleOakButton,
+ BlockKind::MangroveButton,
+ BlockKind::BambooButton,
+ BlockKind::CrimsonButton,
+ BlockKind::WarpedButton,
+ ])
+});
+pub static WOODEN_DOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakDoor,
+ BlockKind::SpruceDoor,
+ BlockKind::BirchDoor,
+ BlockKind::JungleDoor,
+ BlockKind::AcaciaDoor,
+ BlockKind::CherryDoor,
+ BlockKind::DarkOakDoor,
+ BlockKind::PaleOakDoor,
+ BlockKind::MangroveDoor,
+ BlockKind::BambooDoor,
+ BlockKind::CrimsonDoor,
+ BlockKind::WarpedDoor,
+ ])
+});
+pub static WOODEN_FENCES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakFence,
+ BlockKind::SpruceFence,
+ BlockKind::BirchFence,
+ BlockKind::JungleFence,
+ BlockKind::AcaciaFence,
+ BlockKind::CherryFence,
+ BlockKind::DarkOakFence,
+ BlockKind::PaleOakFence,
+ BlockKind::MangroveFence,
+ BlockKind::BambooFence,
+ BlockKind::CrimsonFence,
+ BlockKind::WarpedFence,
+ ])
+});
+pub static WOODEN_PRESSURE_PLATES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakPressurePlate,
+ BlockKind::SprucePressurePlate,
+ BlockKind::BirchPressurePlate,
+ BlockKind::JunglePressurePlate,
+ BlockKind::AcaciaPressurePlate,
+ BlockKind::CherryPressurePlate,
+ BlockKind::DarkOakPressurePlate,
+ BlockKind::PaleOakPressurePlate,
+ BlockKind::MangrovePressurePlate,
+ BlockKind::BambooPressurePlate,
+ BlockKind::CrimsonPressurePlate,
+ BlockKind::WarpedPressurePlate,
+ ])
+});
+pub static WOODEN_SHELVES: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::AcaciaShelf,
+ BlockKind::BambooShelf,
+ BlockKind::BirchShelf,
+ BlockKind::CherryShelf,
+ BlockKind::CrimsonShelf,
+ BlockKind::DarkOakShelf,
+ BlockKind::JungleShelf,
+ BlockKind::MangroveShelf,
+ BlockKind::OakShelf,
+ BlockKind::PaleOakShelf,
+ BlockKind::SpruceShelf,
+ BlockKind::WarpedShelf,
+ ])
+});
+pub static WOODEN_SLABS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakSlab,
+ BlockKind::SpruceSlab,
+ BlockKind::BirchSlab,
+ BlockKind::JungleSlab,
+ BlockKind::AcaciaSlab,
+ BlockKind::CherrySlab,
+ BlockKind::DarkOakSlab,
+ BlockKind::PaleOakSlab,
+ BlockKind::MangroveSlab,
+ BlockKind::BambooSlab,
+ BlockKind::CrimsonSlab,
+ BlockKind::WarpedSlab,
+ ])
+});
+pub static WOODEN_STAIRS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakStairs,
+ BlockKind::SpruceStairs,
+ BlockKind::BirchStairs,
+ BlockKind::JungleStairs,
+ BlockKind::AcaciaStairs,
+ BlockKind::CherryStairs,
+ BlockKind::DarkOakStairs,
+ BlockKind::PaleOakStairs,
+ BlockKind::MangroveStairs,
+ BlockKind::BambooStairs,
+ BlockKind::CrimsonStairs,
+ BlockKind::WarpedStairs,
+ ])
+});
+pub static WOODEN_TRAPDOORS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::OakTrapdoor,
+ BlockKind::SpruceTrapdoor,
+ BlockKind::BirchTrapdoor,
+ BlockKind::JungleTrapdoor,
+ BlockKind::AcaciaTrapdoor,
+ BlockKind::CherryTrapdoor,
+ BlockKind::DarkOakTrapdoor,
+ BlockKind::PaleOakTrapdoor,
+ BlockKind::MangroveTrapdoor,
+ BlockKind::BambooTrapdoor,
+ BlockKind::CrimsonTrapdoor,
+ BlockKind::WarpedTrapdoor,
+ ])
+});
+pub static WOOL: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteWool,
+ BlockKind::OrangeWool,
+ BlockKind::MagentaWool,
+ BlockKind::LightBlueWool,
+ BlockKind::YellowWool,
+ BlockKind::LimeWool,
+ BlockKind::PinkWool,
+ BlockKind::GrayWool,
+ BlockKind::LightGrayWool,
+ BlockKind::CyanWool,
+ BlockKind::PurpleWool,
+ BlockKind::BlueWool,
+ BlockKind::BrownWool,
+ BlockKind::GreenWool,
+ BlockKind::RedWool,
+ BlockKind::BlackWool,
+ ])
+});
+pub static WOOL_CARPETS: LazyLock<RegistryTag<BlockKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ BlockKind::WhiteCarpet,
+ BlockKind::OrangeCarpet,
+ BlockKind::MagentaCarpet,
+ BlockKind::LightBlueCarpet,
+ BlockKind::YellowCarpet,
+ BlockKind::LimeCarpet,
+ BlockKind::PinkCarpet,
+ BlockKind::GrayCarpet,
+ BlockKind::LightGrayCarpet,
+ BlockKind::CyanCarpet,
+ BlockKind::PurpleCarpet,
+ BlockKind::BlueCarpet,
+ BlockKind::BrownCarpet,
+ BlockKind::GreenCarpet,
+ BlockKind::RedCarpet,
+ BlockKind::BlackCarpet,
])
});
diff --git a/azalea-registry/src/tags/entities.rs b/azalea-registry/src/tags/entities.rs
index 14fea7af..3680d35a 100644
--- a/azalea-registry/src/tags/entities.rs
+++ b/azalea-registry/src/tags/entities.rs
@@ -1,180 +1,180 @@
// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
-use std::{collections::HashSet, sync::LazyLock};
+use std::sync::LazyLock;
-use crate::EntityKind;
+use crate::{builtin::EntityKind, tags::RegistryTag};
-pub static ACCEPTS_IRON_GOLEM_GIFT: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::CopperGolem]));
-pub static AQUATIC: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Turtle,
+pub static ACCEPTS_IRON_GOLEM_GIFT: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::CopperGolem]));
+pub static AQUATIC: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Axolotl,
- EntityKind::Guardian,
- EntityKind::ElderGuardian,
EntityKind::Cod,
+ EntityKind::Dolphin,
+ EntityKind::ElderGuardian,
+ EntityKind::GlowSquid,
+ EntityKind::Guardian,
+ EntityKind::Nautilus,
EntityKind::Pufferfish,
EntityKind::Salmon,
- EntityKind::TropicalFish,
- EntityKind::Dolphin,
EntityKind::Squid,
- EntityKind::GlowSquid,
EntityKind::Tadpole,
- EntityKind::Nautilus,
+ EntityKind::TropicalFish,
+ EntityKind::Turtle,
EntityKind::ZombieNautilus,
])
});
-pub static ARROWS: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Arrow, EntityKind::SpectralArrow]));
-pub static ARTHROPOD: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static ARROWS: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Arrow, EntityKind::SpectralArrow]));
+pub static ARTHROPOD: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Bee,
+ EntityKind::CaveSpider,
EntityKind::Endermite,
EntityKind::Silverfish,
EntityKind::Spider,
- EntityKind::CaveSpider,
])
});
-pub static AXOLOTL_ALWAYS_HOSTILES: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static AXOLOTL_ALWAYS_HOSTILES: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Drowned,
- EntityKind::Guardian,
EntityKind::ElderGuardian,
+ EntityKind::Guardian,
])
});
-pub static AXOLOTL_HUNT_TARGETS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::TropicalFish,
+pub static AXOLOTL_HUNT_TARGETS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Cod,
+ EntityKind::GlowSquid,
EntityKind::Pufferfish,
EntityKind::Salmon,
- EntityKind::Cod,
EntityKind::Squid,
- EntityKind::GlowSquid,
EntityKind::Tadpole,
+ EntityKind::TropicalFish,
])
});
-pub static BEEHIVE_INHABITORS: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Bee]));
-pub static BOAT: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::OakBoat,
- EntityKind::SpruceBoat,
- EntityKind::BirchBoat,
- EntityKind::JungleBoat,
+pub static BEEHIVE_INHABITORS: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Bee]));
+pub static BOAT: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::AcaciaBoat,
+ EntityKind::BambooRaft,
+ EntityKind::BirchBoat,
EntityKind::CherryBoat,
EntityKind::DarkOakBoat,
- EntityKind::PaleOakBoat,
+ EntityKind::JungleBoat,
EntityKind::MangroveBoat,
- EntityKind::BambooRaft,
+ EntityKind::OakBoat,
+ EntityKind::PaleOakBoat,
+ EntityKind::SpruceBoat,
])
});
-pub static BURN_IN_DAYLIGHT: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static BURN_IN_DAYLIGHT: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::Drowned,
+ EntityKind::Phantom,
EntityKind::Skeleton,
EntityKind::Stray,
EntityKind::WitherSkeleton,
- EntityKind::Bogged,
EntityKind::Zombie,
EntityKind::ZombieHorse,
- EntityKind::ZombieVillager,
- EntityKind::Drowned,
EntityKind::ZombieNautilus,
- EntityKind::Phantom,
+ EntityKind::ZombieVillager,
])
});
-pub static CAN_BREATHE_UNDER_WATER: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static CAN_BREATHE_UNDER_WATER: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::ArmorStand,
EntityKind::Axolotl,
- EntityKind::Frog,
- EntityKind::Guardian,
+ EntityKind::Bogged,
+ EntityKind::CamelHusk,
+ EntityKind::Cod,
+ EntityKind::CopperGolem,
+ EntityKind::Drowned,
EntityKind::ElderGuardian,
- EntityKind::Turtle,
+ EntityKind::Frog,
EntityKind::GlowSquid,
- EntityKind::Cod,
+ EntityKind::Guardian,
+ EntityKind::Husk,
+ EntityKind::Nautilus,
+ EntityKind::Parched,
+ EntityKind::Phantom,
EntityKind::Pufferfish,
EntityKind::Salmon,
+ EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Squid,
- EntityKind::TropicalFish,
+ EntityKind::Stray,
EntityKind::Tadpole,
- EntityKind::ArmorStand,
- EntityKind::CopperGolem,
- EntityKind::Nautilus,
+ EntityKind::TropicalFish,
+ EntityKind::Turtle,
EntityKind::Wither,
- EntityKind::Phantom,
- EntityKind::Skeleton,
- EntityKind::Stray,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
- EntityKind::ZombieHorse,
- EntityKind::CamelHusk,
+ EntityKind::Zoglin,
EntityKind::Zombie,
+ EntityKind::ZombieHorse,
+ EntityKind::ZombieNautilus,
EntityKind::ZombieVillager,
EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
- EntityKind::Drowned,
- EntityKind::Husk,
- EntityKind::ZombieNautilus,
])
});
-pub static CAN_EQUIP_HARNESS: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::HappyGhast]));
-pub static CAN_EQUIP_SADDLE: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Horse,
- EntityKind::SkeletonHorse,
- EntityKind::ZombieHorse,
+pub static CAN_EQUIP_HARNESS: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::HappyGhast]));
+pub static CAN_EQUIP_SADDLE: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Camel,
+ EntityKind::CamelHusk,
EntityKind::Donkey,
+ EntityKind::Horse,
EntityKind::Mule,
+ EntityKind::Nautilus,
EntityKind::Pig,
+ EntityKind::SkeletonHorse,
EntityKind::Strider,
- EntityKind::Camel,
- EntityKind::CamelHusk,
- EntityKind::Nautilus,
+ EntityKind::ZombieHorse,
EntityKind::ZombieNautilus,
])
});
-pub static CAN_FLOAT_WHILE_RIDDEN: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Horse,
- EntityKind::ZombieHorse,
- EntityKind::Mule,
- EntityKind::Donkey,
+pub static CAN_FLOAT_WHILE_RIDDEN: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Camel,
EntityKind::CamelHusk,
+ EntityKind::Donkey,
+ EntityKind::Horse,
+ EntityKind::Mule,
+ EntityKind::ZombieHorse,
])
});
-pub static CAN_TURN_IN_BOATS: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Breeze]));
-pub static CAN_WEAR_HORSE_ARMOR: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Horse, EntityKind::ZombieHorse]));
-pub static CAN_WEAR_NAUTILUS_ARMOR: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Nautilus, EntityKind::ZombieNautilus]));
-pub static CANDIDATE_FOR_IRON_GOLEM_GIFT: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Villager, EntityKind::CopperGolem]));
-pub static CANNOT_BE_PUSHED_ONTO_BOATS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Player,
- EntityKind::ElderGuardian,
+pub static CAN_TURN_IN_BOATS: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Breeze]));
+pub static CAN_WEAR_HORSE_ARMOR: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Horse, EntityKind::ZombieHorse]));
+pub static CAN_WEAR_NAUTILUS_ARMOR: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Nautilus, EntityKind::ZombieNautilus]));
+pub static CANDIDATE_FOR_IRON_GOLEM_GIFT: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::CopperGolem, EntityKind::Villager]));
+pub static CANNOT_BE_PUSHED_ONTO_BOATS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Cod,
+ EntityKind::Creaking,
+ EntityKind::Dolphin,
+ EntityKind::ElderGuardian,
+ EntityKind::GlowSquid,
+ EntityKind::Nautilus,
EntityKind::Pufferfish,
EntityKind::Salmon,
- EntityKind::TropicalFish,
- EntityKind::Dolphin,
EntityKind::Squid,
- EntityKind::GlowSquid,
EntityKind::Tadpole,
- EntityKind::Creaking,
- EntityKind::Nautilus,
+ EntityKind::TropicalFish,
EntityKind::ZombieNautilus,
+ EntityKind::Player,
])
});
-pub static DEFLECTS_PROJECTILES: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Breeze]));
-pub static DISMOUNTS_UNDERWATER: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static DEFLECTS_PROJECTILES: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Breeze]));
+pub static DISMOUNTS_UNDERWATER: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Camel,
EntityKind::Chicken,
EntityKind::Donkey,
@@ -190,30 +190,30 @@ pub static DISMOUNTS_UNDERWATER: LazyLock<HashSet<EntityKind>> = LazyLock::new(|
EntityKind::ZombieHorse,
])
});
-pub static FALL_DAMAGE_IMMUNE: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::CopperGolem,
- EntityKind::IronGolem,
- EntityKind::SnowGolem,
- EntityKind::Shulker,
+pub static FALL_DAMAGE_IMMUNE: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Allay,
EntityKind::Bat,
EntityKind::Bee,
EntityKind::Blaze,
+ EntityKind::Breeze,
EntityKind::Cat,
EntityKind::Chicken,
+ EntityKind::CopperGolem,
EntityKind::Ghast,
EntityKind::HappyGhast,
- EntityKind::Phantom,
+ EntityKind::IronGolem,
EntityKind::MagmaCube,
EntityKind::Ocelot,
EntityKind::Parrot,
+ EntityKind::Phantom,
+ EntityKind::Shulker,
+ EntityKind::SnowGolem,
EntityKind::Wither,
- EntityKind::Breeze,
])
});
-pub static FOLLOWABLE_FRIENDLY_MOBS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static FOLLOWABLE_FRIENDLY_MOBS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Armadillo,
EntityKind::Bee,
EntityKind::Camel,
@@ -222,10 +222,9 @@ pub static FOLLOWABLE_FRIENDLY_MOBS: LazyLock<HashSet<EntityKind>> = LazyLock::n
EntityKind::Cow,
EntityKind::Donkey,
EntityKind::Fox,
- EntityKind::Goat,
EntityKind::HappyGhast,
+ EntityKind::Goat,
EntityKind::Horse,
- EntityKind::SkeletonHorse,
EntityKind::Llama,
EntityKind::Mule,
EntityKind::Ocelot,
@@ -235,276 +234,278 @@ pub static FOLLOWABLE_FRIENDLY_MOBS: LazyLock<HashSet<EntityKind>> = LazyLock::n
EntityKind::PolarBear,
EntityKind::Rabbit,
EntityKind::Sheep,
+ EntityKind::SkeletonHorse,
EntityKind::Sniffer,
EntityKind::Strider,
EntityKind::Villager,
EntityKind::Wolf,
])
});
-pub static FREEZE_HURTS_EXTRA_TYPES: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Strider,
+pub static FREEZE_HURTS_EXTRA_TYPES: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Blaze,
EntityKind::MagmaCube,
+ EntityKind::Strider,
])
});
-pub static FREEZE_IMMUNE_ENTITY_TYPES: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Stray,
+pub static FREEZE_IMMUNE_ENTITY_TYPES: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::PolarBear,
EntityKind::SnowGolem,
+ EntityKind::Stray,
EntityKind::Wither,
])
});
-pub static FROG_FOOD: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Slime, EntityKind::MagmaCube]));
-pub static IGNORES_POISON_AND_REGEN: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Wither,
+pub static FROG_FOOD: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::MagmaCube, EntityKind::Slime]));
+pub static IGNORES_POISON_AND_REGEN: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::CamelHusk,
+ EntityKind::Drowned,
+ EntityKind::Husk,
+ EntityKind::Parched,
EntityKind::Phantom,
EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Stray,
+ EntityKind::Wither,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
- EntityKind::ZombieHorse,
- EntityKind::CamelHusk,
+ EntityKind::Zoglin,
EntityKind::Zombie,
+ EntityKind::ZombieHorse,
+ EntityKind::ZombieNautilus,
EntityKind::ZombieVillager,
EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
- EntityKind::Drowned,
- EntityKind::Husk,
- EntityKind::ZombieNautilus,
])
});
-pub static ILLAGER: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static ILLAGER: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Evoker,
EntityKind::Illusioner,
EntityKind::Pillager,
EntityKind::Vindicator,
])
});
-pub static ILLAGER_FRIENDS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static ILLAGER_FRIENDS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Evoker,
EntityKind::Illusioner,
EntityKind::Pillager,
EntityKind::Vindicator,
])
});
-pub static IMMUNE_TO_INFESTED: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Silverfish]));
-pub static IMMUNE_TO_OOZING: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Slime]));
-pub static IMPACT_PROJECTILES: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::FireworkRocket,
- EntityKind::Snowball,
+pub static IMMUNE_TO_INFESTED: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Silverfish]));
+pub static IMMUNE_TO_OOZING: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Slime]));
+pub static IMPACT_PROJECTILES: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Arrow,
+ EntityKind::BreezeWindCharge,
+ EntityKind::DragonFireball,
+ EntityKind::Egg,
EntityKind::Fireball,
+ EntityKind::FireworkRocket,
EntityKind::SmallFireball,
- EntityKind::Egg,
+ EntityKind::Snowball,
+ EntityKind::SpectralArrow,
EntityKind::Trident,
- EntityKind::DragonFireball,
- EntityKind::WitherSkull,
EntityKind::WindCharge,
- EntityKind::BreezeWindCharge,
- EntityKind::Arrow,
- EntityKind::SpectralArrow,
+ EntityKind::WitherSkull,
])
});
-pub static INVERTED_HEALING_AND_HARM: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Wither,
+pub static INVERTED_HEALING_AND_HARM: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::CamelHusk,
+ EntityKind::Drowned,
+ EntityKind::Husk,
+ EntityKind::Parched,
EntityKind::Phantom,
EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Stray,
+ EntityKind::Wither,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
- EntityKind::ZombieHorse,
- EntityKind::CamelHusk,
+ EntityKind::Zoglin,
EntityKind::Zombie,
+ EntityKind::ZombieHorse,
+ EntityKind::ZombieNautilus,
EntityKind::ZombieVillager,
EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
- EntityKind::Drowned,
- EntityKind::Husk,
- EntityKind::ZombieNautilus,
])
});
-pub static NAUTILUS_HOSTILES: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Pufferfish]));
-pub static NO_ANGER_FROM_WIND_CHARGE: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static NAUTILUS_HOSTILES: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::Pufferfish]));
+pub static NO_ANGER_FROM_WIND_CHARGE: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
EntityKind::Breeze,
+ EntityKind::CaveSpider,
+ EntityKind::Husk,
EntityKind::Skeleton,
- EntityKind::Bogged,
+ EntityKind::Slime,
+ EntityKind::Spider,
EntityKind::Stray,
EntityKind::Zombie,
- EntityKind::Husk,
- EntityKind::Spider,
- EntityKind::CaveSpider,
- EntityKind::Slime,
])
});
-pub static NON_CONTROLLING_RIDER: LazyLock<HashSet<EntityKind>> =
- LazyLock::new(|| HashSet::from_iter([EntityKind::Slime, EntityKind::MagmaCube]));
-pub static NOT_SCARY_FOR_PUFFERFISH: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Turtle,
- EntityKind::Guardian,
- EntityKind::ElderGuardian,
+pub static NON_CONTROLLING_RIDER: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![EntityKind::MagmaCube, EntityKind::Slime]));
+pub static NOT_SCARY_FOR_PUFFERFISH: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Cod,
+ EntityKind::Dolphin,
+ EntityKind::ElderGuardian,
+ EntityKind::GlowSquid,
+ EntityKind::Guardian,
+ EntityKind::Nautilus,
EntityKind::Pufferfish,
EntityKind::Salmon,
- EntityKind::TropicalFish,
- EntityKind::Dolphin,
EntityKind::Squid,
- EntityKind::GlowSquid,
EntityKind::Tadpole,
- EntityKind::Nautilus,
+ EntityKind::TropicalFish,
+ EntityKind::Turtle,
EntityKind::ZombieNautilus,
])
});
-pub static POWDER_SNOW_WALKABLE_MOBS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Rabbit,
+pub static POWDER_SNOW_WALKABLE_MOBS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Endermite,
- EntityKind::Silverfish,
EntityKind::Fox,
+ EntityKind::Rabbit,
+ EntityKind::Silverfish,
])
});
-pub static RAIDERS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static RAIDERS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Evoker,
+ EntityKind::Illusioner,
EntityKind::Pillager,
EntityKind::Ravager,
EntityKind::Vindicator,
- EntityKind::Illusioner,
EntityKind::Witch,
])
});
-pub static REDIRECTABLE_PROJECTILE: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static REDIRECTABLE_PROJECTILE: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::BreezeWindCharge,
EntityKind::Fireball,
EntityKind::WindCharge,
- EntityKind::BreezeWindCharge,
- ])
-});
-pub static SENSITIVE_TO_BANE_OF_ARTHROPODS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Bee,
- EntityKind::Endermite,
- EntityKind::Silverfish,
- EntityKind::Spider,
- EntityKind::CaveSpider,
])
});
-pub static SENSITIVE_TO_IMPALING: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Turtle,
+pub static SENSITIVE_TO_BANE_OF_ARTHROPODS: LazyLock<RegistryTag<EntityKind>> =
+ LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bee,
+ EntityKind::CaveSpider,
+ EntityKind::Endermite,
+ EntityKind::Silverfish,
+ EntityKind::Spider,
+ ])
+ });
+pub static SENSITIVE_TO_IMPALING: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::Axolotl,
- EntityKind::Guardian,
- EntityKind::ElderGuardian,
EntityKind::Cod,
+ EntityKind::Dolphin,
+ EntityKind::ElderGuardian,
+ EntityKind::GlowSquid,
+ EntityKind::Guardian,
+ EntityKind::Nautilus,
EntityKind::Pufferfish,
EntityKind::Salmon,
- EntityKind::TropicalFish,
- EntityKind::Dolphin,
EntityKind::Squid,
- EntityKind::GlowSquid,
EntityKind::Tadpole,
- EntityKind::Nautilus,
+ EntityKind::TropicalFish,
+ EntityKind::Turtle,
EntityKind::ZombieNautilus,
])
});
-pub static SENSITIVE_TO_SMITE: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Wither,
+pub static SENSITIVE_TO_SMITE: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::CamelHusk,
+ EntityKind::Drowned,
+ EntityKind::Husk,
+ EntityKind::Parched,
EntityKind::Phantom,
EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Stray,
+ EntityKind::Wither,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
- EntityKind::ZombieHorse,
- EntityKind::CamelHusk,
+ EntityKind::Zoglin,
EntityKind::Zombie,
+ EntityKind::ZombieHorse,
+ EntityKind::ZombieNautilus,
EntityKind::ZombieVillager,
EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
- EntityKind::Drowned,
- EntityKind::Husk,
- EntityKind::ZombieNautilus,
])
});
-pub static SKELETONS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
+pub static SKELETONS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::Parched,
EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Stray,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
])
});
-pub static UNDEAD: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Wither,
+pub static UNDEAD: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::CamelHusk,
+ EntityKind::Drowned,
+ EntityKind::Husk,
+ EntityKind::Parched,
EntityKind::Phantom,
EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Stray,
+ EntityKind::Wither,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
- EntityKind::ZombieHorse,
- EntityKind::CamelHusk,
+ EntityKind::Zoglin,
EntityKind::Zombie,
+ EntityKind::ZombieHorse,
+ EntityKind::ZombieNautilus,
EntityKind::ZombieVillager,
EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
- EntityKind::Drowned,
- EntityKind::Husk,
- EntityKind::ZombieNautilus,
])
});
-pub static WITHER_FRIENDS: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::Wither,
+pub static WITHER_FRIENDS: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ EntityKind::Bogged,
+ EntityKind::CamelHusk,
+ EntityKind::Drowned,
+ EntityKind::Husk,
+ EntityKind::Parched,
EntityKind::Phantom,
EntityKind::Skeleton,
+ EntityKind::SkeletonHorse,
EntityKind::Stray,
+ EntityKind::Wither,
EntityKind::WitherSkeleton,
- EntityKind::SkeletonHorse,
- EntityKind::Bogged,
- EntityKind::Parched,
- EntityKind::ZombieHorse,
- EntityKind::CamelHusk,
+ EntityKind::Zoglin,
EntityKind::Zombie,
+ EntityKind::ZombieHorse,
+ EntityKind::ZombieNautilus,
EntityKind::ZombieVillager,
EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
- EntityKind::Drowned,
- EntityKind::Husk,
- EntityKind::ZombieNautilus,
])
});
-pub static ZOMBIES: LazyLock<HashSet<EntityKind>> = LazyLock::new(|| {
- HashSet::from_iter([
- EntityKind::ZombieHorse,
+pub static ZOMBIES: LazyLock<RegistryTag<EntityKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
EntityKind::CamelHusk,
- EntityKind::Zombie,
- EntityKind::ZombieVillager,
- EntityKind::ZombifiedPiglin,
- EntityKind::Zoglin,
EntityKind::Drowned,
EntityKind::Husk,
+ EntityKind::Zoglin,
+ EntityKind::Zombie,
+ EntityKind::ZombieHorse,
EntityKind::ZombieNautilus,
+ EntityKind::ZombieVillager,
+ EntityKind::ZombifiedPiglin,
])
});
diff --git a/azalea-registry/src/tags/fluids.rs b/azalea-registry/src/tags/fluids.rs
index 89c22fe0..3e8d5062 100644
--- a/azalea-registry/src/tags/fluids.rs
+++ b/azalea-registry/src/tags/fluids.rs
@@ -1,10 +1,10 @@
// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
-use std::{collections::HashSet, sync::LazyLock};
+use std::sync::LazyLock;
-use crate::Fluid;
+use crate::{builtin::Fluid, tags::RegistryTag};
-pub static LAVA: LazyLock<HashSet<Fluid>> =
- LazyLock::new(|| HashSet::from_iter([Fluid::Lava, Fluid::FlowingLava]));
-pub static WATER: LazyLock<HashSet<Fluid>> =
- LazyLock::new(|| HashSet::from_iter([Fluid::Water, Fluid::FlowingWater]));
+pub static LAVA: LazyLock<RegistryTag<Fluid>> =
+ LazyLock::new(|| RegistryTag::new(vec![Fluid::FlowingLava, Fluid::Lava]));
+pub static WATER: LazyLock<RegistryTag<Fluid>> =
+ LazyLock::new(|| RegistryTag::new(vec![Fluid::FlowingWater, Fluid::Water]));
diff --git a/azalea-registry/src/tags/items.rs b/azalea-registry/src/tags/items.rs
index eedc03d4..d76efbd2 100644
--- a/azalea-registry/src/tags/items.rs
+++ b/azalea-registry/src/tags/items.rs
@@ -1,2400 +1,2445 @@
// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
-use std::{collections::HashSet, sync::LazyLock};
+use std::sync::LazyLock;
-use crate::Item;
+use crate::{builtin::ItemKind, tags::RegistryTag};
-pub static ACACIA_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::AcaciaLog,
- Item::AcaciaWood,
- Item::StrippedAcaciaLog,
- Item::StrippedAcaciaWood,
- ])
-});
-pub static ANVIL: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Anvil, Item::ChippedAnvil, Item::DamagedAnvil]));
-pub static ARMADILLO_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::SpiderEye]));
-pub static ARROWS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Arrow, Item::TippedArrow, Item::SpectralArrow]));
-pub static AXES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- ])
-});
-pub static AXOLOTL_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::TropicalFishBucket]));
-pub static BAMBOO_BLOCKS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::BambooBlock, Item::StrippedBambooBlock]));
-pub static BANNERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WhiteBanner,
- Item::OrangeBanner,
- Item::MagentaBanner,
- Item::LightBlueBanner,
- Item::YellowBanner,
- Item::LimeBanner,
- Item::PinkBanner,
- Item::GrayBanner,
- Item::LightGrayBanner,
- Item::CyanBanner,
- Item::PurpleBanner,
- Item::BlueBanner,
- Item::BrownBanner,
- Item::GreenBanner,
- Item::RedBanner,
- Item::BlackBanner,
- ])
-});
-pub static BARS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::IronBars,
- Item::CopperBars,
- Item::WaxedCopperBars,
- Item::ExposedCopperBars,
- Item::WaxedExposedCopperBars,
- Item::WeatheredCopperBars,
- Item::WaxedWeatheredCopperBars,
- Item::OxidizedCopperBars,
- Item::WaxedOxidizedCopperBars,
- ])
-});
-pub static BEACON_PAYMENT_ITEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::NetheriteIngot,
- Item::Emerald,
- Item::Diamond,
- Item::GoldIngot,
- Item::IronIngot,
- ])
-});
-pub static BEDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::RedBed,
- Item::BlackBed,
- Item::BlueBed,
- Item::BrownBed,
- Item::CyanBed,
- Item::GrayBed,
- Item::GreenBed,
- Item::LightBlueBed,
- Item::LightGrayBed,
- Item::LimeBed,
- Item::MagentaBed,
- Item::OrangeBed,
- Item::PinkBed,
- Item::PurpleBed,
- Item::WhiteBed,
- Item::YellowBed,
- ])
-});
-pub static BEE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Dandelion,
- Item::OpenEyeblossom,
- Item::Poppy,
- Item::BlueOrchid,
- Item::Allium,
- Item::AzureBluet,
- Item::RedTulip,
- Item::OrangeTulip,
- Item::WhiteTulip,
- Item::PinkTulip,
- Item::OxeyeDaisy,
- Item::Cornflower,
- Item::LilyOfTheValley,
- Item::WitherRose,
- Item::Torchflower,
- Item::Sunflower,
- Item::Lilac,
- Item::Peony,
- Item::RoseBush,
- Item::PitcherPlant,
- Item::FloweringAzaleaLeaves,
- Item::FloweringAzalea,
- Item::MangrovePropagule,
- Item::CherryLeaves,
- Item::PinkPetals,
- Item::Wildflowers,
- Item::ChorusFlower,
- Item::SporeBlossom,
- Item::CactusFlower,
- ])
-});
-pub static BIRCH_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::BirchLog,
- Item::BirchWood,
- Item::StrippedBirchLog,
- Item::StrippedBirchWood,
- ])
-});
-pub static BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakBoat,
- Item::SpruceBoat,
- Item::BirchBoat,
- Item::JungleBoat,
- Item::AcaciaBoat,
- Item::DarkOakBoat,
- Item::PaleOakBoat,
- Item::MangroveBoat,
- Item::BambooRaft,
- Item::CherryBoat,
- Item::OakChestBoat,
- Item::SpruceChestBoat,
- Item::BirchChestBoat,
- Item::JungleChestBoat,
- Item::AcaciaChestBoat,
- Item::DarkOakChestBoat,
- Item::PaleOakChestBoat,
- Item::MangroveChestBoat,
- Item::BambooChestRaft,
- Item::CherryChestBoat,
- ])
-});
-pub static BOOK_CLONING_TARGET: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::WritableBook]));
-pub static BOOKSHELF_BOOKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Book,
- Item::WrittenBook,
- Item::EnchantedBook,
- Item::WritableBook,
- Item::KnowledgeBook,
- ])
-});
-pub static BREAKS_DECORATED_POTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Trident,
- Item::Mace,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::CopperPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::CopperShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- Item::CopperHoe,
- ])
-});
-pub static BREWING_FUEL: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::BlazePowder]));
-pub static BUNDLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Bundle,
- Item::BlackBundle,
- Item::BlueBundle,
- Item::BrownBundle,
- Item::CyanBundle,
- Item::GrayBundle,
- Item::GreenBundle,
- Item::LightBlueBundle,
- Item::LightGrayBundle,
- Item::LimeBundle,
- Item::MagentaBundle,
- Item::OrangeBundle,
- Item::PinkBundle,
- Item::PurpleBundle,
- Item::RedBundle,
- Item::YellowBundle,
- Item::WhiteBundle,
- ])
-});
-pub static BUTTONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakButton,
- Item::SpruceButton,
- Item::BirchButton,
- Item::JungleButton,
- Item::AcaciaButton,
- Item::DarkOakButton,
- Item::PaleOakButton,
- Item::CrimsonButton,
- Item::WarpedButton,
- Item::MangroveButton,
- Item::BambooButton,
- Item::CherryButton,
- Item::StoneButton,
- Item::PolishedBlackstoneButton,
- ])
-});
-pub static CAMEL_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Cactus]));
-pub static CAMEL_HUSK_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::RabbitFoot]));
-pub static CANDLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Candle,
- Item::WhiteCandle,
- Item::OrangeCandle,
- Item::MagentaCandle,
- Item::LightBlueCandle,
- Item::YellowCandle,
- Item::LimeCandle,
- Item::PinkCandle,
- Item::GrayCandle,
- Item::LightGrayCandle,
- Item::CyanCandle,
- Item::PurpleCandle,
- Item::BlueCandle,
- Item::BrownCandle,
- Item::GreenCandle,
- Item::RedCandle,
- Item::BlackCandle,
- ])
-});
-pub static CAT_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Cod, Item::Salmon]));
-pub static CHAINS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::IronChain,
- Item::CopperChain,
- Item::WaxedCopperChain,
- Item::ExposedCopperChain,
- Item::WaxedExposedCopperChain,
- Item::WeatheredCopperChain,
- Item::WaxedWeatheredCopperChain,
- Item::OxidizedCopperChain,
- Item::WaxedOxidizedCopperChain,
- ])
-});
-pub static CHERRY_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CherryLog,
- Item::CherryWood,
- Item::StrippedCherryLog,
- Item::StrippedCherryWood,
- ])
-});
-pub static CHEST_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- ])
-});
-pub static CHEST_BOATS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakChestBoat,
- Item::SpruceChestBoat,
- Item::BirchChestBoat,
- Item::JungleChestBoat,
- Item::AcaciaChestBoat,
- Item::DarkOakChestBoat,
- Item::PaleOakChestBoat,
- Item::MangroveChestBoat,
- Item::BambooChestRaft,
- Item::CherryChestBoat,
- ])
-});
-pub static CHICKEN_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WheatSeeds,
- Item::MelonSeeds,
- Item::PumpkinSeeds,
- Item::BeetrootSeeds,
- Item::TorchflowerSeeds,
- Item::PitcherPod,
- ])
-});
-pub static CLUSTER_MAX_HARVESTABLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondPickaxe,
- Item::GoldenPickaxe,
- Item::IronPickaxe,
- Item::NetheritePickaxe,
- Item::StonePickaxe,
- Item::WoodenPickaxe,
- Item::CopperPickaxe,
- ])
-});
-pub static COAL_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CoalOre, Item::DeepslateCoalOre]));
-pub static COALS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Coal, Item::Charcoal]));
-pub static COMPASSES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Compass, Item::RecoveryCompass]));
-pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::JungleLeaves,
- Item::OakLeaves,
- Item::SpruceLeaves,
- Item::PaleOakLeaves,
- Item::DarkOakLeaves,
- Item::AcaciaLeaves,
- Item::BirchLeaves,
- Item::AzaleaLeaves,
- Item::FloweringAzaleaLeaves,
- Item::MangroveLeaves,
- Item::CherryLeaves,
- Item::NetherWartBlock,
- Item::WarpedWartBlock,
- Item::CrimsonStem,
- Item::StrippedCrimsonStem,
- Item::CrimsonHyphae,
- Item::StrippedCrimsonHyphae,
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
- Item::DarkOakLog,
- Item::DarkOakWood,
- Item::StrippedDarkOakLog,
- Item::StrippedDarkOakWood,
- Item::PaleOakLog,
- Item::PaleOakWood,
- Item::StrippedPaleOakLog,
- Item::StrippedPaleOakWood,
- Item::OakLog,
- Item::OakWood,
- Item::StrippedOakLog,
- Item::StrippedOakWood,
- Item::AcaciaLog,
- Item::AcaciaWood,
- Item::StrippedAcaciaLog,
- Item::StrippedAcaciaWood,
- Item::BirchLog,
- Item::BirchWood,
- Item::StrippedBirchLog,
- Item::StrippedBirchWood,
- Item::JungleLog,
- Item::JungleWood,
- Item::StrippedJungleLog,
- Item::StrippedJungleWood,
- Item::SpruceLog,
- Item::SpruceWood,
- Item::StrippedSpruceLog,
- Item::StrippedSpruceWood,
- Item::MangroveLog,
- Item::MangroveWood,
- Item::StrippedMangroveLog,
- Item::StrippedMangroveWood,
- Item::CherryLog,
- Item::CherryWood,
- Item::StrippedCherryLog,
- Item::StrippedCherryWood,
- ])
-});
-pub static COPPER: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CopperBlock,
- Item::ExposedCopper,
- Item::WeatheredCopper,
- Item::OxidizedCopper,
- Item::WaxedCopperBlock,
- Item::WaxedExposedCopper,
- Item::WaxedWeatheredCopper,
- Item::WaxedOxidizedCopper,
- ])
-});
-pub static COPPER_CHESTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CopperChest,
- Item::ExposedCopperChest,
- Item::WeatheredCopperChest,
- Item::OxidizedCopperChest,
- Item::WaxedCopperChest,
- Item::WaxedExposedCopperChest,
- Item::WaxedWeatheredCopperChest,
- Item::WaxedOxidizedCopperChest,
- ])
-});
-pub static COPPER_GOLEM_STATUES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CopperGolemStatue,
- Item::ExposedCopperGolemStatue,
- Item::WeatheredCopperGolemStatue,
- Item::OxidizedCopperGolemStatue,
- Item::WaxedCopperGolemStatue,
- Item::WaxedExposedCopperGolemStatue,
- Item::WaxedWeatheredCopperGolemStatue,
- Item::WaxedOxidizedCopperGolemStatue,
- ])
-});
-pub static COPPER_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CopperOre, Item::DeepslateCopperOre]));
-pub static COPPER_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CopperIngot]));
-pub static COW_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| HashSet::from_iter([Item::Wheat]));
-pub static CREEPER_DROP_MUSIC_DISCS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::MusicDisc13,
- Item::MusicDiscCat,
- Item::MusicDiscBlocks,
- Item::MusicDiscChirp,
- Item::MusicDiscFar,
- Item::MusicDiscMall,
- Item::MusicDiscMellohi,
- Item::MusicDiscStal,
- Item::MusicDiscStrad,
- Item::MusicDiscWard,
- Item::MusicDisc11,
- Item::MusicDiscWait,
- ])
-});
-pub static CREEPER_IGNITERS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::FlintAndSteel, Item::FireCharge]));
-pub static CRIMSON_STEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CrimsonStem,
- Item::StrippedCrimsonStem,
- Item::CrimsonHyphae,
- Item::StrippedCrimsonHyphae,
- ])
-});
-pub static DAMPENS_VIBRATIONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WhiteWool,
- Item::OrangeWool,
- Item::MagentaWool,
- Item::LightBlueWool,
- Item::YellowWool,
- Item::LimeWool,
- Item::PinkWool,
- Item::GrayWool,
- Item::LightGrayWool,
- Item::CyanWool,
- Item::PurpleWool,
- Item::BlueWool,
- Item::BrownWool,
- Item::GreenWool,
- Item::RedWool,
- Item::BlackWool,
- Item::WhiteCarpet,
- Item::OrangeCarpet,
- Item::MagentaCarpet,
- Item::LightBlueCarpet,
- Item::YellowCarpet,
- Item::LimeCarpet,
- Item::PinkCarpet,
- Item::GrayCarpet,
- Item::LightGrayCarpet,
- Item::CyanCarpet,
- Item::PurpleCarpet,
- Item::BlueCarpet,
- Item::BrownCarpet,
- Item::GreenCarpet,
- Item::RedCarpet,
- Item::BlackCarpet,
- ])
-});
-pub static DARK_OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DarkOakLog,
- Item::DarkOakWood,
- Item::StrippedDarkOakLog,
- Item::StrippedDarkOakWood,
- ])
-});
-pub static DECORATED_POT_INGREDIENTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Brick,
- Item::AnglerPotterySherd,
- Item::ArcherPotterySherd,
- Item::ArmsUpPotterySherd,
- Item::BladePotterySherd,
- Item::BrewerPotterySherd,
- Item::BurnPotterySherd,
- Item::DangerPotterySherd,
- Item::ExplorerPotterySherd,
- Item::FriendPotterySherd,
- Item::HeartPotterySherd,
- Item::HeartbreakPotterySherd,
- Item::HowlPotterySherd,
- Item::MinerPotterySherd,
- Item::MournerPotterySherd,
- Item::PlentyPotterySherd,
- Item::PrizePotterySherd,
- Item::SheafPotterySherd,
- Item::ShelterPotterySherd,
- Item::SkullPotterySherd,
- Item::SnortPotterySherd,
- Item::FlowPotterySherd,
- Item::GusterPotterySherd,
- Item::ScrapePotterySherd,
- ])
-});
-pub static DECORATED_POT_SHERDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::AnglerPotterySherd,
- Item::ArcherPotterySherd,
- Item::ArmsUpPotterySherd,
- Item::BladePotterySherd,
- Item::BrewerPotterySherd,
- Item::BurnPotterySherd,
- Item::DangerPotterySherd,
- Item::ExplorerPotterySherd,
- Item::FriendPotterySherd,
- Item::HeartPotterySherd,
- Item::HeartbreakPotterySherd,
- Item::HowlPotterySherd,
- Item::MinerPotterySherd,
- Item::MournerPotterySherd,
- Item::PlentyPotterySherd,
- Item::PrizePotterySherd,
- Item::SheafPotterySherd,
- Item::ShelterPotterySherd,
- Item::SkullPotterySherd,
- Item::SnortPotterySherd,
- Item::FlowPotterySherd,
- Item::GusterPotterySherd,
- Item::ScrapePotterySherd,
- ])
-});
-pub static DIAMOND_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::DiamondOre, Item::DeepslateDiamondOre]));
-pub static DIAMOND_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Diamond]));
-pub static DIRT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Dirt,
- Item::GrassBlock,
- Item::Podzol,
- Item::CoarseDirt,
- Item::Mycelium,
- Item::RootedDirt,
- Item::MossBlock,
- Item::PaleMossBlock,
- Item::Mud,
- Item::MuddyMangroveRoots,
- ])
-});
-pub static DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CopperDoor,
- Item::ExposedCopperDoor,
- Item::WeatheredCopperDoor,
- Item::OxidizedCopperDoor,
- Item::WaxedCopperDoor,
- Item::WaxedExposedCopperDoor,
- Item::WaxedWeatheredCopperDoor,
- Item::WaxedOxidizedCopperDoor,
- Item::IronDoor,
- Item::OakDoor,
- Item::SpruceDoor,
- Item::BirchDoor,
- Item::JungleDoor,
- Item::AcaciaDoor,
- Item::DarkOakDoor,
- Item::PaleOakDoor,
- Item::CrimsonDoor,
- Item::WarpedDoor,
- Item::MangroveDoor,
- Item::BambooDoor,
- Item::CherryDoor,
- ])
-});
-pub static DROWNED_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Trident]));
-pub static DUPLICATES_ALLAYS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::AmethystShard]));
-pub static DYEABLE: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherHelmet,
- Item::LeatherChestplate,
- Item::LeatherLeggings,
- Item::LeatherBoots,
- Item::LeatherHorseArmor,
- Item::WolfArmor,
- ])
-});
-pub static EGGS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Egg, Item::BlueEgg, Item::BrownEgg]));
-pub static EMERALD_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::EmeraldOre, Item::DeepslateEmeraldOre]));
-pub static ENCHANTABLE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- ])
-});
-pub static ENCHANTABLE_BOW: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Bow]));
-pub static ENCHANTABLE_CHEST_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- ])
-});
-pub static ENCHANTABLE_CROSSBOW: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Crossbow]));
-pub static ENCHANTABLE_DURABILITY: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Elytra,
- Item::Shield,
- Item::Bow,
- Item::Crossbow,
- Item::Trident,
- Item::FlintAndSteel,
- Item::Shears,
- Item::Brush,
- Item::FishingRod,
- Item::CarrotOnAStick,
- Item::WarpedFungusOnAStick,
- Item::Mace,
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::CopperPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::CopperShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- Item::CopperHoe,
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static ENCHANTABLE_EQUIPPABLE: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Elytra,
- Item::CarvedPumpkin,
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- Item::PlayerHead,
- Item::CreeperHead,
- Item::ZombieHead,
- Item::SkeletonSkull,
- Item::WitherSkeletonSkull,
- Item::DragonHead,
- Item::PiglinHead,
- ])
-});
-pub static ENCHANTABLE_FIRE_ASPECT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Mace,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static ENCHANTABLE_FISHING: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::FishingRod]));
-pub static ENCHANTABLE_FOOT_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- ])
-});
-pub static ENCHANTABLE_HEAD_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- ])
-});
-pub static ENCHANTABLE_LEG_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- ])
-});
-pub static ENCHANTABLE_LUNGE: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static ENCHANTABLE_MACE: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Mace]));
-pub static ENCHANTABLE_MELEE_WEAPON: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static ENCHANTABLE_MINING: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Shears,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::CopperPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::CopperShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- Item::CopperHoe,
- ])
-});
-pub static ENCHANTABLE_MINING_LOOT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::CopperPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::CopperShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- Item::CopperHoe,
- ])
-});
-pub static ENCHANTABLE_SHARP_WEAPON: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static ENCHANTABLE_SWEEPING: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- ])
-});
-pub static ENCHANTABLE_TRIDENT: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Trident]));
-pub static ENCHANTABLE_VANISHING: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Compass,
- Item::CarvedPumpkin,
- Item::Elytra,
- Item::Shield,
- Item::Bow,
- Item::Crossbow,
- Item::Trident,
- Item::FlintAndSteel,
- Item::Shears,
- Item::Brush,
- Item::FishingRod,
- Item::CarrotOnAStick,
- Item::WarpedFungusOnAStick,
- Item::Mace,
- Item::PlayerHead,
- Item::CreeperHead,
- Item::ZombieHead,
- Item::SkeletonSkull,
- Item::WitherSkeletonSkull,
- Item::DragonHead,
- Item::PiglinHead,
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::CopperPickaxe,
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::CopperShovel,
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- Item::CopperHoe,
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static ENCHANTABLE_WEAPON: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Mace,
- Item::DiamondAxe,
- Item::StoneAxe,
- Item::GoldenAxe,
- Item::NetheriteAxe,
- Item::WoodenAxe,
- Item::IronAxe,
- Item::CopperAxe,
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static FENCE_GATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::AcaciaFenceGate,
- Item::BirchFenceGate,
- Item::DarkOakFenceGate,
- Item::PaleOakFenceGate,
- Item::JungleFenceGate,
- Item::OakFenceGate,
- Item::SpruceFenceGate,
- Item::CrimsonFenceGate,
- Item::WarpedFenceGate,
- Item::MangroveFenceGate,
- Item::BambooFenceGate,
- Item::CherryFenceGate,
- ])
-});
-pub static FENCES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::NetherBrickFence,
- Item::OakFence,
- Item::AcaciaFence,
- Item::DarkOakFence,
- Item::PaleOakFence,
- Item::SpruceFence,
- Item::BirchFence,
- Item::JungleFence,
- Item::CrimsonFence,
- Item::WarpedFence,
- Item::MangroveFence,
- Item::BambooFence,
- Item::CherryFence,
- ])
-});
-pub static FISHES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Cod,
- Item::CookedCod,
- Item::Salmon,
- Item::CookedSalmon,
- Item::Pufferfish,
- Item::TropicalFish,
- ])
-});
-pub static FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Sunflower,
- Item::Lilac,
- Item::Peony,
- Item::RoseBush,
- Item::PitcherPlant,
- Item::FloweringAzaleaLeaves,
- Item::FloweringAzalea,
- Item::MangrovePropagule,
- Item::CherryLeaves,
- Item::PinkPetals,
- Item::Wildflowers,
- Item::ChorusFlower,
- Item::SporeBlossom,
- Item::CactusFlower,
- Item::Dandelion,
- Item::OpenEyeblossom,
- Item::Poppy,
- Item::BlueOrchid,
- Item::Allium,
- Item::AzureBluet,
- Item::RedTulip,
- Item::OrangeTulip,
- Item::WhiteTulip,
- Item::PinkTulip,
- Item::OxeyeDaisy,
- Item::Cornflower,
- Item::LilyOfTheValley,
- Item::WitherRose,
- Item::Torchflower,
- Item::ClosedEyeblossom,
- ])
-});
-pub static FOOT_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- ])
-});
-pub static FOX_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::SweetBerries, Item::GlowBerries]));
-pub static FREEZE_IMMUNE_WEARABLES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherBoots,
- Item::LeatherLeggings,
- Item::LeatherChestplate,
- Item::LeatherHelmet,
- Item::LeatherHorseArmor,
- ])
-});
-pub static FROG_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::SlimeBall]));
-pub static FURNACE_MINECART_FUEL: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Coal, Item::Charcoal]));
-pub static GAZE_DISGUISE_EQUIPMENT: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CarvedPumpkin]));
-pub static GOAT_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| HashSet::from_iter([Item::Wheat]));
-pub static GOLD_ORES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([Item::GoldOre, Item::NetherGoldOre, Item::DeepslateGoldOre])
-});
-pub static GOLD_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::GoldIngot]));
-pub static HANGING_SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakHangingSign,
- Item::SpruceHangingSign,
- Item::BirchHangingSign,
- Item::AcaciaHangingSign,
- Item::CherryHangingSign,
- Item::JungleHangingSign,
- Item::DarkOakHangingSign,
- Item::PaleOakHangingSign,
- Item::CrimsonHangingSign,
- Item::WarpedHangingSign,
- Item::MangroveHangingSign,
- Item::BambooHangingSign,
- ])
-});
-pub static HAPPY_GHAST_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Snowball]));
-pub static HAPPY_GHAST_TEMPT_ITEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Snowball,
- Item::WhiteHarness,
- Item::OrangeHarness,
- Item::MagentaHarness,
- Item::LightBlueHarness,
- Item::YellowHarness,
- Item::LimeHarness,
- Item::PinkHarness,
- Item::GrayHarness,
- Item::LightGrayHarness,
- Item::CyanHarness,
- Item::PurpleHarness,
- Item::BlueHarness,
- Item::BrownHarness,
- Item::GreenHarness,
- Item::RedHarness,
- Item::BlackHarness,
- ])
-});
-pub static HARNESSES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WhiteHarness,
- Item::OrangeHarness,
- Item::MagentaHarness,
- Item::LightBlueHarness,
- Item::YellowHarness,
- Item::LimeHarness,
- Item::PinkHarness,
- Item::GrayHarness,
- Item::LightGrayHarness,
- Item::CyanHarness,
- Item::PurpleHarness,
- Item::BlueHarness,
- Item::BrownHarness,
- Item::GreenHarness,
- Item::RedHarness,
- Item::BlackHarness,
- ])
-});
-pub static HEAD_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- ])
-});
-pub static HOES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondHoe,
- Item::StoneHoe,
- Item::GoldenHoe,
- Item::NetheriteHoe,
- Item::WoodenHoe,
- Item::IronHoe,
- Item::CopperHoe,
- ])
-});
-pub static HOGLIN_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CrimsonFungus]));
-pub static HORSE_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Wheat,
- Item::Sugar,
- Item::HayBlock,
- Item::Apple,
- Item::Carrot,
- Item::GoldenCarrot,
- Item::GoldenApple,
- Item::EnchantedGoldenApple,
- ])
-});
-pub static HORSE_TEMPT_ITEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::GoldenCarrot,
- Item::GoldenApple,
- Item::EnchantedGoldenApple,
- ])
-});
-pub static IGNORED_BY_PIGLIN_BABIES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Leather]));
-pub static IRON_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::IronOre, Item::DeepslateIronOre]));
-pub static IRON_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::IronIngot]));
-pub static JUNGLE_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::JungleLog,
- Item::JungleWood,
- Item::StrippedJungleLog,
- Item::StrippedJungleWood,
- ])
-});
-pub static LANTERNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Lantern,
- Item::SoulLantern,
- Item::CopperLantern,
- Item::WaxedCopperLantern,
- Item::ExposedCopperLantern,
- Item::WaxedExposedCopperLantern,
- Item::WeatheredCopperLantern,
- Item::WaxedWeatheredCopperLantern,
- Item::OxidizedCopperLantern,
- Item::WaxedOxidizedCopperLantern,
- ])
-});
-pub static LAPIS_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::LapisOre, Item::DeepslateLapisOre]));
-pub static LEAVES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::JungleLeaves,
- Item::OakLeaves,
- Item::SpruceLeaves,
- Item::PaleOakLeaves,
- Item::DarkOakLeaves,
- Item::AcaciaLeaves,
- Item::BirchLeaves,
- Item::AzaleaLeaves,
- Item::FloweringAzaleaLeaves,
- Item::MangroveLeaves,
- Item::CherryLeaves,
- ])
-});
-pub static LECTERN_BOOKS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::WrittenBook, Item::WritableBook]));
-pub static LEG_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- ])
-});
-pub static LIGHTNING_RODS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LightningRod,
- Item::ExposedLightningRod,
- Item::WeatheredLightningRod,
- Item::OxidizedLightningRod,
- Item::WaxedLightningRod,
- Item::WaxedExposedLightningRod,
- Item::WaxedWeatheredLightningRod,
- Item::WaxedOxidizedLightningRod,
- ])
-});
-pub static LLAMA_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Wheat, Item::HayBlock]));
-pub static LLAMA_TEMPT_ITEMS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::HayBlock]));
-pub static LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CrimsonStem,
- Item::StrippedCrimsonStem,
- Item::CrimsonHyphae,
- Item::StrippedCrimsonHyphae,
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
- Item::DarkOakLog,
- Item::DarkOakWood,
- Item::StrippedDarkOakLog,
- Item::StrippedDarkOakWood,
- Item::PaleOakLog,
- Item::PaleOakWood,
- Item::StrippedPaleOakLog,
- Item::StrippedPaleOakWood,
- Item::OakLog,
- Item::OakWood,
- Item::StrippedOakLog,
- Item::StrippedOakWood,
- Item::AcaciaLog,
- Item::AcaciaWood,
- Item::StrippedAcaciaLog,
- Item::StrippedAcaciaWood,
- Item::BirchLog,
- Item::BirchWood,
- Item::StrippedBirchLog,
- Item::StrippedBirchWood,
- Item::JungleLog,
- Item::JungleWood,
- Item::StrippedJungleLog,
- Item::StrippedJungleWood,
- Item::SpruceLog,
- Item::SpruceWood,
- Item::StrippedSpruceLog,
- Item::StrippedSpruceWood,
- Item::MangroveLog,
- Item::MangroveWood,
- Item::StrippedMangroveLog,
- Item::StrippedMangroveWood,
- Item::CherryLog,
- Item::CherryWood,
- Item::StrippedCherryLog,
- Item::StrippedCherryWood,
- ])
-});
-pub static LOGS_THAT_BURN: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DarkOakLog,
- Item::DarkOakWood,
- Item::StrippedDarkOakLog,
- Item::StrippedDarkOakWood,
- Item::PaleOakLog,
- Item::PaleOakWood,
- Item::StrippedPaleOakLog,
- Item::StrippedPaleOakWood,
- Item::OakLog,
- Item::OakWood,
- Item::StrippedOakLog,
- Item::StrippedOakWood,
- Item::AcaciaLog,
- Item::AcaciaWood,
- Item::StrippedAcaciaLog,
- Item::StrippedAcaciaWood,
- Item::BirchLog,
- Item::BirchWood,
- Item::StrippedBirchLog,
- Item::StrippedBirchWood,
- Item::JungleLog,
- Item::JungleWood,
- Item::StrippedJungleLog,
- Item::StrippedJungleWood,
- Item::SpruceLog,
- Item::SpruceWood,
- Item::StrippedSpruceLog,
- Item::StrippedSpruceWood,
- Item::MangroveLog,
- Item::MangroveWood,
- Item::StrippedMangroveLog,
- Item::StrippedMangroveWood,
- Item::CherryLog,
- Item::CherryWood,
- Item::StrippedCherryLog,
- Item::StrippedCherryWood,
- ])
-});
-pub static MANGROVE_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::MangroveLog,
- Item::MangroveWood,
- Item::StrippedMangroveLog,
- Item::StrippedMangroveWood,
- ])
-});
-pub static MAP_INVISIBILITY_EQUIPMENT: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CarvedPumpkin]));
-pub static MEAT: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Beef,
- Item::Chicken,
- Item::CookedBeef,
- Item::CookedChicken,
- Item::CookedMutton,
- Item::CookedPorkchop,
- Item::CookedRabbit,
- Item::Mutton,
- Item::Porkchop,
- Item::Rabbit,
- Item::RottenFlesh,
- ])
-});
-pub static NAUTILUS_BUCKET_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::PufferfishBucket,
- Item::CodBucket,
- Item::SalmonBucket,
- Item::TropicalFishBucket,
- ])
-});
-pub static NAUTILUS_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Cod,
- Item::CookedCod,
- Item::Salmon,
- Item::CookedSalmon,
- Item::Pufferfish,
- Item::TropicalFish,
- Item::PufferfishBucket,
- Item::CodBucket,
- Item::SalmonBucket,
- Item::TropicalFishBucket,
- ])
-});
-pub static NAUTILUS_TAMING_ITEMS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::PufferfishBucket, Item::Pufferfish]));
-pub static NETHERITE_TOOL_MATERIALS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::NetheriteIngot]));
-pub static NON_FLAMMABLE_WOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
- Item::CrimsonStem,
- Item::StrippedCrimsonStem,
- Item::CrimsonHyphae,
- Item::StrippedCrimsonHyphae,
- Item::CrimsonPlanks,
- Item::WarpedPlanks,
- Item::CrimsonSlab,
- Item::WarpedSlab,
- Item::CrimsonPressurePlate,
- Item::WarpedPressurePlate,
- Item::CrimsonFence,
- Item::WarpedFence,
- Item::CrimsonTrapdoor,
- Item::WarpedTrapdoor,
- Item::CrimsonFenceGate,
- Item::WarpedFenceGate,
- Item::CrimsonStairs,
- Item::WarpedStairs,
- Item::CrimsonButton,
- Item::WarpedButton,
- Item::CrimsonDoor,
- Item::WarpedDoor,
- Item::CrimsonSign,
- Item::WarpedSign,
- Item::WarpedHangingSign,
- Item::CrimsonHangingSign,
- Item::WarpedShelf,
- Item::CrimsonShelf,
- ])
-});
-pub static NOTEBLOCK_TOP_INSTRUMENTS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::ZombieHead,
- Item::SkeletonSkull,
- Item::CreeperHead,
- Item::DragonHead,
- Item::WitherSkeletonSkull,
- Item::PiglinHead,
- Item::PlayerHead,
- ])
-});
-pub static OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakLog,
- Item::OakWood,
- Item::StrippedOakLog,
- Item::StrippedOakWood,
- ])
-});
-pub static OCELOT_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Cod, Item::Salmon]));
-pub static PALE_OAK_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::PaleOakLog,
- Item::PaleOakWood,
- Item::StrippedPaleOakLog,
- Item::StrippedPaleOakWood,
- ])
-});
-pub static PANDA_EATS_FROM_GROUND: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Cake, Item::Bamboo]));
-pub static PANDA_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Bamboo]));
-pub static PARROT_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WheatSeeds,
- Item::MelonSeeds,
- Item::PumpkinSeeds,
- Item::BeetrootSeeds,
- Item::TorchflowerSeeds,
- Item::PitcherPod,
- ])
-});
-pub static PARROT_POISONOUS_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Cookie]));
-pub static PICKAXES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondPickaxe,
- Item::StonePickaxe,
- Item::GoldenPickaxe,
- Item::NetheritePickaxe,
- Item::WoodenPickaxe,
- Item::IronPickaxe,
- Item::CopperPickaxe,
- ])
-});
-pub static PIG_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Carrot, Item::Potato, Item::Beetroot]));
-pub static PIGLIN_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Porkchop, Item::CookedPorkchop]));
-pub static PIGLIN_LOVED: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::GoldBlock,
- Item::GildedBlackstone,
- Item::LightWeightedPressurePlate,
- Item::GoldIngot,
- Item::Bell,
- Item::Clock,
- Item::GoldenCarrot,
- Item::GlisteringMelonSlice,
- Item::GoldenApple,
- Item::EnchantedGoldenApple,
- Item::GoldenHelmet,
- Item::GoldenChestplate,
- Item::GoldenLeggings,
- Item::GoldenBoots,
- Item::GoldenHorseArmor,
- Item::GoldenNautilusArmor,
- Item::GoldenSword,
- Item::GoldenSpear,
- Item::GoldenPickaxe,
- Item::GoldenShovel,
- Item::GoldenAxe,
- Item::GoldenHoe,
- Item::RawGold,
- Item::RawGoldBlock,
- Item::GoldOre,
- Item::NetherGoldOre,
- Item::DeepslateGoldOre,
- ])
-});
-pub static PIGLIN_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Crossbow, Item::GoldenSpear]));
-pub static PIGLIN_REPELLENTS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::SoulTorch, Item::SoulLantern, Item::SoulCampfire]));
-pub static PIGLIN_SAFE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::GoldenHelmet,
- Item::GoldenChestplate,
- Item::GoldenLeggings,
- Item::GoldenBoots,
- ])
-});
-pub static PILLAGER_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Crossbow]));
-pub static PLANKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakPlanks,
- Item::SprucePlanks,
- Item::BirchPlanks,
- Item::JunglePlanks,
- Item::AcaciaPlanks,
- Item::DarkOakPlanks,
- Item::PaleOakPlanks,
- Item::CrimsonPlanks,
- Item::WarpedPlanks,
- Item::MangrovePlanks,
- Item::BambooPlanks,
- Item::CherryPlanks,
- ])
-});
-pub static RABBIT_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Carrot, Item::GoldenCarrot, Item::Dandelion]));
-pub static RAILS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Rail,
- Item::PoweredRail,
- Item::DetectorRail,
- Item::ActivatorRail,
- ])
-});
-pub static REDSTONE_ORES: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::RedstoneOre, Item::DeepslateRedstoneOre]));
-pub static REPAIRS_CHAIN_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::IronIngot]));
-pub static REPAIRS_COPPER_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::CopperIngot]));
-pub static REPAIRS_DIAMOND_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Diamond]));
-pub static REPAIRS_GOLD_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::GoldIngot]));
-pub static REPAIRS_IRON_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::IronIngot]));
-pub static REPAIRS_LEATHER_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Leather]));
-pub static REPAIRS_NETHERITE_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::NetheriteIngot]));
-pub static REPAIRS_TURTLE_HELMET: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::TurtleScute]));
-pub static REPAIRS_WOLF_ARMOR: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::ArmadilloScute]));
-pub static SAND: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Sand, Item::RedSand, Item::SuspiciousSand]));
-pub static SAPLINGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakSapling,
- Item::SpruceSapling,
- Item::BirchSapling,
- Item::JungleSapling,
- Item::AcaciaSapling,
- Item::DarkOakSapling,
- Item::PaleOakSapling,
- Item::Azalea,
- Item::FloweringAzalea,
- Item::MangrovePropagule,
- Item::CherrySapling,
- ])
-});
-pub static SHEARABLE_FROM_COPPER_GOLEM: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Poppy]));
-pub static SHEEP_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Wheat]));
-pub static SHOVELS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondShovel,
- Item::StoneShovel,
- Item::GoldenShovel,
- Item::NetheriteShovel,
- Item::WoodenShovel,
- Item::IronShovel,
- Item::CopperShovel,
- ])
-});
-pub static SHULKER_BOXES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::ShulkerBox,
- Item::BlackShulkerBox,
- Item::BlueShulkerBox,
- Item::BrownShulkerBox,
- Item::CyanShulkerBox,
- Item::GrayShulkerBox,
- Item::GreenShulkerBox,
- Item::LightBlueShulkerBox,
- Item::LightGrayShulkerBox,
- Item::LimeShulkerBox,
- Item::MagentaShulkerBox,
- Item::OrangeShulkerBox,
- Item::PinkShulkerBox,
- Item::PurpleShulkerBox,
- Item::RedShulkerBox,
- Item::WhiteShulkerBox,
- Item::YellowShulkerBox,
- ])
-});
-pub static SIGNS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakSign,
- Item::SpruceSign,
- Item::BirchSign,
- Item::AcaciaSign,
- Item::JungleSign,
- Item::DarkOakSign,
- Item::PaleOakSign,
- Item::CrimsonSign,
- Item::WarpedSign,
- Item::MangroveSign,
- Item::BambooSign,
- Item::CherrySign,
- ])
-});
-pub static SKELETON_PREFERRED_WEAPONS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Bow]));
-pub static SKULLS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::PlayerHead,
- Item::CreeperHead,
- Item::ZombieHead,
- Item::SkeletonSkull,
- Item::WitherSkeletonSkull,
- Item::DragonHead,
- Item::PiglinHead,
- ])
-});
-pub static SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::BambooMosaicSlab,
- Item::StoneSlab,
- Item::SmoothStoneSlab,
- Item::StoneBrickSlab,
- Item::SandstoneSlab,
- Item::PurpurSlab,
- Item::QuartzSlab,
- Item::RedSandstoneSlab,
- Item::BrickSlab,
- Item::CobblestoneSlab,
- Item::NetherBrickSlab,
- Item::PetrifiedOakSlab,
- Item::PrismarineSlab,
- Item::PrismarineBrickSlab,
- Item::DarkPrismarineSlab,
- Item::PolishedGraniteSlab,
- Item::SmoothRedSandstoneSlab,
- Item::MossyStoneBrickSlab,
- Item::PolishedDioriteSlab,
- Item::MossyCobblestoneSlab,
- Item::EndStoneBrickSlab,
- Item::SmoothSandstoneSlab,
- Item::SmoothQuartzSlab,
- Item::GraniteSlab,
- Item::AndesiteSlab,
- Item::RedNetherBrickSlab,
- Item::PolishedAndesiteSlab,
- Item::DioriteSlab,
- Item::CutSandstoneSlab,
- Item::CutRedSandstoneSlab,
- Item::BlackstoneSlab,
- Item::PolishedBlackstoneBrickSlab,
- Item::PolishedBlackstoneSlab,
- Item::CobbledDeepslateSlab,
- Item::PolishedDeepslateSlab,
- Item::DeepslateTileSlab,
- Item::DeepslateBrickSlab,
- Item::WaxedWeatheredCutCopperSlab,
- Item::WaxedExposedCutCopperSlab,
- Item::WaxedCutCopperSlab,
- Item::OxidizedCutCopperSlab,
- Item::WeatheredCutCopperSlab,
- Item::ExposedCutCopperSlab,
- Item::CutCopperSlab,
- Item::WaxedOxidizedCutCopperSlab,
- Item::MudBrickSlab,
- Item::TuffSlab,
- Item::PolishedTuffSlab,
- Item::TuffBrickSlab,
- Item::ResinBrickSlab,
- Item::OakSlab,
- Item::SpruceSlab,
- Item::BirchSlab,
- Item::JungleSlab,
- Item::AcaciaSlab,
- Item::DarkOakSlab,
- Item::PaleOakSlab,
- Item::CrimsonSlab,
- Item::WarpedSlab,
- Item::MangroveSlab,
- Item::BambooSlab,
- Item::CherrySlab,
- ])
-});
-pub static SMALL_FLOWERS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Dandelion,
- Item::OpenEyeblossom,
- Item::Poppy,
- Item::BlueOrchid,
- Item::Allium,
- Item::AzureBluet,
- Item::RedTulip,
- Item::OrangeTulip,
- Item::WhiteTulip,
- Item::PinkTulip,
- Item::OxeyeDaisy,
- Item::Cornflower,
- Item::LilyOfTheValley,
- Item::WitherRose,
- Item::Torchflower,
- Item::ClosedEyeblossom,
- ])
-});
-pub static SMELTS_TO_GLASS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Sand, Item::RedSand]));
-pub static SNIFFER_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::TorchflowerSeeds]));
-pub static SOUL_FIRE_BASE_BLOCKS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::SoulSand, Item::SoulSoil]));
-pub static SPEARS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondSpear,
- Item::StoneSpear,
- Item::GoldenSpear,
- Item::NetheriteSpear,
- Item::WoodenSpear,
- Item::IronSpear,
- Item::CopperSpear,
- ])
-});
-pub static SPRUCE_LOGS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::SpruceLog,
- Item::SpruceWood,
- Item::StrippedSpruceLog,
- Item::StrippedSpruceWood,
- ])
-});
-pub static STAIRS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::BambooMosaicStairs,
- Item::CobblestoneStairs,
- Item::SandstoneStairs,
- Item::NetherBrickStairs,
- Item::StoneBrickStairs,
- Item::BrickStairs,
- Item::PurpurStairs,
- Item::QuartzStairs,
- Item::RedSandstoneStairs,
- Item::PrismarineBrickStairs,
- Item::PrismarineStairs,
- Item::DarkPrismarineStairs,
- Item::PolishedGraniteStairs,
- Item::SmoothRedSandstoneStairs,
- Item::MossyStoneBrickStairs,
- Item::PolishedDioriteStairs,
- Item::MossyCobblestoneStairs,
- Item::EndStoneBrickStairs,
- Item::StoneStairs,
- Item::SmoothSandstoneStairs,
- Item::SmoothQuartzStairs,
- Item::GraniteStairs,
- Item::AndesiteStairs,
- Item::RedNetherBrickStairs,
- Item::PolishedAndesiteStairs,
- Item::DioriteStairs,
- Item::BlackstoneStairs,
- Item::PolishedBlackstoneBrickStairs,
- Item::PolishedBlackstoneStairs,
- Item::CobbledDeepslateStairs,
- Item::PolishedDeepslateStairs,
- Item::DeepslateTileStairs,
- Item::DeepslateBrickStairs,
- Item::OxidizedCutCopperStairs,
- Item::WeatheredCutCopperStairs,
- Item::ExposedCutCopperStairs,
- Item::CutCopperStairs,
- Item::WaxedWeatheredCutCopperStairs,
- Item::WaxedExposedCutCopperStairs,
- Item::WaxedCutCopperStairs,
- Item::WaxedOxidizedCutCopperStairs,
- Item::MudBrickStairs,
- Item::TuffStairs,
- Item::PolishedTuffStairs,
- Item::TuffBrickStairs,
- Item::ResinBrickStairs,
- Item::OakStairs,
- Item::SpruceStairs,
- Item::BirchStairs,
- Item::JungleStairs,
- Item::AcaciaStairs,
- Item::DarkOakStairs,
- Item::PaleOakStairs,
- Item::CrimsonStairs,
- Item::WarpedStairs,
- Item::MangroveStairs,
- Item::BambooStairs,
- Item::CherryStairs,
- ])
-});
-pub static STONE_BRICKS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::StoneBricks,
- Item::MossyStoneBricks,
- Item::CrackedStoneBricks,
- Item::ChiseledStoneBricks,
- ])
-});
-pub static STONE_BUTTONS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::StoneButton, Item::PolishedBlackstoneButton]));
-pub static STONE_CRAFTING_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([Item::Cobblestone, Item::Blackstone, Item::CobbledDeepslate])
-});
-pub static STONE_TOOL_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([Item::Cobblestone, Item::Blackstone, Item::CobbledDeepslate])
-});
-pub static STRIDER_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::WarpedFungus]));
-pub static STRIDER_TEMPT_ITEMS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::WarpedFungusOnAStick, Item::WarpedFungus]));
-pub static SWORDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::DiamondSword,
- Item::StoneSword,
- Item::GoldenSword,
- Item::NetheriteSword,
- Item::WoodenSword,
- Item::IronSword,
- Item::CopperSword,
- ])
-});
-pub static TERRACOTTA: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Terracotta,
- Item::WhiteTerracotta,
- Item::OrangeTerracotta,
- Item::MagentaTerracotta,
- Item::LightBlueTerracotta,
- Item::YellowTerracotta,
- Item::LimeTerracotta,
- Item::PinkTerracotta,
- Item::GrayTerracotta,
- Item::LightGrayTerracotta,
- Item::CyanTerracotta,
- Item::PurpleTerracotta,
- Item::BlueTerracotta,
- Item::BrownTerracotta,
- Item::GreenTerracotta,
- Item::RedTerracotta,
- Item::BlackTerracotta,
- ])
-});
-pub static TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::IronTrapdoor,
- Item::CopperTrapdoor,
- Item::ExposedCopperTrapdoor,
- Item::WeatheredCopperTrapdoor,
- Item::OxidizedCopperTrapdoor,
- Item::WaxedCopperTrapdoor,
- Item::WaxedExposedCopperTrapdoor,
- Item::WaxedWeatheredCopperTrapdoor,
- Item::WaxedOxidizedCopperTrapdoor,
- Item::AcaciaTrapdoor,
- Item::BirchTrapdoor,
- Item::DarkOakTrapdoor,
- Item::PaleOakTrapdoor,
- Item::JungleTrapdoor,
- Item::OakTrapdoor,
- Item::SpruceTrapdoor,
- Item::CrimsonTrapdoor,
- Item::WarpedTrapdoor,
- Item::MangroveTrapdoor,
- Item::BambooTrapdoor,
- Item::CherryTrapdoor,
- ])
-});
-pub static TRIM_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::AmethystShard,
- Item::CopperIngot,
- Item::Diamond,
- Item::Emerald,
- Item::GoldIngot,
- Item::IronIngot,
- Item::LapisLazuli,
- Item::NetheriteIngot,
- Item::Quartz,
- Item::Redstone,
- Item::ResinBrick,
- ])
-});
-pub static TRIMMABLE_ARMOR: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::LeatherBoots,
- Item::CopperBoots,
- Item::ChainmailBoots,
- Item::GoldenBoots,
- Item::IronBoots,
- Item::DiamondBoots,
- Item::NetheriteBoots,
- Item::LeatherLeggings,
- Item::CopperLeggings,
- Item::ChainmailLeggings,
- Item::GoldenLeggings,
- Item::IronLeggings,
- Item::DiamondLeggings,
- Item::NetheriteLeggings,
- Item::LeatherChestplate,
- Item::CopperChestplate,
- Item::ChainmailChestplate,
- Item::GoldenChestplate,
- Item::IronChestplate,
- Item::DiamondChestplate,
- Item::NetheriteChestplate,
- Item::LeatherHelmet,
- Item::CopperHelmet,
- Item::ChainmailHelmet,
- Item::GoldenHelmet,
- Item::IronHelmet,
- Item::DiamondHelmet,
- Item::NetheriteHelmet,
- Item::TurtleHelmet,
- ])
-});
-pub static TURTLE_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Seagrass]));
-pub static VILLAGER_PICKS_UP: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Bread,
- Item::Wheat,
- Item::Beetroot,
- Item::WheatSeeds,
- Item::Potato,
- Item::Carrot,
- Item::BeetrootSeeds,
- Item::TorchflowerSeeds,
- Item::PitcherPod,
- ])
-});
-pub static VILLAGER_PLANTABLE_SEEDS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WheatSeeds,
- Item::Potato,
- Item::Carrot,
- Item::BeetrootSeeds,
- Item::TorchflowerSeeds,
- Item::PitcherPod,
- ])
-});
-pub static WALLS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::CobblestoneWall,
- Item::MossyCobblestoneWall,
- Item::BrickWall,
- Item::PrismarineWall,
- Item::RedSandstoneWall,
- Item::MossyStoneBrickWall,
- Item::GraniteWall,
- Item::StoneBrickWall,
- Item::NetherBrickWall,
- Item::AndesiteWall,
- Item::RedNetherBrickWall,
- Item::SandstoneWall,
- Item::EndStoneBrickWall,
- Item::DioriteWall,
- Item::BlackstoneWall,
- Item::PolishedBlackstoneBrickWall,
- Item::PolishedBlackstoneWall,
- Item::CobbledDeepslateWall,
- Item::PolishedDeepslateWall,
- Item::DeepslateTileWall,
- Item::DeepslateBrickWall,
- Item::MudBrickWall,
- Item::TuffWall,
- Item::PolishedTuffWall,
- Item::TuffBrickWall,
- Item::ResinBrickWall,
- ])
-});
-pub static WARPED_STEMS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WarpedStem,
- Item::StrippedWarpedStem,
- Item::WarpedHyphae,
- Item::StrippedWarpedHyphae,
- ])
-});
-pub static WART_BLOCKS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::NetherWartBlock, Item::WarpedWartBlock]));
-pub static WITHER_SKELETON_DISLIKED_WEAPONS: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::Bow, Item::Crossbow]));
-pub static WOLF_FOOD: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::Cod,
- Item::CookedCod,
- Item::Salmon,
- Item::CookedSalmon,
- Item::TropicalFish,
- Item::Pufferfish,
- Item::RabbitStew,
- Item::Beef,
- Item::Chicken,
- Item::CookedBeef,
- Item::CookedChicken,
- Item::CookedMutton,
- Item::CookedPorkchop,
- Item::CookedRabbit,
- Item::Mutton,
- Item::Porkchop,
- Item::Rabbit,
- Item::RottenFlesh,
- ])
-});
-pub static WOODEN_BUTTONS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakButton,
- Item::SpruceButton,
- Item::BirchButton,
- Item::JungleButton,
- Item::AcaciaButton,
- Item::DarkOakButton,
- Item::PaleOakButton,
- Item::CrimsonButton,
- Item::WarpedButton,
- Item::MangroveButton,
- Item::BambooButton,
- Item::CherryButton,
- ])
-});
-pub static WOODEN_DOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakDoor,
- Item::SpruceDoor,
- Item::BirchDoor,
- Item::JungleDoor,
- Item::AcaciaDoor,
- Item::DarkOakDoor,
- Item::PaleOakDoor,
- Item::CrimsonDoor,
- Item::WarpedDoor,
- Item::MangroveDoor,
- Item::BambooDoor,
- Item::CherryDoor,
- ])
-});
-pub static WOODEN_FENCES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakFence,
- Item::AcaciaFence,
- Item::DarkOakFence,
- Item::PaleOakFence,
- Item::SpruceFence,
- Item::BirchFence,
- Item::JungleFence,
- Item::CrimsonFence,
- Item::WarpedFence,
- Item::MangroveFence,
- Item::BambooFence,
- Item::CherryFence,
- ])
-});
-pub static WOODEN_PRESSURE_PLATES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakPressurePlate,
- Item::SprucePressurePlate,
- Item::BirchPressurePlate,
- Item::JunglePressurePlate,
- Item::AcaciaPressurePlate,
- Item::DarkOakPressurePlate,
- Item::PaleOakPressurePlate,
- Item::CrimsonPressurePlate,
- Item::WarpedPressurePlate,
- Item::MangrovePressurePlate,
- Item::BambooPressurePlate,
- Item::CherryPressurePlate,
- ])
-});
-pub static WOODEN_SHELVES: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::AcaciaShelf,
- Item::BambooShelf,
- Item::BirchShelf,
- Item::CherryShelf,
- Item::CrimsonShelf,
- Item::DarkOakShelf,
- Item::JungleShelf,
- Item::MangroveShelf,
- Item::OakShelf,
- Item::PaleOakShelf,
- Item::SpruceShelf,
- Item::WarpedShelf,
- ])
-});
-pub static WOODEN_SLABS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakSlab,
- Item::SpruceSlab,
- Item::BirchSlab,
- Item::JungleSlab,
- Item::AcaciaSlab,
- Item::DarkOakSlab,
- Item::PaleOakSlab,
- Item::CrimsonSlab,
- Item::WarpedSlab,
- Item::MangroveSlab,
- Item::BambooSlab,
- Item::CherrySlab,
- ])
-});
-pub static WOODEN_STAIRS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakStairs,
- Item::SpruceStairs,
- Item::BirchStairs,
- Item::JungleStairs,
- Item::AcaciaStairs,
- Item::DarkOakStairs,
- Item::PaleOakStairs,
- Item::CrimsonStairs,
- Item::WarpedStairs,
- Item::MangroveStairs,
- Item::BambooStairs,
- Item::CherryStairs,
- ])
-});
-pub static WOODEN_TOOL_MATERIALS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::OakPlanks,
- Item::SprucePlanks,
- Item::BirchPlanks,
- Item::JunglePlanks,
- Item::AcaciaPlanks,
- Item::DarkOakPlanks,
- Item::PaleOakPlanks,
- Item::CrimsonPlanks,
- Item::WarpedPlanks,
- Item::MangrovePlanks,
- Item::BambooPlanks,
- Item::CherryPlanks,
- ])
-});
-pub static WOODEN_TRAPDOORS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::AcaciaTrapdoor,
- Item::BirchTrapdoor,
- Item::DarkOakTrapdoor,
- Item::PaleOakTrapdoor,
- Item::JungleTrapdoor,
- Item::OakTrapdoor,
- Item::SpruceTrapdoor,
- Item::CrimsonTrapdoor,
- Item::WarpedTrapdoor,
- Item::MangroveTrapdoor,
- Item::BambooTrapdoor,
- Item::CherryTrapdoor,
- ])
-});
-pub static WOOL: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WhiteWool,
- Item::OrangeWool,
- Item::MagentaWool,
- Item::LightBlueWool,
- Item::YellowWool,
- Item::LimeWool,
- Item::PinkWool,
- Item::GrayWool,
- Item::LightGrayWool,
- Item::CyanWool,
- Item::PurpleWool,
- Item::BlueWool,
- Item::BrownWool,
- Item::GreenWool,
- Item::RedWool,
- Item::BlackWool,
- ])
-});
-pub static WOOL_CARPETS: LazyLock<HashSet<Item>> = LazyLock::new(|| {
- HashSet::from_iter([
- Item::WhiteCarpet,
- Item::OrangeCarpet,
- Item::MagentaCarpet,
- Item::LightBlueCarpet,
- Item::YellowCarpet,
- Item::LimeCarpet,
- Item::PinkCarpet,
- Item::GrayCarpet,
- Item::LightGrayCarpet,
- Item::CyanCarpet,
- Item::PurpleCarpet,
- Item::BlueCarpet,
- Item::BrownCarpet,
- Item::GreenCarpet,
- Item::RedCarpet,
- Item::BlackCarpet,
- ])
-});
-pub static ZOMBIE_HORSE_FOOD: LazyLock<HashSet<Item>> =
- LazyLock::new(|| HashSet::from_iter([Item::RedMushroom]));
+pub static ACACIA_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::AcaciaLog,
+ ItemKind::StrippedAcaciaLog,
+ ItemKind::StrippedAcaciaWood,
+ ItemKind::AcaciaWood,
+ ])
+});
+pub static ANVIL: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Anvil,
+ ItemKind::ChippedAnvil,
+ ItemKind::DamagedAnvil,
+ ])
+});
+pub static ARMADILLO_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::SpiderEye]));
+pub static ARROWS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Arrow,
+ ItemKind::SpectralArrow,
+ ItemKind::TippedArrow,
+ ])
+});
+pub static AXES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenAxe,
+ ItemKind::CopperAxe,
+ ItemKind::StoneAxe,
+ ItemKind::GoldenAxe,
+ ItemKind::IronAxe,
+ ItemKind::DiamondAxe,
+ ItemKind::NetheriteAxe,
+ ])
+});
+pub static AXOLOTL_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::TropicalFishBucket]));
+pub static BAMBOO_BLOCKS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::BambooBlock, ItemKind::StrippedBambooBlock]));
+pub static BANNERS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteBanner,
+ ItemKind::OrangeBanner,
+ ItemKind::MagentaBanner,
+ ItemKind::LightBlueBanner,
+ ItemKind::YellowBanner,
+ ItemKind::LimeBanner,
+ ItemKind::PinkBanner,
+ ItemKind::GrayBanner,
+ ItemKind::LightGrayBanner,
+ ItemKind::CyanBanner,
+ ItemKind::PurpleBanner,
+ ItemKind::BlueBanner,
+ ItemKind::BrownBanner,
+ ItemKind::GreenBanner,
+ ItemKind::RedBanner,
+ ItemKind::BlackBanner,
+ ])
+});
+pub static BARS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::IronBars,
+ ItemKind::CopperBars,
+ ItemKind::ExposedCopperBars,
+ ItemKind::WeatheredCopperBars,
+ ItemKind::OxidizedCopperBars,
+ ItemKind::WaxedCopperBars,
+ ItemKind::WaxedExposedCopperBars,
+ ItemKind::WaxedWeatheredCopperBars,
+ ItemKind::WaxedOxidizedCopperBars,
+ ])
+});
+pub static BEACON_PAYMENT_ITEMS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Diamond,
+ ItemKind::Emerald,
+ ItemKind::IronIngot,
+ ItemKind::GoldIngot,
+ ItemKind::NetheriteIngot,
+ ])
+});
+pub static BEDS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteBed,
+ ItemKind::OrangeBed,
+ ItemKind::MagentaBed,
+ ItemKind::LightBlueBed,
+ ItemKind::YellowBed,
+ ItemKind::LimeBed,
+ ItemKind::PinkBed,
+ ItemKind::GrayBed,
+ ItemKind::LightGrayBed,
+ ItemKind::CyanBed,
+ ItemKind::PurpleBed,
+ ItemKind::BlueBed,
+ ItemKind::BrownBed,
+ ItemKind::GreenBed,
+ ItemKind::RedBed,
+ ItemKind::BlackBed,
+ ])
+});
+pub static BEE_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::MangrovePropagule,
+ ItemKind::CherryLeaves,
+ ItemKind::FloweringAzaleaLeaves,
+ ItemKind::FloweringAzalea,
+ ItemKind::Dandelion,
+ ItemKind::OpenEyeblossom,
+ ItemKind::Poppy,
+ ItemKind::BlueOrchid,
+ ItemKind::Allium,
+ ItemKind::AzureBluet,
+ ItemKind::RedTulip,
+ ItemKind::OrangeTulip,
+ ItemKind::WhiteTulip,
+ ItemKind::PinkTulip,
+ ItemKind::OxeyeDaisy,
+ ItemKind::Cornflower,
+ ItemKind::LilyOfTheValley,
+ ItemKind::WitherRose,
+ ItemKind::Torchflower,
+ ItemKind::PitcherPlant,
+ ItemKind::SporeBlossom,
+ ItemKind::PinkPetals,
+ ItemKind::Wildflowers,
+ ItemKind::ChorusFlower,
+ ItemKind::CactusFlower,
+ ItemKind::Sunflower,
+ ItemKind::Lilac,
+ ItemKind::RoseBush,
+ ItemKind::Peony,
+ ])
+});
+pub static BIRCH_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::BirchLog,
+ ItemKind::StrippedBirchLog,
+ ItemKind::StrippedBirchWood,
+ ItemKind::BirchWood,
+ ])
+});
+pub static BOATS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakBoat,
+ ItemKind::OakChestBoat,
+ ItemKind::SpruceBoat,
+ ItemKind::SpruceChestBoat,
+ ItemKind::BirchBoat,
+ ItemKind::BirchChestBoat,
+ ItemKind::JungleBoat,
+ ItemKind::JungleChestBoat,
+ ItemKind::AcaciaBoat,
+ ItemKind::AcaciaChestBoat,
+ ItemKind::CherryBoat,
+ ItemKind::CherryChestBoat,
+ ItemKind::DarkOakBoat,
+ ItemKind::DarkOakChestBoat,
+ ItemKind::PaleOakBoat,
+ ItemKind::PaleOakChestBoat,
+ ItemKind::MangroveBoat,
+ ItemKind::MangroveChestBoat,
+ ItemKind::BambooRaft,
+ ItemKind::BambooChestRaft,
+ ])
+});
+pub static BOOK_CLONING_TARGET: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::WritableBook]));
+pub static BOOKSHELF_BOOKS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Book,
+ ItemKind::WritableBook,
+ ItemKind::WrittenBook,
+ ItemKind::EnchantedBook,
+ ItemKind::KnowledgeBook,
+ ])
+});
+pub static BREAKS_DECORATED_POTS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::WoodenShovel,
+ ItemKind::WoodenPickaxe,
+ ItemKind::WoodenAxe,
+ ItemKind::WoodenHoe,
+ ItemKind::CopperSword,
+ ItemKind::CopperShovel,
+ ItemKind::CopperPickaxe,
+ ItemKind::CopperAxe,
+ ItemKind::CopperHoe,
+ ItemKind::StoneSword,
+ ItemKind::StoneShovel,
+ ItemKind::StonePickaxe,
+ ItemKind::StoneAxe,
+ ItemKind::StoneHoe,
+ ItemKind::GoldenSword,
+ ItemKind::GoldenShovel,
+ ItemKind::GoldenPickaxe,
+ ItemKind::GoldenAxe,
+ ItemKind::GoldenHoe,
+ ItemKind::IronSword,
+ ItemKind::IronShovel,
+ ItemKind::IronPickaxe,
+ ItemKind::IronAxe,
+ ItemKind::IronHoe,
+ ItemKind::DiamondSword,
+ ItemKind::DiamondShovel,
+ ItemKind::DiamondPickaxe,
+ ItemKind::DiamondAxe,
+ ItemKind::DiamondHoe,
+ ItemKind::NetheriteSword,
+ ItemKind::NetheriteShovel,
+ ItemKind::NetheritePickaxe,
+ ItemKind::NetheriteAxe,
+ ItemKind::NetheriteHoe,
+ ItemKind::Mace,
+ ItemKind::Trident,
+ ])
+});
+pub static BREWING_FUEL: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::BlazePowder]));
+pub static BUNDLES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Bundle,
+ ItemKind::WhiteBundle,
+ ItemKind::OrangeBundle,
+ ItemKind::MagentaBundle,
+ ItemKind::LightBlueBundle,
+ ItemKind::YellowBundle,
+ ItemKind::LimeBundle,
+ ItemKind::PinkBundle,
+ ItemKind::GrayBundle,
+ ItemKind::LightGrayBundle,
+ ItemKind::CyanBundle,
+ ItemKind::PurpleBundle,
+ ItemKind::BlueBundle,
+ ItemKind::BrownBundle,
+ ItemKind::GreenBundle,
+ ItemKind::RedBundle,
+ ItemKind::BlackBundle,
+ ])
+});
+pub static BUTTONS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::StoneButton,
+ ItemKind::PolishedBlackstoneButton,
+ ItemKind::OakButton,
+ ItemKind::SpruceButton,
+ ItemKind::BirchButton,
+ ItemKind::JungleButton,
+ ItemKind::AcaciaButton,
+ ItemKind::CherryButton,
+ ItemKind::DarkOakButton,
+ ItemKind::PaleOakButton,
+ ItemKind::MangroveButton,
+ ItemKind::BambooButton,
+ ItemKind::CrimsonButton,
+ ItemKind::WarpedButton,
+ ])
+});
+pub static CAMEL_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Cactus]));
+pub static CAMEL_HUSK_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::RabbitFoot]));
+pub static CANDLES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Candle,
+ ItemKind::WhiteCandle,
+ ItemKind::OrangeCandle,
+ ItemKind::MagentaCandle,
+ ItemKind::LightBlueCandle,
+ ItemKind::YellowCandle,
+ ItemKind::LimeCandle,
+ ItemKind::PinkCandle,
+ ItemKind::GrayCandle,
+ ItemKind::LightGrayCandle,
+ ItemKind::CyanCandle,
+ ItemKind::PurpleCandle,
+ ItemKind::BlueCandle,
+ ItemKind::BrownCandle,
+ ItemKind::GreenCandle,
+ ItemKind::RedCandle,
+ ItemKind::BlackCandle,
+ ])
+});
+pub static CAT_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Cod, ItemKind::Salmon]));
+pub static CHAINS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::IronChain,
+ ItemKind::CopperChain,
+ ItemKind::ExposedCopperChain,
+ ItemKind::WeatheredCopperChain,
+ ItemKind::OxidizedCopperChain,
+ ItemKind::WaxedCopperChain,
+ ItemKind::WaxedExposedCopperChain,
+ ItemKind::WaxedWeatheredCopperChain,
+ ItemKind::WaxedOxidizedCopperChain,
+ ])
+});
+pub static CHERRY_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CherryLog,
+ ItemKind::StrippedCherryLog,
+ ItemKind::StrippedCherryWood,
+ ItemKind::CherryWood,
+ ])
+});
+pub static CHEST_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherChestplate,
+ ItemKind::CopperChestplate,
+ ItemKind::ChainmailChestplate,
+ ItemKind::IronChestplate,
+ ItemKind::DiamondChestplate,
+ ItemKind::GoldenChestplate,
+ ItemKind::NetheriteChestplate,
+ ])
+});
+pub static CHEST_BOATS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakChestBoat,
+ ItemKind::SpruceChestBoat,
+ ItemKind::BirchChestBoat,
+ ItemKind::JungleChestBoat,
+ ItemKind::AcaciaChestBoat,
+ ItemKind::CherryChestBoat,
+ ItemKind::DarkOakChestBoat,
+ ItemKind::PaleOakChestBoat,
+ ItemKind::MangroveChestBoat,
+ ItemKind::BambooChestRaft,
+ ])
+});
+pub static CHICKEN_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WheatSeeds,
+ ItemKind::PumpkinSeeds,
+ ItemKind::MelonSeeds,
+ ItemKind::TorchflowerSeeds,
+ ItemKind::PitcherPod,
+ ItemKind::BeetrootSeeds,
+ ])
+});
+pub static CLUSTER_MAX_HARVESTABLES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenPickaxe,
+ ItemKind::CopperPickaxe,
+ ItemKind::StonePickaxe,
+ ItemKind::GoldenPickaxe,
+ ItemKind::IronPickaxe,
+ ItemKind::DiamondPickaxe,
+ ItemKind::NetheritePickaxe,
+ ])
+});
+pub static COAL_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CoalOre, ItemKind::DeepslateCoalOre]));
+pub static COALS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Coal, ItemKind::Charcoal]));
+pub static COMPASSES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Compass, ItemKind::RecoveryCompass]));
+pub static COMPLETES_FIND_TREE_TUTORIAL: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakLog,
+ ItemKind::SpruceLog,
+ ItemKind::BirchLog,
+ ItemKind::JungleLog,
+ ItemKind::AcaciaLog,
+ ItemKind::CherryLog,
+ ItemKind::PaleOakLog,
+ ItemKind::DarkOakLog,
+ ItemKind::MangroveLog,
+ ItemKind::CrimsonStem,
+ ItemKind::WarpedStem,
+ ItemKind::StrippedOakLog,
+ ItemKind::StrippedSpruceLog,
+ ItemKind::StrippedBirchLog,
+ ItemKind::StrippedJungleLog,
+ ItemKind::StrippedAcaciaLog,
+ ItemKind::StrippedCherryLog,
+ ItemKind::StrippedDarkOakLog,
+ ItemKind::StrippedPaleOakLog,
+ ItemKind::StrippedMangroveLog,
+ ItemKind::StrippedCrimsonStem,
+ ItemKind::StrippedWarpedStem,
+ ItemKind::StrippedOakWood,
+ ItemKind::StrippedSpruceWood,
+ ItemKind::StrippedBirchWood,
+ ItemKind::StrippedJungleWood,
+ ItemKind::StrippedAcaciaWood,
+ ItemKind::StrippedCherryWood,
+ ItemKind::StrippedDarkOakWood,
+ ItemKind::StrippedPaleOakWood,
+ ItemKind::StrippedMangroveWood,
+ ItemKind::StrippedCrimsonHyphae,
+ ItemKind::StrippedWarpedHyphae,
+ ItemKind::OakWood,
+ ItemKind::SpruceWood,
+ ItemKind::BirchWood,
+ ItemKind::JungleWood,
+ ItemKind::AcaciaWood,
+ ItemKind::CherryWood,
+ ItemKind::PaleOakWood,
+ ItemKind::DarkOakWood,
+ ItemKind::MangroveWood,
+ ItemKind::CrimsonHyphae,
+ ItemKind::WarpedHyphae,
+ ItemKind::OakLeaves,
+ ItemKind::SpruceLeaves,
+ ItemKind::BirchLeaves,
+ ItemKind::JungleLeaves,
+ ItemKind::AcaciaLeaves,
+ ItemKind::CherryLeaves,
+ ItemKind::DarkOakLeaves,
+ ItemKind::PaleOakLeaves,
+ ItemKind::MangroveLeaves,
+ ItemKind::AzaleaLeaves,
+ ItemKind::FloweringAzaleaLeaves,
+ ItemKind::NetherWartBlock,
+ ItemKind::WarpedWartBlock,
+ ])
+});
+pub static COPPER: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CopperBlock,
+ ItemKind::ExposedCopper,
+ ItemKind::WeatheredCopper,
+ ItemKind::OxidizedCopper,
+ ItemKind::WaxedCopperBlock,
+ ItemKind::WaxedExposedCopper,
+ ItemKind::WaxedWeatheredCopper,
+ ItemKind::WaxedOxidizedCopper,
+ ])
+});
+pub static COPPER_CHESTS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CopperChest,
+ ItemKind::ExposedCopperChest,
+ ItemKind::WeatheredCopperChest,
+ ItemKind::OxidizedCopperChest,
+ ItemKind::WaxedCopperChest,
+ ItemKind::WaxedExposedCopperChest,
+ ItemKind::WaxedWeatheredCopperChest,
+ ItemKind::WaxedOxidizedCopperChest,
+ ])
+});
+pub static COPPER_GOLEM_STATUES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CopperGolemStatue,
+ ItemKind::ExposedCopperGolemStatue,
+ ItemKind::WeatheredCopperGolemStatue,
+ ItemKind::OxidizedCopperGolemStatue,
+ ItemKind::WaxedCopperGolemStatue,
+ ItemKind::WaxedExposedCopperGolemStatue,
+ ItemKind::WaxedWeatheredCopperGolemStatue,
+ ItemKind::WaxedOxidizedCopperGolemStatue,
+ ])
+});
+pub static COPPER_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CopperOre, ItemKind::DeepslateCopperOre]));
+pub static COPPER_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CopperIngot]));
+pub static COW_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Wheat]));
+pub static CREEPER_DROP_MUSIC_DISCS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::MusicDisc13,
+ ItemKind::MusicDiscCat,
+ ItemKind::MusicDiscBlocks,
+ ItemKind::MusicDiscChirp,
+ ItemKind::MusicDiscFar,
+ ItemKind::MusicDiscMall,
+ ItemKind::MusicDiscMellohi,
+ ItemKind::MusicDiscStal,
+ ItemKind::MusicDiscStrad,
+ ItemKind::MusicDiscWard,
+ ItemKind::MusicDisc11,
+ ItemKind::MusicDiscWait,
+ ])
+});
+pub static CREEPER_IGNITERS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::FlintAndSteel, ItemKind::FireCharge]));
+pub static CRIMSON_STEMS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CrimsonStem,
+ ItemKind::StrippedCrimsonStem,
+ ItemKind::StrippedCrimsonHyphae,
+ ItemKind::CrimsonHyphae,
+ ])
+});
+pub static DAMPENS_VIBRATIONS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteWool,
+ ItemKind::OrangeWool,
+ ItemKind::MagentaWool,
+ ItemKind::LightBlueWool,
+ ItemKind::YellowWool,
+ ItemKind::LimeWool,
+ ItemKind::PinkWool,
+ ItemKind::GrayWool,
+ ItemKind::LightGrayWool,
+ ItemKind::CyanWool,
+ ItemKind::PurpleWool,
+ ItemKind::BlueWool,
+ ItemKind::BrownWool,
+ ItemKind::GreenWool,
+ ItemKind::RedWool,
+ ItemKind::BlackWool,
+ ItemKind::WhiteCarpet,
+ ItemKind::OrangeCarpet,
+ ItemKind::MagentaCarpet,
+ ItemKind::LightBlueCarpet,
+ ItemKind::YellowCarpet,
+ ItemKind::LimeCarpet,
+ ItemKind::PinkCarpet,
+ ItemKind::GrayCarpet,
+ ItemKind::LightGrayCarpet,
+ ItemKind::CyanCarpet,
+ ItemKind::PurpleCarpet,
+ ItemKind::BlueCarpet,
+ ItemKind::BrownCarpet,
+ ItemKind::GreenCarpet,
+ ItemKind::RedCarpet,
+ ItemKind::BlackCarpet,
+ ])
+});
+pub static DARK_OAK_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::DarkOakLog,
+ ItemKind::StrippedDarkOakLog,
+ ItemKind::StrippedDarkOakWood,
+ ItemKind::DarkOakWood,
+ ])
+});
+pub static DECORATED_POT_INGREDIENTS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Brick,
+ ItemKind::AnglerPotterySherd,
+ ItemKind::ArcherPotterySherd,
+ ItemKind::ArmsUpPotterySherd,
+ ItemKind::BladePotterySherd,
+ ItemKind::BrewerPotterySherd,
+ ItemKind::BurnPotterySherd,
+ ItemKind::DangerPotterySherd,
+ ItemKind::ExplorerPotterySherd,
+ ItemKind::FlowPotterySherd,
+ ItemKind::FriendPotterySherd,
+ ItemKind::GusterPotterySherd,
+ ItemKind::HeartPotterySherd,
+ ItemKind::HeartbreakPotterySherd,
+ ItemKind::HowlPotterySherd,
+ ItemKind::MinerPotterySherd,
+ ItemKind::MournerPotterySherd,
+ ItemKind::PlentyPotterySherd,
+ ItemKind::PrizePotterySherd,
+ ItemKind::ScrapePotterySherd,
+ ItemKind::SheafPotterySherd,
+ ItemKind::ShelterPotterySherd,
+ ItemKind::SkullPotterySherd,
+ ItemKind::SnortPotterySherd,
+ ])
+});
+pub static DECORATED_POT_SHERDS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::AnglerPotterySherd,
+ ItemKind::ArcherPotterySherd,
+ ItemKind::ArmsUpPotterySherd,
+ ItemKind::BladePotterySherd,
+ ItemKind::BrewerPotterySherd,
+ ItemKind::BurnPotterySherd,
+ ItemKind::DangerPotterySherd,
+ ItemKind::ExplorerPotterySherd,
+ ItemKind::FlowPotterySherd,
+ ItemKind::FriendPotterySherd,
+ ItemKind::GusterPotterySherd,
+ ItemKind::HeartPotterySherd,
+ ItemKind::HeartbreakPotterySherd,
+ ItemKind::HowlPotterySherd,
+ ItemKind::MinerPotterySherd,
+ ItemKind::MournerPotterySherd,
+ ItemKind::PlentyPotterySherd,
+ ItemKind::PrizePotterySherd,
+ ItemKind::ScrapePotterySherd,
+ ItemKind::SheafPotterySherd,
+ ItemKind::ShelterPotterySherd,
+ ItemKind::SkullPotterySherd,
+ ItemKind::SnortPotterySherd,
+ ])
+});
+pub static DIAMOND_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::DiamondOre, ItemKind::DeepslateDiamondOre]));
+pub static DIAMOND_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Diamond]));
+pub static DIRT: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::GrassBlock,
+ ItemKind::Dirt,
+ ItemKind::CoarseDirt,
+ ItemKind::Podzol,
+ ItemKind::RootedDirt,
+ ItemKind::Mud,
+ ItemKind::MuddyMangroveRoots,
+ ItemKind::MossBlock,
+ ItemKind::PaleMossBlock,
+ ItemKind::Mycelium,
+ ])
+});
+pub static DOORS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::IronDoor,
+ ItemKind::OakDoor,
+ ItemKind::SpruceDoor,
+ ItemKind::BirchDoor,
+ ItemKind::JungleDoor,
+ ItemKind::AcaciaDoor,
+ ItemKind::CherryDoor,
+ ItemKind::DarkOakDoor,
+ ItemKind::PaleOakDoor,
+ ItemKind::MangroveDoor,
+ ItemKind::BambooDoor,
+ ItemKind::CrimsonDoor,
+ ItemKind::WarpedDoor,
+ ItemKind::CopperDoor,
+ ItemKind::ExposedCopperDoor,
+ ItemKind::WeatheredCopperDoor,
+ ItemKind::OxidizedCopperDoor,
+ ItemKind::WaxedCopperDoor,
+ ItemKind::WaxedExposedCopperDoor,
+ ItemKind::WaxedWeatheredCopperDoor,
+ ItemKind::WaxedOxidizedCopperDoor,
+ ])
+});
+pub static DROWNED_PREFERRED_WEAPONS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Trident]));
+pub static DUPLICATES_ALLAYS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::AmethystShard]));
+pub static DYEABLE: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WolfArmor,
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::LeatherHorseArmor,
+ ])
+});
+pub static EGGS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Egg, ItemKind::BlueEgg, ItemKind::BrownEgg]));
+pub static EMERALD_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::EmeraldOre, ItemKind::DeepslateEmeraldOre]));
+pub static ENCHANTABLE_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TurtleHelmet,
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::CopperHelmet,
+ ItemKind::CopperChestplate,
+ ItemKind::CopperLeggings,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailHelmet,
+ ItemKind::ChainmailChestplate,
+ ItemKind::ChainmailLeggings,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronHelmet,
+ ItemKind::IronChestplate,
+ ItemKind::IronLeggings,
+ ItemKind::IronBoots,
+ ItemKind::DiamondHelmet,
+ ItemKind::DiamondChestplate,
+ ItemKind::DiamondLeggings,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteHelmet,
+ ItemKind::NetheriteChestplate,
+ ItemKind::NetheriteLeggings,
+ ItemKind::NetheriteBoots,
+ ])
+});
+pub static ENCHANTABLE_BOW: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Bow]));
+pub static ENCHANTABLE_CHEST_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherChestplate,
+ ItemKind::CopperChestplate,
+ ItemKind::ChainmailChestplate,
+ ItemKind::IronChestplate,
+ ItemKind::DiamondChestplate,
+ ItemKind::GoldenChestplate,
+ ItemKind::NetheriteChestplate,
+ ])
+});
+pub static ENCHANTABLE_CROSSBOW: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Crossbow]));
+pub static ENCHANTABLE_DURABILITY: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CarrotOnAStick,
+ ItemKind::WarpedFungusOnAStick,
+ ItemKind::Elytra,
+ ItemKind::TurtleHelmet,
+ ItemKind::FlintAndSteel,
+ ItemKind::Bow,
+ ItemKind::WoodenSword,
+ ItemKind::WoodenShovel,
+ ItemKind::WoodenPickaxe,
+ ItemKind::WoodenAxe,
+ ItemKind::WoodenHoe,
+ ItemKind::CopperSword,
+ ItemKind::CopperShovel,
+ ItemKind::CopperPickaxe,
+ ItemKind::CopperAxe,
+ ItemKind::CopperHoe,
+ ItemKind::StoneSword,
+ ItemKind::StoneShovel,
+ ItemKind::StonePickaxe,
+ ItemKind::StoneAxe,
+ ItemKind::StoneHoe,
+ ItemKind::GoldenSword,
+ ItemKind::GoldenShovel,
+ ItemKind::GoldenPickaxe,
+ ItemKind::GoldenAxe,
+ ItemKind::GoldenHoe,
+ ItemKind::IronSword,
+ ItemKind::IronShovel,
+ ItemKind::IronPickaxe,
+ ItemKind::IronAxe,
+ ItemKind::IronHoe,
+ ItemKind::DiamondSword,
+ ItemKind::DiamondShovel,
+ ItemKind::DiamondPickaxe,
+ ItemKind::DiamondAxe,
+ ItemKind::DiamondHoe,
+ ItemKind::NetheriteSword,
+ ItemKind::NetheriteShovel,
+ ItemKind::NetheritePickaxe,
+ ItemKind::NetheriteAxe,
+ ItemKind::NetheriteHoe,
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::CopperHelmet,
+ ItemKind::CopperChestplate,
+ ItemKind::CopperLeggings,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailHelmet,
+ ItemKind::ChainmailChestplate,
+ ItemKind::ChainmailLeggings,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronHelmet,
+ ItemKind::IronChestplate,
+ ItemKind::IronLeggings,
+ ItemKind::IronBoots,
+ ItemKind::DiamondHelmet,
+ ItemKind::DiamondChestplate,
+ ItemKind::DiamondLeggings,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteHelmet,
+ ItemKind::NetheriteChestplate,
+ ItemKind::NetheriteLeggings,
+ ItemKind::NetheriteBoots,
+ ItemKind::FishingRod,
+ ItemKind::Shears,
+ ItemKind::Mace,
+ ItemKind::Shield,
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ItemKind::Trident,
+ ItemKind::Crossbow,
+ ItemKind::Brush,
+ ])
+});
+pub static ENCHANTABLE_EQUIPPABLE: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CarvedPumpkin,
+ ItemKind::Elytra,
+ ItemKind::TurtleHelmet,
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::CopperHelmet,
+ ItemKind::CopperChestplate,
+ ItemKind::CopperLeggings,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailHelmet,
+ ItemKind::ChainmailChestplate,
+ ItemKind::ChainmailLeggings,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronHelmet,
+ ItemKind::IronChestplate,
+ ItemKind::IronLeggings,
+ ItemKind::IronBoots,
+ ItemKind::DiamondHelmet,
+ ItemKind::DiamondChestplate,
+ ItemKind::DiamondLeggings,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteHelmet,
+ ItemKind::NetheriteChestplate,
+ ItemKind::NetheriteLeggings,
+ ItemKind::NetheriteBoots,
+ ItemKind::SkeletonSkull,
+ ItemKind::WitherSkeletonSkull,
+ ItemKind::PlayerHead,
+ ItemKind::ZombieHead,
+ ItemKind::CreeperHead,
+ ItemKind::DragonHead,
+ ItemKind::PiglinHead,
+ ])
+});
+pub static ENCHANTABLE_FIRE_ASPECT: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::CopperSword,
+ ItemKind::StoneSword,
+ ItemKind::GoldenSword,
+ ItemKind::IronSword,
+ ItemKind::DiamondSword,
+ ItemKind::NetheriteSword,
+ ItemKind::Mace,
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ])
+});
+pub static ENCHANTABLE_FISHING: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::FishingRod]));
+pub static ENCHANTABLE_FOOT_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherBoots,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronBoots,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteBoots,
+ ])
+});
+pub static ENCHANTABLE_HEAD_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TurtleHelmet,
+ ItemKind::LeatherHelmet,
+ ItemKind::CopperHelmet,
+ ItemKind::ChainmailHelmet,
+ ItemKind::IronHelmet,
+ ItemKind::DiamondHelmet,
+ ItemKind::GoldenHelmet,
+ ItemKind::NetheriteHelmet,
+ ])
+});
+pub static ENCHANTABLE_LEG_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherLeggings,
+ ItemKind::CopperLeggings,
+ ItemKind::ChainmailLeggings,
+ ItemKind::IronLeggings,
+ ItemKind::DiamondLeggings,
+ ItemKind::GoldenLeggings,
+ ItemKind::NetheriteLeggings,
+ ])
+});
+pub static ENCHANTABLE_LUNGE: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ])
+});
+pub static ENCHANTABLE_MACE: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Mace]));
+pub static ENCHANTABLE_MELEE_WEAPON: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::CopperSword,
+ ItemKind::StoneSword,
+ ItemKind::GoldenSword,
+ ItemKind::IronSword,
+ ItemKind::DiamondSword,
+ ItemKind::NetheriteSword,
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ])
+});
+pub static ENCHANTABLE_MINING: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenShovel,
+ ItemKind::WoodenPickaxe,
+ ItemKind::WoodenAxe,
+ ItemKind::WoodenHoe,
+ ItemKind::CopperShovel,
+ ItemKind::CopperPickaxe,
+ ItemKind::CopperAxe,
+ ItemKind::CopperHoe,
+ ItemKind::StoneShovel,
+ ItemKind::StonePickaxe,
+ ItemKind::StoneAxe,
+ ItemKind::StoneHoe,
+ ItemKind::GoldenShovel,
+ ItemKind::GoldenPickaxe,
+ ItemKind::GoldenAxe,
+ ItemKind::GoldenHoe,
+ ItemKind::IronShovel,
+ ItemKind::IronPickaxe,
+ ItemKind::IronAxe,
+ ItemKind::IronHoe,
+ ItemKind::DiamondShovel,
+ ItemKind::DiamondPickaxe,
+ ItemKind::DiamondAxe,
+ ItemKind::DiamondHoe,
+ ItemKind::NetheriteShovel,
+ ItemKind::NetheritePickaxe,
+ ItemKind::NetheriteAxe,
+ ItemKind::NetheriteHoe,
+ ItemKind::Shears,
+ ])
+});
+pub static ENCHANTABLE_MINING_LOOT: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenShovel,
+ ItemKind::WoodenPickaxe,
+ ItemKind::WoodenAxe,
+ ItemKind::WoodenHoe,
+ ItemKind::CopperShovel,
+ ItemKind::CopperPickaxe,
+ ItemKind::CopperAxe,
+ ItemKind::CopperHoe,
+ ItemKind::StoneShovel,
+ ItemKind::StonePickaxe,
+ ItemKind::StoneAxe,
+ ItemKind::StoneHoe,
+ ItemKind::GoldenShovel,
+ ItemKind::GoldenPickaxe,
+ ItemKind::GoldenAxe,
+ ItemKind::GoldenHoe,
+ ItemKind::IronShovel,
+ ItemKind::IronPickaxe,
+ ItemKind::IronAxe,
+ ItemKind::IronHoe,
+ ItemKind::DiamondShovel,
+ ItemKind::DiamondPickaxe,
+ ItemKind::DiamondAxe,
+ ItemKind::DiamondHoe,
+ ItemKind::NetheriteShovel,
+ ItemKind::NetheritePickaxe,
+ ItemKind::NetheriteAxe,
+ ItemKind::NetheriteHoe,
+ ])
+});
+pub static ENCHANTABLE_SHARP_WEAPON: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::WoodenAxe,
+ ItemKind::CopperSword,
+ ItemKind::CopperAxe,
+ ItemKind::StoneSword,
+ ItemKind::StoneAxe,
+ ItemKind::GoldenSword,
+ ItemKind::GoldenAxe,
+ ItemKind::IronSword,
+ ItemKind::IronAxe,
+ ItemKind::DiamondSword,
+ ItemKind::DiamondAxe,
+ ItemKind::NetheriteSword,
+ ItemKind::NetheriteAxe,
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ])
+});
+pub static ENCHANTABLE_SWEEPING: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::CopperSword,
+ ItemKind::StoneSword,
+ ItemKind::GoldenSword,
+ ItemKind::IronSword,
+ ItemKind::DiamondSword,
+ ItemKind::NetheriteSword,
+ ])
+});
+pub static ENCHANTABLE_TRIDENT: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Trident]));
+pub static ENCHANTABLE_VANISHING: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CarvedPumpkin,
+ ItemKind::CarrotOnAStick,
+ ItemKind::WarpedFungusOnAStick,
+ ItemKind::Elytra,
+ ItemKind::TurtleHelmet,
+ ItemKind::FlintAndSteel,
+ ItemKind::Bow,
+ ItemKind::WoodenSword,
+ ItemKind::WoodenShovel,
+ ItemKind::WoodenPickaxe,
+ ItemKind::WoodenAxe,
+ ItemKind::WoodenHoe,
+ ItemKind::CopperSword,
+ ItemKind::CopperShovel,
+ ItemKind::CopperPickaxe,
+ ItemKind::CopperAxe,
+ ItemKind::CopperHoe,
+ ItemKind::StoneSword,
+ ItemKind::StoneShovel,
+ ItemKind::StonePickaxe,
+ ItemKind::StoneAxe,
+ ItemKind::StoneHoe,
+ ItemKind::GoldenSword,
+ ItemKind::GoldenShovel,
+ ItemKind::GoldenPickaxe,
+ ItemKind::GoldenAxe,
+ ItemKind::GoldenHoe,
+ ItemKind::IronSword,
+ ItemKind::IronShovel,
+ ItemKind::IronPickaxe,
+ ItemKind::IronAxe,
+ ItemKind::IronHoe,
+ ItemKind::DiamondSword,
+ ItemKind::DiamondShovel,
+ ItemKind::DiamondPickaxe,
+ ItemKind::DiamondAxe,
+ ItemKind::DiamondHoe,
+ ItemKind::NetheriteSword,
+ ItemKind::NetheriteShovel,
+ ItemKind::NetheritePickaxe,
+ ItemKind::NetheriteAxe,
+ ItemKind::NetheriteHoe,
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::CopperHelmet,
+ ItemKind::CopperChestplate,
+ ItemKind::CopperLeggings,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailHelmet,
+ ItemKind::ChainmailChestplate,
+ ItemKind::ChainmailLeggings,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronHelmet,
+ ItemKind::IronChestplate,
+ ItemKind::IronLeggings,
+ ItemKind::IronBoots,
+ ItemKind::DiamondHelmet,
+ ItemKind::DiamondChestplate,
+ ItemKind::DiamondLeggings,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteHelmet,
+ ItemKind::NetheriteChestplate,
+ ItemKind::NetheriteLeggings,
+ ItemKind::NetheriteBoots,
+ ItemKind::Compass,
+ ItemKind::FishingRod,
+ ItemKind::Shears,
+ ItemKind::Mace,
+ ItemKind::SkeletonSkull,
+ ItemKind::WitherSkeletonSkull,
+ ItemKind::PlayerHead,
+ ItemKind::ZombieHead,
+ ItemKind::CreeperHead,
+ ItemKind::DragonHead,
+ ItemKind::PiglinHead,
+ ItemKind::Shield,
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ItemKind::Trident,
+ ItemKind::Crossbow,
+ ItemKind::Brush,
+ ])
+});
+pub static ENCHANTABLE_WEAPON: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::WoodenAxe,
+ ItemKind::CopperSword,
+ ItemKind::CopperAxe,
+ ItemKind::StoneSword,
+ ItemKind::StoneAxe,
+ ItemKind::GoldenSword,
+ ItemKind::GoldenAxe,
+ ItemKind::IronSword,
+ ItemKind::IronAxe,
+ ItemKind::DiamondSword,
+ ItemKind::DiamondAxe,
+ ItemKind::NetheriteSword,
+ ItemKind::NetheriteAxe,
+ ItemKind::Mace,
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ])
+});
+pub static FENCE_GATES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakFenceGate,
+ ItemKind::SpruceFenceGate,
+ ItemKind::BirchFenceGate,
+ ItemKind::JungleFenceGate,
+ ItemKind::AcaciaFenceGate,
+ ItemKind::CherryFenceGate,
+ ItemKind::DarkOakFenceGate,
+ ItemKind::PaleOakFenceGate,
+ ItemKind::MangroveFenceGate,
+ ItemKind::BambooFenceGate,
+ ItemKind::CrimsonFenceGate,
+ ItemKind::WarpedFenceGate,
+ ])
+});
+pub static FENCES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakFence,
+ ItemKind::SpruceFence,
+ ItemKind::BirchFence,
+ ItemKind::JungleFence,
+ ItemKind::AcaciaFence,
+ ItemKind::CherryFence,
+ ItemKind::DarkOakFence,
+ ItemKind::PaleOakFence,
+ ItemKind::MangroveFence,
+ ItemKind::BambooFence,
+ ItemKind::CrimsonFence,
+ ItemKind::WarpedFence,
+ ItemKind::NetherBrickFence,
+ ])
+});
+pub static FISHES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Cod,
+ ItemKind::Salmon,
+ ItemKind::TropicalFish,
+ ItemKind::Pufferfish,
+ ItemKind::CookedCod,
+ ItemKind::CookedSalmon,
+ ])
+});
+pub static FLOWERS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::MangrovePropagule,
+ ItemKind::CherryLeaves,
+ ItemKind::FloweringAzaleaLeaves,
+ ItemKind::FloweringAzalea,
+ ItemKind::Dandelion,
+ ItemKind::OpenEyeblossom,
+ ItemKind::ClosedEyeblossom,
+ ItemKind::Poppy,
+ ItemKind::BlueOrchid,
+ ItemKind::Allium,
+ ItemKind::AzureBluet,
+ ItemKind::RedTulip,
+ ItemKind::OrangeTulip,
+ ItemKind::WhiteTulip,
+ ItemKind::PinkTulip,
+ ItemKind::OxeyeDaisy,
+ ItemKind::Cornflower,
+ ItemKind::LilyOfTheValley,
+ ItemKind::WitherRose,
+ ItemKind::Torchflower,
+ ItemKind::PitcherPlant,
+ ItemKind::SporeBlossom,
+ ItemKind::PinkPetals,
+ ItemKind::Wildflowers,
+ ItemKind::ChorusFlower,
+ ItemKind::CactusFlower,
+ ItemKind::Sunflower,
+ ItemKind::Lilac,
+ ItemKind::RoseBush,
+ ItemKind::Peony,
+ ])
+});
+pub static FOOT_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherBoots,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronBoots,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteBoots,
+ ])
+});
+pub static FOX_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::SweetBerries, ItemKind::GlowBerries]));
+pub static FREEZE_IMMUNE_WEARABLES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::LeatherHorseArmor,
+ ])
+});
+pub static FROG_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::SlimeBall]));
+pub static FURNACE_MINECART_FUEL: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Coal, ItemKind::Charcoal]));
+pub static GAZE_DISGUISE_EQUIPMENT: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CarvedPumpkin]));
+pub static GOAT_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Wheat]));
+pub static GOLD_ORES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::GoldOre,
+ ItemKind::DeepslateGoldOre,
+ ItemKind::NetherGoldOre,
+ ])
+});
+pub static GOLD_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::GoldIngot]));
+pub static HANGING_SIGNS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakHangingSign,
+ ItemKind::SpruceHangingSign,
+ ItemKind::BirchHangingSign,
+ ItemKind::JungleHangingSign,
+ ItemKind::AcaciaHangingSign,
+ ItemKind::CherryHangingSign,
+ ItemKind::DarkOakHangingSign,
+ ItemKind::PaleOakHangingSign,
+ ItemKind::MangroveHangingSign,
+ ItemKind::BambooHangingSign,
+ ItemKind::CrimsonHangingSign,
+ ItemKind::WarpedHangingSign,
+ ])
+});
+pub static HAPPY_GHAST_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Snowball]));
+pub static HAPPY_GHAST_TEMPT_ITEMS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteHarness,
+ ItemKind::OrangeHarness,
+ ItemKind::MagentaHarness,
+ ItemKind::LightBlueHarness,
+ ItemKind::YellowHarness,
+ ItemKind::LimeHarness,
+ ItemKind::PinkHarness,
+ ItemKind::GrayHarness,
+ ItemKind::LightGrayHarness,
+ ItemKind::CyanHarness,
+ ItemKind::PurpleHarness,
+ ItemKind::BlueHarness,
+ ItemKind::BrownHarness,
+ ItemKind::GreenHarness,
+ ItemKind::RedHarness,
+ ItemKind::BlackHarness,
+ ItemKind::Snowball,
+ ])
+});
+pub static HARNESSES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteHarness,
+ ItemKind::OrangeHarness,
+ ItemKind::MagentaHarness,
+ ItemKind::LightBlueHarness,
+ ItemKind::YellowHarness,
+ ItemKind::LimeHarness,
+ ItemKind::PinkHarness,
+ ItemKind::GrayHarness,
+ ItemKind::LightGrayHarness,
+ ItemKind::CyanHarness,
+ ItemKind::PurpleHarness,
+ ItemKind::BlueHarness,
+ ItemKind::BrownHarness,
+ ItemKind::GreenHarness,
+ ItemKind::RedHarness,
+ ItemKind::BlackHarness,
+ ])
+});
+pub static HEAD_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TurtleHelmet,
+ ItemKind::LeatherHelmet,
+ ItemKind::CopperHelmet,
+ ItemKind::ChainmailHelmet,
+ ItemKind::IronHelmet,
+ ItemKind::DiamondHelmet,
+ ItemKind::GoldenHelmet,
+ ItemKind::NetheriteHelmet,
+ ])
+});
+pub static HOES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenHoe,
+ ItemKind::CopperHoe,
+ ItemKind::StoneHoe,
+ ItemKind::GoldenHoe,
+ ItemKind::IronHoe,
+ ItemKind::DiamondHoe,
+ ItemKind::NetheriteHoe,
+ ])
+});
+pub static HOGLIN_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CrimsonFungus]));
+pub static HORSE_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::HayBlock,
+ ItemKind::Apple,
+ ItemKind::Wheat,
+ ItemKind::GoldenApple,
+ ItemKind::EnchantedGoldenApple,
+ ItemKind::Sugar,
+ ItemKind::Carrot,
+ ItemKind::GoldenCarrot,
+ ])
+});
+pub static HORSE_TEMPT_ITEMS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::GoldenApple,
+ ItemKind::EnchantedGoldenApple,
+ ItemKind::GoldenCarrot,
+ ])
+});
+pub static IGNORED_BY_PIGLIN_BABIES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Leather]));
+pub static IRON_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::IronOre, ItemKind::DeepslateIronOre]));
+pub static IRON_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::IronIngot]));
+pub static JUNGLE_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::JungleLog,
+ ItemKind::StrippedJungleLog,
+ ItemKind::StrippedJungleWood,
+ ItemKind::JungleWood,
+ ])
+});
+pub static LANTERNS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Lantern,
+ ItemKind::SoulLantern,
+ ItemKind::CopperLantern,
+ ItemKind::ExposedCopperLantern,
+ ItemKind::WeatheredCopperLantern,
+ ItemKind::OxidizedCopperLantern,
+ ItemKind::WaxedCopperLantern,
+ ItemKind::WaxedExposedCopperLantern,
+ ItemKind::WaxedWeatheredCopperLantern,
+ ItemKind::WaxedOxidizedCopperLantern,
+ ])
+});
+pub static LAPIS_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::LapisOre, ItemKind::DeepslateLapisOre]));
+pub static LEAVES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakLeaves,
+ ItemKind::SpruceLeaves,
+ ItemKind::BirchLeaves,
+ ItemKind::JungleLeaves,
+ ItemKind::AcaciaLeaves,
+ ItemKind::CherryLeaves,
+ ItemKind::DarkOakLeaves,
+ ItemKind::PaleOakLeaves,
+ ItemKind::MangroveLeaves,
+ ItemKind::AzaleaLeaves,
+ ItemKind::FloweringAzaleaLeaves,
+ ])
+});
+pub static LECTERN_BOOKS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::WritableBook, ItemKind::WrittenBook]));
+pub static LEG_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LeatherLeggings,
+ ItemKind::CopperLeggings,
+ ItemKind::ChainmailLeggings,
+ ItemKind::IronLeggings,
+ ItemKind::DiamondLeggings,
+ ItemKind::GoldenLeggings,
+ ItemKind::NetheriteLeggings,
+ ])
+});
+pub static LIGHTNING_RODS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::LightningRod,
+ ItemKind::ExposedLightningRod,
+ ItemKind::WeatheredLightningRod,
+ ItemKind::OxidizedLightningRod,
+ ItemKind::WaxedLightningRod,
+ ItemKind::WaxedExposedLightningRod,
+ ItemKind::WaxedWeatheredLightningRod,
+ ItemKind::WaxedOxidizedLightningRod,
+ ])
+});
+pub static LLAMA_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::HayBlock, ItemKind::Wheat]));
+pub static LLAMA_TEMPT_ITEMS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::HayBlock]));
+pub static LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakLog,
+ ItemKind::SpruceLog,
+ ItemKind::BirchLog,
+ ItemKind::JungleLog,
+ ItemKind::AcaciaLog,
+ ItemKind::CherryLog,
+ ItemKind::PaleOakLog,
+ ItemKind::DarkOakLog,
+ ItemKind::MangroveLog,
+ ItemKind::CrimsonStem,
+ ItemKind::WarpedStem,
+ ItemKind::StrippedOakLog,
+ ItemKind::StrippedSpruceLog,
+ ItemKind::StrippedBirchLog,
+ ItemKind::StrippedJungleLog,
+ ItemKind::StrippedAcaciaLog,
+ ItemKind::StrippedCherryLog,
+ ItemKind::StrippedDarkOakLog,
+ ItemKind::StrippedPaleOakLog,
+ ItemKind::StrippedMangroveLog,
+ ItemKind::StrippedCrimsonStem,
+ ItemKind::StrippedWarpedStem,
+ ItemKind::StrippedOakWood,
+ ItemKind::StrippedSpruceWood,
+ ItemKind::StrippedBirchWood,
+ ItemKind::StrippedJungleWood,
+ ItemKind::StrippedAcaciaWood,
+ ItemKind::StrippedCherryWood,
+ ItemKind::StrippedDarkOakWood,
+ ItemKind::StrippedPaleOakWood,
+ ItemKind::StrippedMangroveWood,
+ ItemKind::StrippedCrimsonHyphae,
+ ItemKind::StrippedWarpedHyphae,
+ ItemKind::OakWood,
+ ItemKind::SpruceWood,
+ ItemKind::BirchWood,
+ ItemKind::JungleWood,
+ ItemKind::AcaciaWood,
+ ItemKind::CherryWood,
+ ItemKind::PaleOakWood,
+ ItemKind::DarkOakWood,
+ ItemKind::MangroveWood,
+ ItemKind::CrimsonHyphae,
+ ItemKind::WarpedHyphae,
+ ])
+});
+pub static LOGS_THAT_BURN: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakLog,
+ ItemKind::SpruceLog,
+ ItemKind::BirchLog,
+ ItemKind::JungleLog,
+ ItemKind::AcaciaLog,
+ ItemKind::CherryLog,
+ ItemKind::PaleOakLog,
+ ItemKind::DarkOakLog,
+ ItemKind::MangroveLog,
+ ItemKind::StrippedOakLog,
+ ItemKind::StrippedSpruceLog,
+ ItemKind::StrippedBirchLog,
+ ItemKind::StrippedJungleLog,
+ ItemKind::StrippedAcaciaLog,
+ ItemKind::StrippedCherryLog,
+ ItemKind::StrippedDarkOakLog,
+ ItemKind::StrippedPaleOakLog,
+ ItemKind::StrippedMangroveLog,
+ ItemKind::StrippedOakWood,
+ ItemKind::StrippedSpruceWood,
+ ItemKind::StrippedBirchWood,
+ ItemKind::StrippedJungleWood,
+ ItemKind::StrippedAcaciaWood,
+ ItemKind::StrippedCherryWood,
+ ItemKind::StrippedDarkOakWood,
+ ItemKind::StrippedPaleOakWood,
+ ItemKind::StrippedMangroveWood,
+ ItemKind::OakWood,
+ ItemKind::SpruceWood,
+ ItemKind::BirchWood,
+ ItemKind::JungleWood,
+ ItemKind::AcaciaWood,
+ ItemKind::CherryWood,
+ ItemKind::PaleOakWood,
+ ItemKind::DarkOakWood,
+ ItemKind::MangroveWood,
+ ])
+});
+pub static MANGROVE_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::MangroveLog,
+ ItemKind::StrippedMangroveLog,
+ ItemKind::StrippedMangroveWood,
+ ItemKind::MangroveWood,
+ ])
+});
+pub static MAP_INVISIBILITY_EQUIPMENT: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CarvedPumpkin]));
+pub static MEAT: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Porkchop,
+ ItemKind::CookedPorkchop,
+ ItemKind::Beef,
+ ItemKind::CookedBeef,
+ ItemKind::Chicken,
+ ItemKind::CookedChicken,
+ ItemKind::RottenFlesh,
+ ItemKind::Rabbit,
+ ItemKind::CookedRabbit,
+ ItemKind::Mutton,
+ ItemKind::CookedMutton,
+ ])
+});
+pub static NAUTILUS_BUCKET_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::PufferfishBucket,
+ ItemKind::SalmonBucket,
+ ItemKind::CodBucket,
+ ItemKind::TropicalFishBucket,
+ ])
+});
+pub static NAUTILUS_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::PufferfishBucket,
+ ItemKind::SalmonBucket,
+ ItemKind::CodBucket,
+ ItemKind::TropicalFishBucket,
+ ItemKind::Cod,
+ ItemKind::Salmon,
+ ItemKind::TropicalFish,
+ ItemKind::Pufferfish,
+ ItemKind::CookedCod,
+ ItemKind::CookedSalmon,
+ ])
+});
+pub static NAUTILUS_TAMING_ITEMS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::PufferfishBucket, ItemKind::Pufferfish]));
+pub static NETHERITE_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::NetheriteIngot]));
+pub static NON_FLAMMABLE_WOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CrimsonPlanks,
+ ItemKind::WarpedPlanks,
+ ItemKind::CrimsonStem,
+ ItemKind::WarpedStem,
+ ItemKind::StrippedCrimsonStem,
+ ItemKind::StrippedWarpedStem,
+ ItemKind::StrippedCrimsonHyphae,
+ ItemKind::StrippedWarpedHyphae,
+ ItemKind::CrimsonHyphae,
+ ItemKind::WarpedHyphae,
+ ItemKind::CrimsonSlab,
+ ItemKind::WarpedSlab,
+ ItemKind::CrimsonShelf,
+ ItemKind::WarpedShelf,
+ ItemKind::CrimsonFence,
+ ItemKind::WarpedFence,
+ ItemKind::CrimsonStairs,
+ ItemKind::WarpedStairs,
+ ItemKind::CrimsonButton,
+ ItemKind::WarpedButton,
+ ItemKind::CrimsonPressurePlate,
+ ItemKind::WarpedPressurePlate,
+ ItemKind::CrimsonDoor,
+ ItemKind::WarpedDoor,
+ ItemKind::CrimsonTrapdoor,
+ ItemKind::WarpedTrapdoor,
+ ItemKind::CrimsonFenceGate,
+ ItemKind::WarpedFenceGate,
+ ItemKind::CrimsonSign,
+ ItemKind::WarpedSign,
+ ItemKind::CrimsonHangingSign,
+ ItemKind::WarpedHangingSign,
+ ])
+});
+pub static NOTEBLOCK_TOP_INSTRUMENTS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::SkeletonSkull,
+ ItemKind::WitherSkeletonSkull,
+ ItemKind::PlayerHead,
+ ItemKind::ZombieHead,
+ ItemKind::CreeperHead,
+ ItemKind::DragonHead,
+ ItemKind::PiglinHead,
+ ])
+});
+pub static OAK_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakLog,
+ ItemKind::StrippedOakLog,
+ ItemKind::StrippedOakWood,
+ ItemKind::OakWood,
+ ])
+});
+pub static OCELOT_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Cod, ItemKind::Salmon]));
+pub static PALE_OAK_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::PaleOakLog,
+ ItemKind::StrippedPaleOakLog,
+ ItemKind::StrippedPaleOakWood,
+ ItemKind::PaleOakWood,
+ ])
+});
+pub static PANDA_EATS_FROM_GROUND: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Bamboo, ItemKind::Cake]));
+pub static PANDA_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Bamboo]));
+pub static PARROT_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WheatSeeds,
+ ItemKind::PumpkinSeeds,
+ ItemKind::MelonSeeds,
+ ItemKind::TorchflowerSeeds,
+ ItemKind::PitcherPod,
+ ItemKind::BeetrootSeeds,
+ ])
+});
+pub static PARROT_POISONOUS_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Cookie]));
+pub static PICKAXES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenPickaxe,
+ ItemKind::CopperPickaxe,
+ ItemKind::StonePickaxe,
+ ItemKind::GoldenPickaxe,
+ ItemKind::IronPickaxe,
+ ItemKind::DiamondPickaxe,
+ ItemKind::NetheritePickaxe,
+ ])
+});
+pub static PIG_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![ItemKind::Carrot, ItemKind::Potato, ItemKind::Beetroot])
+});
+pub static PIGLIN_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Porkchop, ItemKind::CookedPorkchop]));
+pub static PIGLIN_LOVED: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::GoldOre,
+ ItemKind::DeepslateGoldOre,
+ ItemKind::NetherGoldOre,
+ ItemKind::RawGoldBlock,
+ ItemKind::GoldBlock,
+ ItemKind::LightWeightedPressurePlate,
+ ItemKind::RawGold,
+ ItemKind::GoldIngot,
+ ItemKind::GoldenSword,
+ ItemKind::GoldenShovel,
+ ItemKind::GoldenPickaxe,
+ ItemKind::GoldenAxe,
+ ItemKind::GoldenHoe,
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ItemKind::GoldenApple,
+ ItemKind::EnchantedGoldenApple,
+ ItemKind::Clock,
+ ItemKind::GlisteringMelonSlice,
+ ItemKind::GoldenCarrot,
+ ItemKind::GoldenHorseArmor,
+ ItemKind::GoldenSpear,
+ ItemKind::GoldenNautilusArmor,
+ ItemKind::Bell,
+ ItemKind::GildedBlackstone,
+ ])
+});
+pub static PIGLIN_PREFERRED_WEAPONS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::GoldenSpear, ItemKind::Crossbow]));
+pub static PIGLIN_REPELLENTS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::SoulTorch,
+ ItemKind::SoulLantern,
+ ItemKind::SoulCampfire,
+ ])
+});
+pub static PIGLIN_SAFE_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ])
+});
+pub static PILLAGER_PREFERRED_WEAPONS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Crossbow]));
+pub static PLANKS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakPlanks,
+ ItemKind::SprucePlanks,
+ ItemKind::BirchPlanks,
+ ItemKind::JunglePlanks,
+ ItemKind::AcaciaPlanks,
+ ItemKind::CherryPlanks,
+ ItemKind::DarkOakPlanks,
+ ItemKind::PaleOakPlanks,
+ ItemKind::MangrovePlanks,
+ ItemKind::BambooPlanks,
+ ItemKind::CrimsonPlanks,
+ ItemKind::WarpedPlanks,
+ ])
+});
+pub static RABBIT_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Dandelion,
+ ItemKind::Carrot,
+ ItemKind::GoldenCarrot,
+ ])
+});
+pub static RAILS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::PoweredRail,
+ ItemKind::DetectorRail,
+ ItemKind::Rail,
+ ItemKind::ActivatorRail,
+ ])
+});
+pub static REDSTONE_ORES: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::RedstoneOre, ItemKind::DeepslateRedstoneOre]));
+pub static REPAIRS_CHAIN_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::IronIngot]));
+pub static REPAIRS_COPPER_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::CopperIngot]));
+pub static REPAIRS_DIAMOND_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Diamond]));
+pub static REPAIRS_GOLD_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::GoldIngot]));
+pub static REPAIRS_IRON_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::IronIngot]));
+pub static REPAIRS_LEATHER_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Leather]));
+pub static REPAIRS_NETHERITE_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::NetheriteIngot]));
+pub static REPAIRS_TURTLE_HELMET: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::TurtleScute]));
+pub static REPAIRS_WOLF_ARMOR: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::ArmadilloScute]));
+pub static SAND: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Sand,
+ ItemKind::SuspiciousSand,
+ ItemKind::RedSand,
+ ])
+});
+pub static SAPLINGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakSapling,
+ ItemKind::SpruceSapling,
+ ItemKind::BirchSapling,
+ ItemKind::JungleSapling,
+ ItemKind::AcaciaSapling,
+ ItemKind::CherrySapling,
+ ItemKind::DarkOakSapling,
+ ItemKind::PaleOakSapling,
+ ItemKind::MangrovePropagule,
+ ItemKind::Azalea,
+ ItemKind::FloweringAzalea,
+ ])
+});
+pub static SHEARABLE_FROM_COPPER_GOLEM: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Poppy]));
+pub static SHEEP_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Wheat]));
+pub static SHOVELS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenShovel,
+ ItemKind::CopperShovel,
+ ItemKind::StoneShovel,
+ ItemKind::GoldenShovel,
+ ItemKind::IronShovel,
+ ItemKind::DiamondShovel,
+ ItemKind::NetheriteShovel,
+ ])
+});
+pub static SHULKER_BOXES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::ShulkerBox,
+ ItemKind::WhiteShulkerBox,
+ ItemKind::OrangeShulkerBox,
+ ItemKind::MagentaShulkerBox,
+ ItemKind::LightBlueShulkerBox,
+ ItemKind::YellowShulkerBox,
+ ItemKind::LimeShulkerBox,
+ ItemKind::PinkShulkerBox,
+ ItemKind::GrayShulkerBox,
+ ItemKind::LightGrayShulkerBox,
+ ItemKind::CyanShulkerBox,
+ ItemKind::PurpleShulkerBox,
+ ItemKind::BlueShulkerBox,
+ ItemKind::BrownShulkerBox,
+ ItemKind::GreenShulkerBox,
+ ItemKind::RedShulkerBox,
+ ItemKind::BlackShulkerBox,
+ ])
+});
+pub static SIGNS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakSign,
+ ItemKind::SpruceSign,
+ ItemKind::BirchSign,
+ ItemKind::JungleSign,
+ ItemKind::AcaciaSign,
+ ItemKind::CherrySign,
+ ItemKind::DarkOakSign,
+ ItemKind::PaleOakSign,
+ ItemKind::MangroveSign,
+ ItemKind::BambooSign,
+ ItemKind::CrimsonSign,
+ ItemKind::WarpedSign,
+ ])
+});
+pub static SKELETON_PREFERRED_WEAPONS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Bow]));
+pub static SKULLS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::SkeletonSkull,
+ ItemKind::WitherSkeletonSkull,
+ ItemKind::PlayerHead,
+ ItemKind::ZombieHead,
+ ItemKind::CreeperHead,
+ ItemKind::DragonHead,
+ ItemKind::PiglinHead,
+ ])
+});
+pub static SLABS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TuffSlab,
+ ItemKind::PolishedTuffSlab,
+ ItemKind::TuffBrickSlab,
+ ItemKind::CutCopperSlab,
+ ItemKind::ExposedCutCopperSlab,
+ ItemKind::WeatheredCutCopperSlab,
+ ItemKind::OxidizedCutCopperSlab,
+ ItemKind::WaxedCutCopperSlab,
+ ItemKind::WaxedExposedCutCopperSlab,
+ ItemKind::WaxedWeatheredCutCopperSlab,
+ ItemKind::WaxedOxidizedCutCopperSlab,
+ ItemKind::OakSlab,
+ ItemKind::SpruceSlab,
+ ItemKind::BirchSlab,
+ ItemKind::JungleSlab,
+ ItemKind::AcaciaSlab,
+ ItemKind::CherrySlab,
+ ItemKind::DarkOakSlab,
+ ItemKind::PaleOakSlab,
+ ItemKind::MangroveSlab,
+ ItemKind::BambooSlab,
+ ItemKind::BambooMosaicSlab,
+ ItemKind::CrimsonSlab,
+ ItemKind::WarpedSlab,
+ ItemKind::StoneSlab,
+ ItemKind::SmoothStoneSlab,
+ ItemKind::SandstoneSlab,
+ ItemKind::CutSandstoneSlab,
+ ItemKind::PetrifiedOakSlab,
+ ItemKind::CobblestoneSlab,
+ ItemKind::BrickSlab,
+ ItemKind::StoneBrickSlab,
+ ItemKind::MudBrickSlab,
+ ItemKind::NetherBrickSlab,
+ ItemKind::QuartzSlab,
+ ItemKind::RedSandstoneSlab,
+ ItemKind::CutRedSandstoneSlab,
+ ItemKind::PurpurSlab,
+ ItemKind::PrismarineSlab,
+ ItemKind::PrismarineBrickSlab,
+ ItemKind::DarkPrismarineSlab,
+ ItemKind::ResinBrickSlab,
+ ItemKind::PolishedGraniteSlab,
+ ItemKind::SmoothRedSandstoneSlab,
+ ItemKind::MossyStoneBrickSlab,
+ ItemKind::PolishedDioriteSlab,
+ ItemKind::MossyCobblestoneSlab,
+ ItemKind::EndStoneBrickSlab,
+ ItemKind::SmoothSandstoneSlab,
+ ItemKind::SmoothQuartzSlab,
+ ItemKind::GraniteSlab,
+ ItemKind::AndesiteSlab,
+ ItemKind::RedNetherBrickSlab,
+ ItemKind::PolishedAndesiteSlab,
+ ItemKind::DioriteSlab,
+ ItemKind::CobbledDeepslateSlab,
+ ItemKind::PolishedDeepslateSlab,
+ ItemKind::DeepslateBrickSlab,
+ ItemKind::DeepslateTileSlab,
+ ItemKind::BlackstoneSlab,
+ ItemKind::PolishedBlackstoneSlab,
+ ItemKind::PolishedBlackstoneBrickSlab,
+ ])
+});
+pub static SMALL_FLOWERS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Dandelion,
+ ItemKind::OpenEyeblossom,
+ ItemKind::ClosedEyeblossom,
+ ItemKind::Poppy,
+ ItemKind::BlueOrchid,
+ ItemKind::Allium,
+ ItemKind::AzureBluet,
+ ItemKind::RedTulip,
+ ItemKind::OrangeTulip,
+ ItemKind::WhiteTulip,
+ ItemKind::PinkTulip,
+ ItemKind::OxeyeDaisy,
+ ItemKind::Cornflower,
+ ItemKind::LilyOfTheValley,
+ ItemKind::WitherRose,
+ ItemKind::Torchflower,
+ ])
+});
+pub static SMELTS_TO_GLASS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Sand, ItemKind::RedSand]));
+pub static SNIFFER_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::TorchflowerSeeds]));
+pub static SOUL_FIRE_BASE_BLOCKS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::SoulSand, ItemKind::SoulSoil]));
+pub static SPEARS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSpear,
+ ItemKind::StoneSpear,
+ ItemKind::CopperSpear,
+ ItemKind::IronSpear,
+ ItemKind::GoldenSpear,
+ ItemKind::DiamondSpear,
+ ItemKind::NetheriteSpear,
+ ])
+});
+pub static SPRUCE_LOGS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::SpruceLog,
+ ItemKind::StrippedSpruceLog,
+ ItemKind::StrippedSpruceWood,
+ ItemKind::SpruceWood,
+ ])
+});
+pub static STAIRS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TuffStairs,
+ ItemKind::PolishedTuffStairs,
+ ItemKind::TuffBrickStairs,
+ ItemKind::CutCopperStairs,
+ ItemKind::ExposedCutCopperStairs,
+ ItemKind::WeatheredCutCopperStairs,
+ ItemKind::OxidizedCutCopperStairs,
+ ItemKind::WaxedCutCopperStairs,
+ ItemKind::WaxedExposedCutCopperStairs,
+ ItemKind::WaxedWeatheredCutCopperStairs,
+ ItemKind::WaxedOxidizedCutCopperStairs,
+ ItemKind::PurpurStairs,
+ ItemKind::CobblestoneStairs,
+ ItemKind::ResinBrickStairs,
+ ItemKind::BrickStairs,
+ ItemKind::StoneBrickStairs,
+ ItemKind::MudBrickStairs,
+ ItemKind::NetherBrickStairs,
+ ItemKind::SandstoneStairs,
+ ItemKind::OakStairs,
+ ItemKind::SpruceStairs,
+ ItemKind::BirchStairs,
+ ItemKind::JungleStairs,
+ ItemKind::AcaciaStairs,
+ ItemKind::CherryStairs,
+ ItemKind::DarkOakStairs,
+ ItemKind::PaleOakStairs,
+ ItemKind::MangroveStairs,
+ ItemKind::BambooStairs,
+ ItemKind::BambooMosaicStairs,
+ ItemKind::CrimsonStairs,
+ ItemKind::WarpedStairs,
+ ItemKind::QuartzStairs,
+ ItemKind::PrismarineStairs,
+ ItemKind::PrismarineBrickStairs,
+ ItemKind::DarkPrismarineStairs,
+ ItemKind::RedSandstoneStairs,
+ ItemKind::PolishedGraniteStairs,
+ ItemKind::SmoothRedSandstoneStairs,
+ ItemKind::MossyStoneBrickStairs,
+ ItemKind::PolishedDioriteStairs,
+ ItemKind::MossyCobblestoneStairs,
+ ItemKind::EndStoneBrickStairs,
+ ItemKind::StoneStairs,
+ ItemKind::SmoothSandstoneStairs,
+ ItemKind::SmoothQuartzStairs,
+ ItemKind::GraniteStairs,
+ ItemKind::AndesiteStairs,
+ ItemKind::RedNetherBrickStairs,
+ ItemKind::PolishedAndesiteStairs,
+ ItemKind::DioriteStairs,
+ ItemKind::CobbledDeepslateStairs,
+ ItemKind::PolishedDeepslateStairs,
+ ItemKind::DeepslateBrickStairs,
+ ItemKind::DeepslateTileStairs,
+ ItemKind::BlackstoneStairs,
+ ItemKind::PolishedBlackstoneStairs,
+ ItemKind::PolishedBlackstoneBrickStairs,
+ ])
+});
+pub static STONE_BRICKS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::StoneBricks,
+ ItemKind::MossyStoneBricks,
+ ItemKind::CrackedStoneBricks,
+ ItemKind::ChiseledStoneBricks,
+ ])
+});
+pub static STONE_BUTTONS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::StoneButton,
+ ItemKind::PolishedBlackstoneButton,
+ ])
+});
+pub static STONE_CRAFTING_MATERIALS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CobbledDeepslate,
+ ItemKind::Cobblestone,
+ ItemKind::Blackstone,
+ ])
+});
+pub static STONE_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::CobbledDeepslate,
+ ItemKind::Cobblestone,
+ ItemKind::Blackstone,
+ ])
+});
+pub static STRIDER_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::WarpedFungus]));
+pub static STRIDER_TEMPT_ITEMS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![ItemKind::WarpedFungus, ItemKind::WarpedFungusOnAStick])
+});
+pub static SWORDS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WoodenSword,
+ ItemKind::CopperSword,
+ ItemKind::StoneSword,
+ ItemKind::GoldenSword,
+ ItemKind::IronSword,
+ ItemKind::DiamondSword,
+ ItemKind::NetheriteSword,
+ ])
+});
+pub static TERRACOTTA: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteTerracotta,
+ ItemKind::OrangeTerracotta,
+ ItemKind::MagentaTerracotta,
+ ItemKind::LightBlueTerracotta,
+ ItemKind::YellowTerracotta,
+ ItemKind::LimeTerracotta,
+ ItemKind::PinkTerracotta,
+ ItemKind::GrayTerracotta,
+ ItemKind::LightGrayTerracotta,
+ ItemKind::CyanTerracotta,
+ ItemKind::PurpleTerracotta,
+ ItemKind::BlueTerracotta,
+ ItemKind::BrownTerracotta,
+ ItemKind::GreenTerracotta,
+ ItemKind::RedTerracotta,
+ ItemKind::BlackTerracotta,
+ ItemKind::Terracotta,
+ ])
+});
+pub static TRAPDOORS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::IronTrapdoor,
+ ItemKind::OakTrapdoor,
+ ItemKind::SpruceTrapdoor,
+ ItemKind::BirchTrapdoor,
+ ItemKind::JungleTrapdoor,
+ ItemKind::AcaciaTrapdoor,
+ ItemKind::CherryTrapdoor,
+ ItemKind::DarkOakTrapdoor,
+ ItemKind::PaleOakTrapdoor,
+ ItemKind::MangroveTrapdoor,
+ ItemKind::BambooTrapdoor,
+ ItemKind::CrimsonTrapdoor,
+ ItemKind::WarpedTrapdoor,
+ ItemKind::CopperTrapdoor,
+ ItemKind::ExposedCopperTrapdoor,
+ ItemKind::WeatheredCopperTrapdoor,
+ ItemKind::OxidizedCopperTrapdoor,
+ ItemKind::WaxedCopperTrapdoor,
+ ItemKind::WaxedExposedCopperTrapdoor,
+ ItemKind::WaxedWeatheredCopperTrapdoor,
+ ItemKind::WaxedOxidizedCopperTrapdoor,
+ ])
+});
+pub static TRIM_MATERIALS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Redstone,
+ ItemKind::Diamond,
+ ItemKind::Emerald,
+ ItemKind::LapisLazuli,
+ ItemKind::Quartz,
+ ItemKind::AmethystShard,
+ ItemKind::IronIngot,
+ ItemKind::CopperIngot,
+ ItemKind::GoldIngot,
+ ItemKind::NetheriteIngot,
+ ItemKind::ResinBrick,
+ ])
+});
+pub static TRIMMABLE_ARMOR: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TurtleHelmet,
+ ItemKind::LeatherHelmet,
+ ItemKind::LeatherChestplate,
+ ItemKind::LeatherLeggings,
+ ItemKind::LeatherBoots,
+ ItemKind::CopperHelmet,
+ ItemKind::CopperChestplate,
+ ItemKind::CopperLeggings,
+ ItemKind::CopperBoots,
+ ItemKind::ChainmailHelmet,
+ ItemKind::ChainmailChestplate,
+ ItemKind::ChainmailLeggings,
+ ItemKind::ChainmailBoots,
+ ItemKind::IronHelmet,
+ ItemKind::IronChestplate,
+ ItemKind::IronLeggings,
+ ItemKind::IronBoots,
+ ItemKind::DiamondHelmet,
+ ItemKind::DiamondChestplate,
+ ItemKind::DiamondLeggings,
+ ItemKind::DiamondBoots,
+ ItemKind::GoldenHelmet,
+ ItemKind::GoldenChestplate,
+ ItemKind::GoldenLeggings,
+ ItemKind::GoldenBoots,
+ ItemKind::NetheriteHelmet,
+ ItemKind::NetheriteChestplate,
+ ItemKind::NetheriteLeggings,
+ ItemKind::NetheriteBoots,
+ ])
+});
+pub static TURTLE_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Seagrass]));
+pub static VILLAGER_PICKS_UP: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WheatSeeds,
+ ItemKind::Wheat,
+ ItemKind::Bread,
+ ItemKind::Carrot,
+ ItemKind::Potato,
+ ItemKind::TorchflowerSeeds,
+ ItemKind::PitcherPod,
+ ItemKind::Beetroot,
+ ItemKind::BeetrootSeeds,
+ ])
+});
+pub static VILLAGER_PLANTABLE_SEEDS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WheatSeeds,
+ ItemKind::Carrot,
+ ItemKind::Potato,
+ ItemKind::TorchflowerSeeds,
+ ItemKind::PitcherPod,
+ ItemKind::BeetrootSeeds,
+ ])
+});
+pub static WALLS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::TuffWall,
+ ItemKind::PolishedTuffWall,
+ ItemKind::TuffBrickWall,
+ ItemKind::ResinBrickWall,
+ ItemKind::CobblestoneWall,
+ ItemKind::MossyCobblestoneWall,
+ ItemKind::BrickWall,
+ ItemKind::PrismarineWall,
+ ItemKind::RedSandstoneWall,
+ ItemKind::MossyStoneBrickWall,
+ ItemKind::GraniteWall,
+ ItemKind::StoneBrickWall,
+ ItemKind::MudBrickWall,
+ ItemKind::NetherBrickWall,
+ ItemKind::AndesiteWall,
+ ItemKind::RedNetherBrickWall,
+ ItemKind::SandstoneWall,
+ ItemKind::EndStoneBrickWall,
+ ItemKind::DioriteWall,
+ ItemKind::BlackstoneWall,
+ ItemKind::PolishedBlackstoneWall,
+ ItemKind::PolishedBlackstoneBrickWall,
+ ItemKind::CobbledDeepslateWall,
+ ItemKind::PolishedDeepslateWall,
+ ItemKind::DeepslateBrickWall,
+ ItemKind::DeepslateTileWall,
+ ])
+});
+pub static WARPED_STEMS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WarpedStem,
+ ItemKind::StrippedWarpedStem,
+ ItemKind::StrippedWarpedHyphae,
+ ItemKind::WarpedHyphae,
+ ])
+});
+pub static WART_BLOCKS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::NetherWartBlock, ItemKind::WarpedWartBlock]));
+pub static WITHER_SKELETON_DISLIKED_WEAPONS: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::Bow, ItemKind::Crossbow]));
+pub static WOLF_FOOD: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::Porkchop,
+ ItemKind::CookedPorkchop,
+ ItemKind::Cod,
+ ItemKind::Salmon,
+ ItemKind::TropicalFish,
+ ItemKind::Pufferfish,
+ ItemKind::CookedCod,
+ ItemKind::CookedSalmon,
+ ItemKind::Beef,
+ ItemKind::CookedBeef,
+ ItemKind::Chicken,
+ ItemKind::CookedChicken,
+ ItemKind::RottenFlesh,
+ ItemKind::Rabbit,
+ ItemKind::CookedRabbit,
+ ItemKind::RabbitStew,
+ ItemKind::Mutton,
+ ItemKind::CookedMutton,
+ ])
+});
+pub static WOODEN_BUTTONS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakButton,
+ ItemKind::SpruceButton,
+ ItemKind::BirchButton,
+ ItemKind::JungleButton,
+ ItemKind::AcaciaButton,
+ ItemKind::CherryButton,
+ ItemKind::DarkOakButton,
+ ItemKind::PaleOakButton,
+ ItemKind::MangroveButton,
+ ItemKind::BambooButton,
+ ItemKind::CrimsonButton,
+ ItemKind::WarpedButton,
+ ])
+});
+pub static WOODEN_DOORS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakDoor,
+ ItemKind::SpruceDoor,
+ ItemKind::BirchDoor,
+ ItemKind::JungleDoor,
+ ItemKind::AcaciaDoor,
+ ItemKind::CherryDoor,
+ ItemKind::DarkOakDoor,
+ ItemKind::PaleOakDoor,
+ ItemKind::MangroveDoor,
+ ItemKind::BambooDoor,
+ ItemKind::CrimsonDoor,
+ ItemKind::WarpedDoor,
+ ])
+});
+pub static WOODEN_FENCES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakFence,
+ ItemKind::SpruceFence,
+ ItemKind::BirchFence,
+ ItemKind::JungleFence,
+ ItemKind::AcaciaFence,
+ ItemKind::CherryFence,
+ ItemKind::DarkOakFence,
+ ItemKind::PaleOakFence,
+ ItemKind::MangroveFence,
+ ItemKind::BambooFence,
+ ItemKind::CrimsonFence,
+ ItemKind::WarpedFence,
+ ])
+});
+pub static WOODEN_PRESSURE_PLATES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakPressurePlate,
+ ItemKind::SprucePressurePlate,
+ ItemKind::BirchPressurePlate,
+ ItemKind::JunglePressurePlate,
+ ItemKind::AcaciaPressurePlate,
+ ItemKind::CherryPressurePlate,
+ ItemKind::DarkOakPressurePlate,
+ ItemKind::PaleOakPressurePlate,
+ ItemKind::MangrovePressurePlate,
+ ItemKind::BambooPressurePlate,
+ ItemKind::CrimsonPressurePlate,
+ ItemKind::WarpedPressurePlate,
+ ])
+});
+pub static WOODEN_SHELVES: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::AcaciaShelf,
+ ItemKind::BambooShelf,
+ ItemKind::BirchShelf,
+ ItemKind::CherryShelf,
+ ItemKind::CrimsonShelf,
+ ItemKind::DarkOakShelf,
+ ItemKind::JungleShelf,
+ ItemKind::MangroveShelf,
+ ItemKind::OakShelf,
+ ItemKind::PaleOakShelf,
+ ItemKind::SpruceShelf,
+ ItemKind::WarpedShelf,
+ ])
+});
+pub static WOODEN_SLABS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakSlab,
+ ItemKind::SpruceSlab,
+ ItemKind::BirchSlab,
+ ItemKind::JungleSlab,
+ ItemKind::AcaciaSlab,
+ ItemKind::CherrySlab,
+ ItemKind::DarkOakSlab,
+ ItemKind::PaleOakSlab,
+ ItemKind::MangroveSlab,
+ ItemKind::BambooSlab,
+ ItemKind::CrimsonSlab,
+ ItemKind::WarpedSlab,
+ ])
+});
+pub static WOODEN_STAIRS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakStairs,
+ ItemKind::SpruceStairs,
+ ItemKind::BirchStairs,
+ ItemKind::JungleStairs,
+ ItemKind::AcaciaStairs,
+ ItemKind::CherryStairs,
+ ItemKind::DarkOakStairs,
+ ItemKind::PaleOakStairs,
+ ItemKind::MangroveStairs,
+ ItemKind::BambooStairs,
+ ItemKind::CrimsonStairs,
+ ItemKind::WarpedStairs,
+ ])
+});
+pub static WOODEN_TOOL_MATERIALS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakPlanks,
+ ItemKind::SprucePlanks,
+ ItemKind::BirchPlanks,
+ ItemKind::JunglePlanks,
+ ItemKind::AcaciaPlanks,
+ ItemKind::CherryPlanks,
+ ItemKind::DarkOakPlanks,
+ ItemKind::PaleOakPlanks,
+ ItemKind::MangrovePlanks,
+ ItemKind::BambooPlanks,
+ ItemKind::CrimsonPlanks,
+ ItemKind::WarpedPlanks,
+ ])
+});
+pub static WOODEN_TRAPDOORS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::OakTrapdoor,
+ ItemKind::SpruceTrapdoor,
+ ItemKind::BirchTrapdoor,
+ ItemKind::JungleTrapdoor,
+ ItemKind::AcaciaTrapdoor,
+ ItemKind::CherryTrapdoor,
+ ItemKind::DarkOakTrapdoor,
+ ItemKind::PaleOakTrapdoor,
+ ItemKind::MangroveTrapdoor,
+ ItemKind::BambooTrapdoor,
+ ItemKind::CrimsonTrapdoor,
+ ItemKind::WarpedTrapdoor,
+ ])
+});
+pub static WOOL: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteWool,
+ ItemKind::OrangeWool,
+ ItemKind::MagentaWool,
+ ItemKind::LightBlueWool,
+ ItemKind::YellowWool,
+ ItemKind::LimeWool,
+ ItemKind::PinkWool,
+ ItemKind::GrayWool,
+ ItemKind::LightGrayWool,
+ ItemKind::CyanWool,
+ ItemKind::PurpleWool,
+ ItemKind::BlueWool,
+ ItemKind::BrownWool,
+ ItemKind::GreenWool,
+ ItemKind::RedWool,
+ ItemKind::BlackWool,
+ ])
+});
+pub static WOOL_CARPETS: LazyLock<RegistryTag<ItemKind>> = LazyLock::new(|| {
+ RegistryTag::new(vec![
+ ItemKind::WhiteCarpet,
+ ItemKind::OrangeCarpet,
+ ItemKind::MagentaCarpet,
+ ItemKind::LightBlueCarpet,
+ ItemKind::YellowCarpet,
+ ItemKind::LimeCarpet,
+ ItemKind::PinkCarpet,
+ ItemKind::GrayCarpet,
+ ItemKind::LightGrayCarpet,
+ ItemKind::CyanCarpet,
+ ItemKind::PurpleCarpet,
+ ItemKind::BlueCarpet,
+ ItemKind::BrownCarpet,
+ ItemKind::GreenCarpet,
+ ItemKind::RedCarpet,
+ ItemKind::BlackCarpet,
+ ])
+});
+pub static ZOMBIE_HORSE_FOOD: LazyLock<RegistryTag<ItemKind>> =
+ LazyLock::new(|| RegistryTag::new(vec![ItemKind::RedMushroom]));
diff --git a/azalea-registry/src/tags/mod.rs b/azalea-registry/src/tags/mod.rs
index 8d3fb8fe..640d119b 100644
--- a/azalea-registry/src/tags/mod.rs
+++ b/azalea-registry/src/tags/mod.rs
@@ -1,4 +1,92 @@
+use std::{collections::HashSet, ops::Deref};
+
+use crate::Registry;
+
pub mod blocks;
pub mod entities;
pub mod fluids;
pub mod items;
+
+/// A set of registry items.
+#[derive(Clone, Debug)]
+pub struct RegistryTag<R: Registry + 'static> {
+ // yes, this *could* be a Box<[R]>, but there are cases in which the user may want to cheaply
+ // mutate this.
+ // yes, it could also be a [R; N] using a const generic, but that makes RegistryTag annoying if
+ // the user wants to put it in their own code.
+ // yes, if the aforementioned issues are ignored then we could even avoid a LazyLock. but that
+ // would provide nearly no benefit and result in wasted memory for unused tags.
+ // having it be a vec is fine.
+ entries: Vec<R>,
+}
+impl<R: Registry + 'static> RegistryTag<R> {
+ pub(crate) fn new(entries: Vec<R>) -> Self {
+ // must be sorted for binary search
+ debug_assert!(entries.is_sorted());
+
+ Self { entries }
+ }
+}
+impl<R: Registry + 'static> RegistryTag<R> {
+ /// Returns whether the given item is contained in this registry.
+ pub fn contains(&self, value: &R) -> bool {
+ self.find(value).is_some()
+ }
+
+ pub fn remove(&mut self, value: &R) -> Option<R> {
+ self.find(value).map(|index| self.entries.remove(index))
+ }
+
+ fn find(&self, value: &R) -> Option<usize> {
+ // TODO: tune this number; when does binary search actually start making a
+ // difference?
+ if self.entries.len() > 64 {
+ self.linear_search_find(value)
+ } else {
+ self.binary_search_find(value)
+ }
+ }
+ fn linear_search_find(&self, value: &R) -> Option<usize> {
+ self.entries.iter().position(|e| e == value)
+ }
+ fn binary_search_find(&self, value: &R) -> Option<usize> {
+ self.entries.binary_search(value).ok()
+ }
+
+ // this exists for convenience since we can't always do HashSet::from if it's a
+ // LazyLock
+ pub fn into_hashset(&self) -> HashSet<R> {
+ self.clone().into_iter().collect()
+ }
+}
+impl<R: Registry> IntoIterator for RegistryTag<R> {
+ type Item = R;
+
+ type IntoIter = std::vec::IntoIter<R>;
+
+ fn into_iter(self) -> Self::IntoIter {
+ self.entries.into_iter()
+ }
+}
+
+impl<R: Registry> From<RegistryTag<R>> for HashSet<R> {
+ fn from(tag: RegistryTag<R>) -> Self {
+ tag.into_hashset()
+ }
+}
+
+impl<R: Registry> Deref for RegistryTag<R> {
+ type Target = [R];
+
+ fn deref(&self) -> &Self::Target {
+ &self.entries
+ }
+}
+
+impl<R: Registry> FromIterator<R> for RegistryTag<R> {
+ fn from_iter<T: IntoIterator<Item = R>>(iter: T) -> Self {
+ let mut entries = iter.into_iter().collect::<Vec<_>>();
+ entries.sort();
+ Self::new(entries)
+ }
+}
diff --git a/azalea-world/benches/chunks.rs b/azalea-world/benches/chunks.rs
index f84fdc56..64924fec 100644
--- a/azalea-world/benches/chunks.rs
+++ b/azalea-world/benches/chunks.rs
@@ -1,6 +1,7 @@
use std::hint::black_box;
use azalea_core::position::ChunkBlockPos;
+use azalea_registry::builtin::BlockKind;
use azalea_world::{BitStorage, Chunk};
use criterion::{Criterion, criterion_group, criterion_main};
@@ -13,7 +14,7 @@ fn bench_chunks(c: &mut Criterion) {
for z in 0..16 {
chunk.set_block_state(
&ChunkBlockPos::new(x, 1, z),
- azalea_registry::Block::Bedrock.into(),
+ BlockKind::Bedrock.into(),
0,
);
}
diff --git a/azalea-world/src/chunk_storage.rs b/azalea-world/src/chunk_storage.rs
index 35d8cac3..f8646209 100644
--- a/azalea-world/src/chunk_storage.rs
+++ b/azalea-world/src/chunk_storage.rs
@@ -15,7 +15,7 @@ use azalea_buf::{AzaleaRead, AzaleaWrite, BufReadError};
use azalea_core::position::{
BlockPos, ChunkBiomePos, ChunkBlockPos, ChunkPos, ChunkSectionBiomePos, ChunkSectionBlockPos,
};
-use azalea_registry::Biome;
+use azalea_registry::data::Biome;
use nohash_hasher::IntMap;
use parking_lot::RwLock;
use tracing::{debug, trace, warn};
diff --git a/azalea-world/src/container.rs b/azalea-world/src/container.rs
index ff79ec81..3e167085 100644
--- a/azalea-world/src/container.rs
+++ b/azalea-world/src/container.rs
@@ -3,7 +3,8 @@ use std::{
sync::{Arc, Weak},
};
-use azalea_core::{identifier::Identifier, registry_holder::RegistryHolder};
+use azalea_core::registry_holder::RegistryHolder;
+use azalea_registry::identifier::Identifier;
use bevy_ecs::{component::Component, resource::Resource};
use derive_more::{Deref, DerefMut};
use nohash_hasher::IntMap;
diff --git a/azalea-world/src/find_blocks.rs b/azalea-world/src/find_blocks.rs
index 17e66754..5edf3ea2 100644
--- a/azalea-world/src/find_blocks.rs
+++ b/azalea-world/src/find_blocks.rs
@@ -10,11 +10,12 @@ impl Instance {
/// performance purposes.
///
/// ```
+ /// # use azalea_registry::builtin::BlockKind;
/// # fn example(client: &azalea_client::Client) {
/// client
/// .world()
/// .read()
- /// .find_block(client.position(), &azalea_registry::Block::Chest.into());
+ /// .find_block(client.position(), &BlockKind::Chest.into());
/// # }
/// ```
pub fn find_block(
@@ -249,7 +250,7 @@ fn palette_maybe_has_block(palette: &Palette<BlockState>, block_states: &BlockSt
#[cfg(test)]
mod tests {
- use azalea_registry::Block;
+ use azalea_registry::builtin::BlockKind;
use super::*;
use crate::{Chunk, PartialChunkStorage};
@@ -274,10 +275,10 @@ mod tests {
chunk_storage,
);
- chunk_storage.set_block_state(BlockPos { x: 17, y: 0, z: 0 }, Block::Stone.into());
- chunk_storage.set_block_state(BlockPos { x: 0, y: 18, z: 0 }, Block::Stone.into());
+ chunk_storage.set_block_state(BlockPos { x: 17, y: 0, z: 0 }, BlockKind::Stone.into());
+ chunk_storage.set_block_state(BlockPos { x: 0, y: 18, z: 0 }, BlockKind::Stone.into());
- let pos = instance.find_block(BlockPos { x: 0, y: 0, z: 0 }, &Block::Stone.into());
+ let pos = instance.find_block(BlockPos { x: 0, y: 0, z: 0 }, &BlockKind::Stone.into());
assert_eq!(pos, Some(BlockPos { x: 17, y: 0, z: 0 }));
}
@@ -301,10 +302,10 @@ mod tests {
chunk_storage,
);
- chunk_storage.set_block_state(BlockPos { x: -1, y: 0, z: 0 }, Block::Stone.into());
- chunk_storage.set_block_state(BlockPos { x: 15, y: 0, z: 0 }, Block::Stone.into());
+ chunk_storage.set_block_state(BlockPos { x: -1, y: 0, z: 0 }, BlockKind::Stone.into());
+ chunk_storage.set_block_state(BlockPos { x: 15, y: 0, z: 0 }, BlockKind::Stone.into());
- let pos = instance.find_block(BlockPos { x: 0, y: 0, z: 0 }, &Block::Stone.into());
+ let pos = instance.find_block(BlockPos { x: 0, y: 0, z: 0 }, &BlockKind::Stone.into());
assert_eq!(pos, Some(BlockPos { x: -1, y: 0, z: 0 }));
}
}
diff --git a/azalea-world/src/heightmap.rs b/azalea-world/src/heightmap.rs
index d3b2b071..0f5e4c53 100644
--- a/azalea-world/src/heightmap.rs
+++ b/azalea-world/src/heightmap.rs
@@ -3,7 +3,7 @@ use std::{
str::FromStr,
};
-use azalea_block::BlockState;
+use azalea_block::{BlockState, BlockTrait};
use azalea_buf::AzBuf;
use azalea_core::{math, position::ChunkBlockPos};
use azalea_registry::tags::blocks::LEAVES;
@@ -45,7 +45,7 @@ fn motion_blocking(block_state: BlockState) -> bool {
impl HeightmapKind {
pub fn is_opaque(self, block_state: BlockState) -> bool {
- let block = Box::<dyn azalea_block::BlockTrait>::from(block_state);
+ let block = Box::<dyn BlockTrait>::from(block_state);
let registry_block = block.as_registry_block();
match self {
HeightmapKind::WorldSurfaceWg => !block_state.is_air(),
diff --git a/azalea-world/src/palette/container.rs b/azalea-world/src/palette/container.rs
index 4e5b4489..a10c5d78 100644
--- a/azalea-world/src/palette/container.rs
+++ b/azalea-world/src/palette/container.rs
@@ -6,7 +6,7 @@ use std::{
use azalea_block::BlockState;
use azalea_buf::{AzaleaRead, AzaleaWrite, BufReadError};
use azalea_core::position::{ChunkSectionBiomePos, ChunkSectionBlockPos};
-use azalea_registry::Biome;
+use azalea_registry::data::Biome;
use tracing::{debug, warn};
use super::{Palette, PaletteKind};
diff --git a/azalea-world/src/world.rs b/azalea-world/src/world.rs
index 969b7d36..c9833c64 100644
--- a/azalea-world/src/world.rs
+++ b/azalea-world/src/world.rs
@@ -11,7 +11,7 @@ use azalea_core::{
position::{BlockPos, ChunkPos},
registry_holder::RegistryHolder,
};
-use azalea_registry::Biome;
+use azalea_registry::data::Biome;
use bevy_ecs::{component::Component, entity::Entity};
use derive_more::{Deref, DerefMut};
use nohash_hasher::IntMap;
diff --git a/azalea/benches/checks.rs b/azalea/benches/checks.rs
index ee737359..bd1b9085 100644
--- a/azalea/benches/checks.rs
+++ b/azalea/benches/checks.rs
@@ -1,23 +1,23 @@
use std::hint::black_box;
use azalea::pathfinder::mining::MiningCache;
-pub use azalea_registry as registry;
+use azalea_registry::builtin::BlockKind;
use criterion::{Criterion, criterion_group, criterion_main};
fn benchmark(c: &mut Criterion) {
let mining_cache = MiningCache::new(None);
- let stone = registry::Block::Stone.into();
+ let stone = BlockKind::Stone.into();
c.bench_function("is_liquid stone", |b| {
b.iter(|| mining_cache.is_liquid(black_box(stone)));
});
- let water = registry::Block::Water.into();
+ let water = BlockKind::Water.into();
c.bench_function("is_liquid water", |b| {
b.iter(|| mining_cache.is_liquid(black_box(water)));
});
- let lava = registry::Block::Lava.into();
+ let lava = BlockKind::Lava.into();
c.bench_function("is_liquid lava", |b| {
b.iter(|| mining_cache.is_liquid(black_box(lava)));
});
diff --git a/azalea/benches/pathfinder.rs b/azalea/benches/pathfinder.rs
index aff6c00c..5ad73d7d 100644
--- a/azalea/benches/pathfinder.rs
+++ b/azalea/benches/pathfinder.rs
@@ -13,6 +13,7 @@ use azalea::{
};
use azalea_core::position::{ChunkBlockPos, ChunkPos};
use azalea_inventory::Menu;
+use azalea_registry::builtin::BlockKind;
use azalea_world::{Chunk, ChunkStorage, PartialChunkStorage};
use criterion::{Bencher, Criterion, criterion_group, criterion_main};
use parking_lot::RwLock;
@@ -44,13 +45,13 @@ fn generate_bedrock_world(
for z in 0..16_u8 {
chunk.set_block_state(
&ChunkBlockPos::new(x, 1, z),
- azalea_registry::Block::Bedrock.into(),
+ BlockKind::Bedrock.into(),
chunks.min_y,
);
if rng.random_bool(0.5) {
chunk.set_block_state(
&ChunkBlockPos::new(x, 2, z),
- azalea_registry::Block::Bedrock.into(),
+ BlockKind::Bedrock.into(),
chunks.min_y,
);
}
@@ -102,7 +103,7 @@ fn generate_mining_world(
for z in 0..16_u8 {
chunk.set_block_state(
&ChunkBlockPos::new(x, y, z),
- azalea_registry::Block::Stone.into(),
+ BlockKind::Stone.into(),
chunks.min_y,
);
}
diff --git a/azalea/benches/physics.rs b/azalea/benches/physics.rs
index 2f122014..a0811566 100644
--- a/azalea/benches/physics.rs
+++ b/azalea/benches/physics.rs
@@ -3,6 +3,7 @@ use azalea::{
pathfinder::simulation::{SimulatedPlayerBundle, SimulationSet},
};
use azalea_core::position::{ChunkBlockPos, ChunkPos};
+use azalea_registry::builtin::BlockKind;
use azalea_world::{Chunk, ChunkStorage, PartialChunkStorage};
use criterion::{Bencher, Criterion, criterion_group, criterion_main};
@@ -27,7 +28,7 @@ fn generate_world(partial_chunks: &mut PartialChunkStorage, size: u32) -> ChunkS
for z in 0..16_u8 {
chunk.set_block_state(
&ChunkBlockPos::new(x, 1, z),
- azalea_registry::Block::OakFence.into(),
+ BlockKind::OakFence.into(),
chunks.min_y,
);
}
diff --git a/azalea/examples/steal.rs b/azalea/examples/steal.rs
index 899c2568..c928545f 100644
--- a/azalea/examples/steal.rs
+++ b/azalea/examples/steal.rs
@@ -4,6 +4,7 @@ use std::sync::Arc;
use azalea::{BlockPos, pathfinder::goals::RadiusGoal, prelude::*};
use azalea_inventory::{ItemStack, operations::QuickMoveClick};
+use azalea_registry::builtin::{BlockKind, ItemKind};
use parking_lot::Mutex;
#[tokio::main]
@@ -55,7 +56,7 @@ async fn steal(bot: Client, state: State) -> anyhow::Result<()> {
let chest_block = bot
.world()
.read()
- .find_blocks(bot.position(), &azalea::registry::Block::Chest.into())
+ .find_blocks(bot.position(), &BlockKind::Chest.into())
.find(
// find the closest chest that hasn't been checked
|block_pos| !state.checked_chests.lock().contains(block_pos),
@@ -79,7 +80,7 @@ async fn steal(bot: Client, state: State) -> anyhow::Result<()> {
let ItemStack::Present(item) = slot else {
continue;
};
- if item.kind == azalea::registry::Item::Diamond {
+ if item.kind == ItemKind::Diamond {
println!("clicking slot ^");
chest.click(QuickMoveClick::Left { slot: index as u16 });
}
diff --git a/azalea/examples/testbot/commands/debug.rs b/azalea/examples/testbot/commands/debug.rs
index dfd055ea..c5b93c7d 100644
--- a/azalea/examples/testbot/commands/debug.rs
+++ b/azalea/examples/testbot/commands/debug.rs
@@ -142,7 +142,7 @@ pub fn register(commands: &mut CommandDispatcher<Mutex<CommandSource>>) {
println!("getblock xyz {x} {y} {z}");
let block_pos = BlockPos::new(x, y, z);
let block = source.bot.world().read().get_block_state(block_pos);
- source.reply(format!("Block at {block_pos} is {block:?}"));
+ source.reply(format!("BlockKind at {block_pos} is {block:?}"));
1
})),
)));
diff --git a/azalea/examples/todo/craft_dig_straight_down.rs b/azalea/examples/todo/craft_dig_straight_down.rs
index 951c3de2..0d9961d4 100644
--- a/azalea/examples/todo/craft_dig_straight_down.rs
+++ b/azalea/examples/todo/craft_dig_straight_down.rs
@@ -38,7 +38,7 @@ async fn handle(bot: Client, event: Event, state: State) -> anyhow::Result<()> {
bot.goto(pathfinder::Goals::NearXZ(5, azalea::BlockXZ(0, 0)))
.await;
let chest = bot
- .open_container_at(&bot.world().find_block(azalea::Block::Chest))
+ .open_container_at(&bot.world().find_block(BlockKind::Chest))
.await
.unwrap();
bot.take_amount_from_container(&chest, 5, |i| i.id == "#minecraft:planks")
@@ -46,7 +46,7 @@ async fn handle(bot: Client, event: Event, state: State) -> anyhow::Result<()> {
chest.close().await;
let crafting_table = bot
- .open_crafting_table(&bot.world.find_block(azalea::Block::CraftingTable))
+ .open_crafting_table(&bot.world.find_block(BlockKind::CraftingTable))
.await
.unwrap();
bot.craft(&crafting_table, &bot.recipe_for("minecraft:sticks"))
diff --git a/azalea/src/auto_tool.rs b/azalea/src/auto_tool.rs
index b71fb0b0..06103976 100644
--- a/azalea/src/auto_tool.rs
+++ b/azalea/src/auto_tool.rs
@@ -3,7 +3,7 @@ use azalea_client::Client;
use azalea_core::position::BlockPos;
use azalea_entity::{ActiveEffects, Attributes, FluidOnEyes, Physics, inventory::Inventory};
use azalea_inventory::{ItemStack, Menu, components};
-use azalea_registry::EntityKind;
+use azalea_registry::builtin::{BlockKind, EntityKind, ItemKind};
use crate::bot::BotClientExt;
@@ -89,10 +89,7 @@ pub fn accurate_best_tool_in_hotbar_for_block(
let block = Box::<dyn BlockTrait>::from(block);
let registry_block = block.as_registry_block();
- if matches!(
- registry_block,
- azalea_registry::Block::Water | azalea_registry::Block::Lava
- ) {
+ if matches!(registry_block, BlockKind::Water | BlockKind::Lava) {
// can't mine fluids
return BestToolResult {
index: 0,
@@ -107,7 +104,7 @@ pub fn accurate_best_tool_in_hotbar_for_block(
ItemStack::Empty => {
this_item_speed = Some(azalea_entity::mining::get_mine_progress(
block.as_ref(),
- azalea_registry::Item::Air,
+ ItemKind::Air,
fluid_on_eyes,
physics,
attributes,
diff --git a/azalea/src/container.rs b/azalea/src/container.rs
index e82eeac8..c01b16be 100644
--- a/azalea/src/container.rs
+++ b/azalea/src/container.rs
@@ -37,12 +37,12 @@ pub trait ContainerClientExt {
/// configure this.
///
/// ```
- /// # use azalea::{prelude::*, registry::Block};
+ /// # use azalea::{prelude::*, registry::builtin::BlockKind};
/// # async fn example(mut bot: azalea::Client) {
/// let target_pos = bot
/// .world()
/// .read()
- /// .find_block(bot.position(), &Block::Chest.into());
+ /// .find_block(bot.position(), &BlockKind::Chest.into());
/// let Some(target_pos) = target_pos else {
/// bot.chat("no chest found");
/// return;
diff --git a/azalea/src/lib.rs b/azalea/src/lib.rs
index bf188791..8440e31f 100644
--- a/azalea/src/lib.rs
+++ b/azalea/src/lib.rs
@@ -15,24 +15,33 @@ use std::{net::SocketAddr, time::Duration};
use app::Plugins;
pub use azalea_auth as auth;
-pub use azalea_block as blocks;
+pub use azalea_block as block;
+#[doc(hidden)]
+#[deprecated = "moved to `azalea::block`"]
+pub mod blocks {
+ pub type BlockStates = azalea_block::BlockStates;
+ pub type BlockState = azalea_block::BlockState;
+ pub trait BlockTrait: azalea_block::BlockTrait {}
+ // azalea_block has more items but rust doesn't mark them deprecated if we
+ // `use azalea_block::*`, so hopefully the three types above are enough for
+ // most users :(
+}
+
pub use azalea_brigadier as brigadier;
pub use azalea_buf as buf;
pub use azalea_chat::FormattedText;
pub use azalea_client::*;
pub use azalea_core as core;
-#[deprecated(note = "renamed to `Identifier`.")]
-#[expect(deprecated)]
-pub use azalea_core::resource_location::ResourceLocation;
// these are re-exported on this level because they're very common
-pub use azalea_core::{
- identifier::Identifier,
- position::{BlockPos, Vec3},
-};
+pub use azalea_core::position::{BlockPos, Vec3};
pub use azalea_entity as entity;
pub use azalea_physics as physics;
pub use azalea_protocol as protocol;
pub use azalea_registry as registry;
+#[doc(hidden)]
+#[deprecated(note = "renamed to `Identifier`.")]
+pub use azalea_registry::identifier::Identifier as ResourceLocation;
+pub use azalea_registry::identifier::Identifier;
pub use azalea_world as world;
pub use bevy_app as app;
use bevy_app::AppExit;
diff --git a/azalea/src/pathfinder/extras/utils.rs b/azalea/src/pathfinder/extras/utils.rs
index 30b1ae52..3ae0b457 100644
--- a/azalea/src/pathfinder/extras/utils.rs
+++ b/azalea/src/pathfinder/extras/utils.rs
@@ -130,7 +130,7 @@ mod tests {
let set_solid_block_at = |x, y, z| {
partial_world.chunks.set_block_state(
&BlockPos::new(x, y, z),
- azalea_registry::Block::Stone.into(),
+ BlockKind::Stone.into(),
&world,
);
};
diff --git a/azalea/src/pathfinder/mining.rs b/azalea/src/pathfinder/mining.rs
index a985ca71..c592831d 100644
--- a/azalea/src/pathfinder/mining.rs
+++ b/azalea/src/pathfinder/mining.rs
@@ -4,6 +4,7 @@ use azalea_block::{
BlockState, BlockStates, block_state::BlockStateIntegerRepr, properties::Waterlogged,
};
use azalea_inventory::Menu;
+use azalea_registry::builtin::BlockKind;
use nohash_hasher::IntMap;
use super::costs::BLOCK_BREAK_ADDITIONAL_PENALTY;
@@ -21,8 +22,8 @@ pub struct MiningCache {
impl MiningCache {
pub fn new(inventory_menu: Option<Menu>) -> Self {
- let water_block_states = BlockStates::from(azalea_registry::Block::Water);
- let lava_block_states = BlockStates::from(azalea_registry::Block::Lava);
+ let water_block_states = BlockStates::from(BlockKind::Water);
+ let lava_block_states = BlockStates::from(BlockKind::Lava);
let mut water_block_state_range_min = BlockStateIntegerRepr::MAX;
let mut water_block_state_range_max = BlockStateIntegerRepr::MIN;
@@ -41,29 +42,29 @@ impl MiningCache {
let lava_block_state_range = lava_block_state_range_min..=lava_block_state_range_max;
let mut falling_blocks: Vec<BlockState> = vec![
- azalea_registry::Block::Sand.into(),
- azalea_registry::Block::RedSand.into(),
- azalea_registry::Block::Gravel.into(),
- azalea_registry::Block::Anvil.into(),
- azalea_registry::Block::ChippedAnvil.into(),
- azalea_registry::Block::DamagedAnvil.into(),
+ BlockKind::Sand.into(),
+ BlockKind::RedSand.into(),
+ BlockKind::Gravel.into(),
+ BlockKind::Anvil.into(),
+ BlockKind::ChippedAnvil.into(),
+ BlockKind::DamagedAnvil.into(),
// concrete powders
- azalea_registry::Block::WhiteConcretePowder.into(),
- azalea_registry::Block::OrangeConcretePowder.into(),
- azalea_registry::Block::MagentaConcretePowder.into(),
- azalea_registry::Block::LightBlueConcretePowder.into(),
- azalea_registry::Block::YellowConcretePowder.into(),
- azalea_registry::Block::LimeConcretePowder.into(),
- azalea_registry::Block::PinkConcretePowder.into(),
- azalea_registry::Block::GrayConcretePowder.into(),
- azalea_registry::Block::LightGrayConcretePowder.into(),
- azalea_registry::Block::CyanConcretePowder.into(),
- azalea_registry::Block::PurpleConcretePowder.into(),
- azalea_registry::Block::BlueConcretePowder.into(),
- azalea_registry::Block::BrownConcretePowder.into(),
- azalea_registry::Block::GreenConcretePowder.into(),
- azalea_registry::Block::RedConcretePowder.into(),
- azalea_registry::Block::BlackConcretePowder.into(),
+ BlockKind::WhiteConcretePowder.into(),
+ BlockKind::OrangeConcretePowder.into(),
+ BlockKind::MagentaConcretePowder.into(),
+ BlockKind::LightBlueConcretePowder.into(),
+ BlockKind::YellowConcretePowder.into(),
+ BlockKind::LimeConcretePowder.into(),
+ BlockKind::PinkConcretePowder.into(),
+ BlockKind::GrayConcretePowder.into(),
+ BlockKind::LightGrayConcretePowder.into(),
+ BlockKind::CyanConcretePowder.into(),
+ BlockKind::PurpleConcretePowder.into(),
+ BlockKind::BlueConcretePowder.into(),
+ BlockKind::BrownConcretePowder.into(),
+ BlockKind::GreenConcretePowder.into(),
+ BlockKind::RedConcretePowder.into(),
+ BlockKind::BlackConcretePowder.into(),
];
falling_blocks.sort_unstable_by_key(|block| block.id());
diff --git a/azalea/src/pathfinder/simulation.rs b/azalea/src/pathfinder/simulation.rs
index df049b3e..957cef37 100644
--- a/azalea/src/pathfinder/simulation.rs
+++ b/azalea/src/pathfinder/simulation.rs
@@ -6,12 +6,12 @@ use azalea_client::{
PhysicsState, interact::BlockStatePredictionHandler, local_player::LocalGameMode,
mining::MineBundle,
};
-use azalea_core::{game_type::GameMode, identifier::Identifier, position::Vec3, tick::GameTick};
+use azalea_core::{game_type::GameMode, position::Vec3, tick::GameTick};
use azalea_entity::{
Attributes, LookDirection, Physics, Position, dimensions::EntityDimensions,
inventory::Inventory,
};
-use azalea_registry::EntityKind;
+use azalea_registry::{builtin::EntityKind, identifier::Identifier};
use azalea_world::{ChunkStorage, Instance, InstanceContainer, MinecraftEntityId, PartialInstance};
use bevy_app::App;
use bevy_ecs::prelude::*;
@@ -97,7 +97,7 @@ fn create_simulation_player_complete_bundle(
azalea_entity::EntityBundle::new(
Uuid::nil(),
*player.position,
- azalea_registry::EntityKind::Player,
+ EntityKind::Player,
instance_name,
),
azalea_client::local_player::InstanceHolder {
diff --git a/azalea/src/pathfinder/tests.rs b/azalea/src/pathfinder/tests.rs
index 7b33ca18..8c573405 100644
--- a/azalea/src/pathfinder/tests.rs
+++ b/azalea/src/pathfinder/tests.rs
@@ -7,6 +7,7 @@ use std::{
use azalea_block::BlockState;
use azalea_core::position::{BlockPos, ChunkPos, Vec3};
+use azalea_registry::builtin::BlockKind;
use azalea_world::{Chunk, ChunkStorage, PartialChunkStorage};
use super::{
@@ -66,7 +67,7 @@ fn setup_simulation_world(
partial_chunks.set(&chunk_pos, Some(Chunk::default()), &mut chunks);
}
for block_pos in solid_blocks {
- chunks.set_block_state(*block_pos, azalea_registry::Block::Stone.into());
+ chunks.set_block_state(*block_pos, BlockKind::Stone.into());
}
for (block_pos, block_state) in extra_blocks {
chunks.set_block_state(*block_pos, *block_state);
@@ -285,17 +286,11 @@ fn test_mine_through_non_colliding_block() {
BlockPos::new(0, 72, 1),
&[BlockPos::new(0, 71, 1)],
&[
- (
- BlockPos::new(0, 71, 0),
- azalea_registry::Block::SculkVein.into(),
- ),
- (
- BlockPos::new(0, 70, 0),
- azalea_registry::Block::GrassBlock.into(),
- ),
+ (BlockPos::new(0, 71, 0), BlockKind::SculkVein.into()),
+ (BlockPos::new(0, 70, 0), BlockKind::GrassBlock.into()),
// this is an extra check to make sure that we don't accidentally break the block
// below (since tnt will break instantly)
- (BlockPos::new(0, 69, 0), azalea_registry::Block::Tnt.into()),
+ (BlockPos::new(0, 69, 0), BlockKind::Tnt.into()),
],
);
diff --git a/azalea/src/pathfinder/world.rs b/azalea/src/pathfinder/world.rs
index 0f1a8305..980cda9a 100644
--- a/azalea/src/pathfinder/world.rs
+++ b/azalea/src/pathfinder/world.rs
@@ -9,7 +9,7 @@ use azalea_core::{
position::{BlockPos, ChunkPos, ChunkSectionBlockPos, ChunkSectionPos},
};
use azalea_physics::collision::BlockWithShape;
-use azalea_registry::{Block, tags};
+use azalea_registry::{builtin::BlockKind, tags};
use azalea_world::{Instance, palette::PalettedContainer};
use parking_lot::RwLock;
@@ -531,8 +531,8 @@ pub fn is_block_state_passable(block_state: BlockState) -> bool {
if !block_state.is_collision_shape_empty() {
return false;
}
- let registry_block = Block::from(block_state);
- if registry_block == Block::Water {
+ let registry_block = BlockKind::from(block_state);
+ if registry_block == BlockKind::Water {
return false;
}
if block_state
@@ -541,26 +541,26 @@ pub fn is_block_state_passable(block_state: BlockState) -> bool {
{
return false;
}
- if registry_block == Block::Lava {
+ if registry_block == BlockKind::Lava {
return false;
}
// block.waterlogged currently doesn't account for seagrass and some other water
// blocks
- if block_state == Block::Seagrass.into() {
+ if block_state == BlockKind::Seagrass.into() {
return false;
}
// don't walk into fire
- if registry_block == Block::Fire || registry_block == Block::SoulFire {
+ if registry_block == BlockKind::Fire || registry_block == BlockKind::SoulFire {
return false;
}
- if registry_block == Block::PowderSnow {
+ if registry_block == BlockKind::PowderSnow {
// we can't jump out of powder snow
return false;
}
- if registry_block == Block::SweetBerryBush {
+ if registry_block == BlockKind::SweetBerryBush {
// these hurt us
return false;
}
@@ -588,9 +588,9 @@ pub fn is_block_state_solid(block_state: BlockState) -> bool {
return true;
}
- let block = Block::from(block_state);
+ let block = BlockKind::from(block_state);
// solid enough
- if matches!(block, Block::DirtPath | Block::Farmland) {
+ if matches!(block, BlockKind::DirtPath | BlockKind::Farmland) {
return true;
}
@@ -604,7 +604,7 @@ pub fn is_block_state_standable(block_state: BlockState) -> bool {
return true;
}
- let block = Block::from(block_state);
+ let block = BlockKind::from(block_state);
if tags::blocks::SLABS.contains(&block) || tags::blocks::STAIRS.contains(&block) {
return true;
}
@@ -626,9 +626,11 @@ mod tests {
partial_world
.chunks
.set(&ChunkPos { x: 0, z: 0 }, Some(Chunk::default()), &mut world);
- partial_world
- .chunks
- .set_block_state(BlockPos::new(0, 0, 0), Block::Stone.into(), &world);
+ partial_world.chunks.set_block_state(
+ BlockPos::new(0, 0, 0),
+ BlockKind::Stone.into(),
+ &world,
+ );
partial_world
.chunks
.set_block_state(BlockPos::new(0, 1, 0), BlockState::AIR, &world);
@@ -645,9 +647,11 @@ mod tests {
partial_world
.chunks
.set(&ChunkPos { x: 0, z: 0 }, Some(Chunk::default()), &mut world);
- partial_world
- .chunks
- .set_block_state(BlockPos::new(0, 0, 0), Block::Stone.into(), &world);
+ partial_world.chunks.set_block_state(
+ BlockPos::new(0, 0, 0),
+ BlockKind::Stone.into(),
+ &world,
+ );
partial_world
.chunks
.set_block_state(BlockPos::new(0, 1, 0), BlockState::AIR, &world);
@@ -664,9 +668,11 @@ mod tests {
partial_world
.chunks
.set(&ChunkPos { x: 0, z: 0 }, Some(Chunk::default()), &mut world);
- partial_world
- .chunks
- .set_block_state(BlockPos::new(0, 0, 0), Block::Stone.into(), &world);
+ partial_world.chunks.set_block_state(
+ BlockPos::new(0, 0, 0),
+ BlockKind::Stone.into(),
+ &world,
+ );
partial_world
.chunks
.set_block_state(BlockPos::new(0, 1, 0), BlockState::AIR, &world);
diff --git a/codegen/genblocks.py b/codegen/genblocks.py
index d4d4b9ae..78cc56e6 100644
--- a/codegen/genblocks.py
+++ b/codegen/genblocks.py
@@ -7,21 +7,24 @@ import lib.download
import lib.extract
import lib.utils
+
def generate(version_id):
- pumpkin_block_datas = lib.extract.get_pumpkin_data(version_id, 'blocks')
+ pumpkin_block_datas = lib.extract.get_pumpkin_data(version_id, "blocks")
burger_data = lib.extract.get_burger_data_for_version(version_id)
block_states_report = lib.extract.get_block_states_report(version_id)
- registries = lib.extract.get_registries_report(version_id)
+ registries = lib.extract.get_builtin_registries_report(version_id)
ordered_blocks = lib.code.blocks.get_ordered_blocks(registries)
- lib.code.blocks.generate_blocks(block_states_report, pumpkin_block_datas, ordered_blocks, burger_data)
+ lib.code.blocks.generate_blocks(
+ block_states_report, pumpkin_block_datas, ordered_blocks, burger_data
+ )
lib.code.shapes.generate_block_shapes(pumpkin_block_datas, block_states_report)
lib.code.utils.fmt()
- print('Done!')
+ print("Done!")
-if __name__ == '__main__':
+if __name__ == "__main__":
generate(lib.code.version.get_version_id())
diff --git a/codegen/genregistries.py b/codegen/genregistries.py
index d34cce97..ce91ee81 100644
--- a/codegen/genregistries.py
+++ b/codegen/genregistries.py
@@ -7,20 +7,24 @@ import lib.extract
def generate(version_id: str):
- registries = lib.extract.get_registries_report(version_id)
+ builtin_registries = lib.extract.get_builtin_registries_report(version_id)
+ data_registries = lib.extract.get_data_registries(version_id)
- lib.code.registry.generate_registries(registries)
- lib.code.inventory.update_menus(registries["minecraft:menu"]["entries"])
+ lib.code.registry.generate_builtin_registries(builtin_registries)
+ lib.code.registry.generate_data_registries(data_registries)
+ lib.code.inventory.update_menus(builtin_registries["minecraft:menu"]["entries"])
block_tags = lib.extract.get_registry_tags(version_id, "block")
item_tags = lib.extract.get_registry_tags(version_id, "item")
fluid_tags = lib.extract.get_registry_tags(version_id, "fluid")
entity_tags = lib.extract.get_registry_tags(version_id, "entity_type")
- lib.code.tags.generate_tags(block_tags, "blocks", "Block")
- lib.code.tags.generate_tags(item_tags, "items", "Item")
- lib.code.tags.generate_tags(fluid_tags, "fluids", "Fluid")
- lib.code.tags.generate_tags(entity_tags, "entities", "EntityKind")
+ lib.code.tags.generate_tags(builtin_registries, block_tags, "blocks", "block")
+ lib.code.tags.generate_tags(builtin_registries, item_tags, "items", "item")
+ lib.code.tags.generate_tags(builtin_registries, fluid_tags, "fluids", "fluid")
+ lib.code.tags.generate_tags(
+ builtin_registries, entity_tags, "entities", "entity_type"
+ )
lib.code.utils.fmt()
diff --git a/codegen/lib/code/blocks.py b/codegen/lib/code/blocks.py
index 9f783690..84d9fffb 100644
--- a/codegen/lib/code/blocks.py
+++ b/codegen/lib/code/blocks.py
@@ -6,7 +6,7 @@ BLOCKS_RS_DIR = get_dir_location("../azalea-block/src/generated.rs")
# - Property: A property of a block, like "direction"
# - Variant: A potential state of a property, like "up"
# - State: A possible state of a block, a combination of variants
-# - Block: Has properties and states.
+# - BlockKind: Has properties and states.
def generate_blocks(
@@ -85,7 +85,7 @@ def generate_blocks(
new_make_block_states_macro_code.append(" },")
- # Block codegen
+ # BlockKind codegen
new_make_block_states_macro_code.append(" Blocks => {")
for block_id in ordered_blocks:
block_data_report = blocks_report["minecraft:" + block_id]
diff --git a/codegen/lib/code/data_components.py b/codegen/lib/code/data_components.py
index d4c13118..38060662 100644
--- a/codegen/lib/code/data_components.py
+++ b/codegen/lib/code/data_components.py
@@ -47,7 +47,7 @@ def generate(version_id: str):
def get_expected_variants(version_id: str):
expected_variants = []
- registries = lib.extract.get_registries_report(version_id)
+ registries = lib.extract.get_builtin_registries_report(version_id)
registry = registries["minecraft:data_component_type"]
registry_entries = sorted(
@@ -182,7 +182,7 @@ use std::collections::HashMap;
use azalea_chat::translatable_component::TranslatableComponent;
use azalea_core::attribute_modifier_operation::AttributeModifierOperation;
use azalea_registry::{
- Attribute, Block, DataRegistry, EntityKind, HolderSet, Item, MobEffect, SoundEvent,
+ Attribute, BlockKind, DataRegistry, EntityKind, HolderSet, ItemKind, MobEffect, SoundEvent,
};
use simdnbt::owned::NbtCompound;
@@ -207,7 +207,7 @@ use crate::{
component_value
)
- registries = lib.extract.get_registries_report(version_id)
+ registries = lib.extract.get_builtin_registries_report(version_id)
item_resource_id_to_protocol_id = {}
item_resource_ids = [None] * len(registries["minecraft:item"]["entries"])
for item_resource_id, item_data in registries["minecraft:item"]["entries"].items():
@@ -358,7 +358,7 @@ use crate::{
list(python_value.values())[0], target_rust_type
)
elif target_rust_type == "ItemStack":
- item_rust_value = python_to_rust_value(python_value["id"], "Item")
+ item_rust_value = python_to_rust_value(python_value["id"], "ItemKind")
count = python_value["count"]
if count == 1:
return f"ItemStack::from({item_rust_value})"
@@ -430,7 +430,7 @@ use crate::{
elif target_rust_type == "DamageType":
# TODO: this is intentionally incorrect, see the comment in
# azalea-registry/src/data.rs to see how to fix this properly
- return "DamageType::Registry(azalea_registry::DamageKind::new_raw(0))"
+ return "DamageType::Registry(azalea_registry::data::DamageKind::new_raw(0))"
else:
# enum variant
return f"{target_rust_type}::{lib.utils.to_camel_case(python_value.split(':')[-1])}"
@@ -464,9 +464,9 @@ use crate::{
tag_name = lib.utils.to_snake_case(v.split(":")[-1]).upper()
if inner_type == "EntityKind":
tag_module = "entities"
- elif inner_type == "Item":
+ elif inner_type == "ItemKind":
tag_module = "items"
- elif inner_type == "Block":
+ elif inner_type == "BlockKind":
tag_module = "blocks"
else:
tag_module = "FIXME_UNKNOWN_MODULE"
@@ -561,7 +561,9 @@ use crate::{
if len(values_set) == 1:
# always returns the same value
code.append(f"impl DefaultableComponent for {component_struct_name} {{")
- code.append(" fn default_for_item(_item: Item) -> Option<Self> {")
+ code.append(
+ " fn default_for_item(_item: ItemKind) -> Option<Self> {"
+ )
value = next(iter(values_set))
code.append(f" Some({transform_value_fn(value)})")
code.append(" }")
@@ -587,7 +589,7 @@ use crate::{
code.append(static_def_line)
code.append(f"impl DefaultableComponent for {component_struct_name} {{")
- code.append(" fn default_for_item(item: Item) -> Option<Self> {")
+ code.append(" fn default_for_item(item: ItemKind) -> Option<Self> {")
code.append(f" let value = {static_values_name}[item as usize];")
if none_value_is_used:
code.append(f" if value == {none_value} {{")
@@ -599,18 +601,22 @@ use crate::{
elif includes_every_item_but_mostly_same_values:
code.append(f"impl DefaultableComponent for {component_struct_name} {{")
if default_values_count_except_most_common > 0:
- code.append(" fn default_for_item(item: Item) -> Option<Self> {")
+ code.append(" fn default_for_item(item: ItemKind) -> Option<Self> {")
code.append(" let value = match item {")
for item_resource_id, value in item_defaults.items():
if value == most_common_default_value:
continue
item_variant_name = lib.utils.to_camel_case(item_resource_id)
- code.append(f" Item::{item_variant_name} => {value},")
+ code.append(
+ f" ItemKind::{item_variant_name} => {value},"
+ )
code.append(f" _ => {most_common_default_value},")
code.append(" };")
code.append(f" Some({transform_value_fn('value')})")
else:
- code.append(" fn default_for_item(_item: Item) -> Option<Self> {")
+ code.append(
+ " fn default_for_item(_item: ItemKind) -> Option<Self> {"
+ )
code.append(
f" Some({transform_value_fn(most_common_default_value)})"
)
@@ -618,11 +624,11 @@ use crate::{
code.append("}")
else:
code.append(f"impl DefaultableComponent for {component_struct_name} {{")
- code.append(" fn default_for_item(item: Item) -> Option<Self> {")
+ code.append(" fn default_for_item(item: ItemKind) -> Option<Self> {")
code.append(" let value = match item {")
for item_resource_id, value in item_defaults.items():
item_variant_name = lib.utils.to_camel_case(item_resource_id)
- code.append(f" Item::{item_variant_name} => {value},")
+ code.append(f" ItemKind::{item_variant_name} => {value},")
code.append(" _ => return None,")
code.append(" };")
code.append(f" Some({transform_value_fn('value')})")
diff --git a/codegen/lib/code/entity.py b/codegen/lib/code/entity.py
index e9da0404..2fc66b0f 100644
--- a/codegen/lib/code/entity.py
+++ b/codegen/lib/code/entity.py
@@ -114,7 +114,7 @@ use azalea_core::{
position::{BlockPos, Vec3f32},
};
use azalea_inventory::{ItemStack, components};
-use azalea_registry::DataRegistry;
+use azalea_registry::{DataRegistry, builtin::EntityKind};
use bevy_ecs::{bundle::Bundle, component::Component};
use derive_more::{Deref, DerefMut};
use thiserror::Error;
@@ -456,15 +456,15 @@ impl From<EntityDataValue> for UpdateMetadataError {
default = "simdnbt::owned::NbtCompound::default()"
# elif type_name == 'CatVariant':
# # TODO: the default should be Tabby but we don't have a way to get that from here
- # default = 'azalea_registry::CatVariant::new_raw(0)'
+ # default = 'azalea_registry::data::CatVariant::new_raw(0)'
# elif type_name == 'PaintingVariant':
- # default = 'azalea_registry::PaintingVariant::Kebab'
+ # default = 'azalea_registry::data::PaintingVariant::Kebab'
# elif type_name == 'FrogVariant':
- # default = 'azalea_registry::FrogVariant::Temperate'
+ # default = 'azalea_registry::data::FrogVariant::Temperate'
elif type_name.endswith("Variant"):
- default = f"azalea_registry::{type_name}::new_raw(0)"
+ default = f"azalea_registry::data::{type_name}::new_raw(0)"
elif type_name == "VillagerData":
- default = "VillagerData { kind: azalea_registry::VillagerKind::Plains, profession: azalea_registry::VillagerProfession::None, level: 0 }"
+ default = "VillagerData { kind: azalea_registry::builtin::VillagerKind::Plains, profession: azalea_registry::builtin::VillagerProfession::None, level: 0 }"
else:
default = (
f"{type_name}::default()"
@@ -581,7 +581,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
code.append(
"""pub fn apply_metadata(
entity: &mut bevy_ecs::system::EntityCommands,
- entity_kind: azalea_registry::EntityKind,
+ entity_kind: EntityKind,
items: Vec<EntityDataItem>,
) -> Result<(), UpdateMetadataError> {
match entity_kind {"""
@@ -591,7 +591,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
# not actually an entity
continue
struct_name: str = upper_first_letter(to_camel_case(entity_id))
- code.append(f" azalea_registry::EntityKind::{struct_name} => {{")
+ code.append(f" EntityKind::{struct_name} => {{")
code.append(" for d in items {")
code.append(f" {struct_name}::apply_metadata(entity, d)?;")
code.append(" }")
@@ -601,15 +601,15 @@ impl From<EntityDataValue> for UpdateMetadataError {
code.append("}")
code.append("")
- # pub fn apply_default_metadata(entity: &mut bevy_ecs::system::EntityCommands, kind: azalea_registry::EntityKind) {
+ # pub fn apply_default_metadata(entity: &mut bevy_ecs::system::EntityCommands, kind: EntityKind) {
# match kind {
- # azalea_registry::EntityKind::AreaEffectCloud => {
+ # EntityKind::AreaEffectCloud => {
# entity.insert(AreaEffectCloudMetadataBundle::default());
# }
# }
# }
code.append(
- "pub fn apply_default_metadata(entity: &mut bevy_ecs::system::EntityCommands, kind: azalea_registry::EntityKind) {"
+ "pub fn apply_default_metadata(entity: &mut bevy_ecs::system::EntityCommands, kind: EntityKind) {"
)
code.append(" match kind {")
for entity_id in burger_entity_metadata:
@@ -617,7 +617,7 @@ impl From<EntityDataValue> for UpdateMetadataError {
# not actually an entity
continue
struct_name: str = upper_first_letter(to_camel_case(entity_id))
- code.append(f" azalea_registry::EntityKind::{struct_name} => {{")
+ code.append(f" EntityKind::{struct_name} => {{")
code.append(
f" entity.insert({struct_name}MetadataBundle::default());"
)
diff --git a/codegen/lib/code/registry.py b/codegen/lib/code/registry.py
index 84d613ba..a01dc845 100644
--- a/codegen/lib/code/registry.py
+++ b/codegen/lib/code/registry.py
@@ -1,16 +1,17 @@
from lib.utils import get_dir_location, to_camel_case
-REGISTRIES_DIR = get_dir_location("../azalea-registry/src/lib.rs")
+BUILTIN_REGISTRIES_DIR = get_dir_location("../azalea-registry/src/builtin.rs")
+DATA_REGISTRIES_DIR = get_dir_location("../azalea-registry/src/data.rs")
-def generate_registries(registries: dict):
- with open(REGISTRIES_DIR, "r") as f:
+def generate_builtin_registries(registries: dict):
+ with open(BUILTIN_REGISTRIES_DIR, "r") as f:
code = f.read().split("\n")
existing_registry_enum_names = set()
for registry_name, registry in registries.items():
- # registry!(Block, {
+ # registry!(BlockKind, {
# Air => "minecraft:air",
# Stone => "minecraft:stone"
# });
@@ -68,18 +69,91 @@ def generate_registries(registries: dict):
else:
i += 1
- with open(REGISTRIES_DIR, "w") as f:
+ with open(BUILTIN_REGISTRIES_DIR, "w") as f:
+ f.write("\n".join(code))
+
+
+# data_registries looks like { "enchantment": [ "aqua_affinity", ... ] }
+def generate_data_registries(data_registries: dict):
+ with open(DATA_REGISTRIES_DIR, "r") as f:
+ code = f.read().split("\n")
+
+ existing_registry_struct_names = set()
+ for registry_name, registry_entries in data_registries.items():
+ registry_enum_name = registry_name_to_enum_name(registry_name.split("/")[-1])
+ existing_registry_struct_names.add(registry_enum_name)
+
+ # delete the unused data registries
+ i = 0
+ while i < len(code):
+ if code[i] == "data_registry! {":
+ i += 1
+ struct_name = code[i].split(" ")[0]
+ if struct_name not in existing_registry_struct_names:
+ print("removing data registry", struct_name)
+ i -= 1
+ while code[i] != "}":
+ code.pop(i)
+ code.pop(i)
+ # close the data_registry! block
+ code.pop(i)
+ else:
+ i += 1
+
+ for registry_name, registry_entries in data_registries.items():
+ # data_registry! {
+ # Enchantment => "enchantment",
+ # enum EnchantmentKey {
+ # AquaAffinity => "minecraft:aqua_affinity",
+ # }
+ # }
+
+ registry_enum_name = registry_name_to_enum_name(registry_name.split("/")[-1])
+
+ registry_code = []
+ registry_code.append(f'{registry_enum_name} => "{registry_name}",')
+ registry_code.append(f"enum {registry_enum_name}Key {{")
+ registry_entries.sort()
+ for variant_name in registry_entries:
+ variant_struct_name = to_camel_case(variant_name.split(":")[-1])
+ registry_code.append(f' {variant_struct_name} => "{variant_name}",')
+ registry_code.append("}")
+
+ # when we find a "data_registry! {" line, find the next line that starts
+ # with "enum <name>" and replace that until we find a line that's "}"
+ found = False
+ in_registry_macro = False
+ for i, line in enumerate(list(code)):
+ if not in_registry_macro and line == "data_registry! {":
+ in_registry_macro = True
+ elif in_registry_macro and line == registry_code[1]:
+ # found it, now delete until we get to "}"
+ while code[i] != "}":
+ code.pop(i)
+ code[i] = "\n".join(registry_code[1:])
+ found = True
+ break
+ if not found:
+ code.append("data_registry! {")
+ code.append("\n".join(registry_code))
+ code.append("}")
+ code.append("")
+
+ with open(DATA_REGISTRIES_DIR, "w") as f:
f.write("\n".join(code))
def registry_name_to_enum_name(registry_name: str) -> str:
registry_name = registry_name.split(":")[-1]
- if registry_name.endswith("_type"):
+ if registry_name == "block_type":
+ # avoid conflicting with BlockKind
+ registry_name = "abstract_block_kind"
+ elif registry_name.endswith("_type"):
# change _type to _kind because that's Rustier (and because _type
# is a reserved keyword)
registry_name = registry_name[:-5] + "_kind"
- elif registry_name in {"menu"}:
+ elif registry_name in {"menu", "block", "item"}:
registry_name += "_kind"
return to_camel_case(registry_name)
diff --git a/codegen/lib/code/tags.py b/codegen/lib/code/tags.py
index d3e561df..ff5a4061 100644
--- a/codegen/lib/code/tags.py
+++ b/codegen/lib/code/tags.py
@@ -1,34 +1,48 @@
+from lib.code.registry import registry_name_to_enum_name
from lib.utils import to_snake_case, upper_first_letter, get_dir_location, to_camel_case
-REGISTRIES_DIR = get_dir_location("../azalea-registry/src/tags")
+TAGS_DIR = get_dir_location("../azalea-registry/src/tags")
-def generate_tags(registries: dict, file_name: str, struct_name: str):
- tags_dir = f"{REGISTRIES_DIR}/{file_name}.rs"
+def generate_tags(registries: dict, tags: dict, file_name: str, registry_name: str):
+ struct_name = registry_name_to_enum_name(registry_name)
- generated = f"""// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
+ tags_dir = f"{TAGS_DIR}/{file_name}.rs"
-use std::{{collections::HashSet, sync::LazyLock}};
+ generated = f"""// This file was @generated by codegen/lib/code/tags.py, don't edit it manually!
+use std::sync::LazyLock;
-use crate::{struct_name};
+use crate::{{builtin::{struct_name}, tags::RegistryTag}};
"""
- for tag_name, tag in sorted(registries.items(), key=lambda x: x[0]):
- tag_name = tag_name.replace("/", "_")
- static_set_name = to_snake_case(tag_name).upper()
- generated += f"pub static {static_set_name}: LazyLock<HashSet<{struct_name}>> = LazyLock::new(|| HashSet::from_iter(["
+ protocol_ids = {}
+ for k, v in registries["minecraft:" + registry_name]["entries"].items():
+ protocol_ids[k.split(":")[1]] = v["protocol_id"]
+ for tag_name, tag in sorted(tags.items(), key=lambda x: x[0]):
+ entries = []
queue = tag["values"].copy()
while queue != []:
- item = queue.pop(0)
- namespace, item_name = item.split(":")
+ ident = queue.pop(0)
+ namespace, entry_name = ident.split(":")
if namespace[0] == "#":
- queue += registries[item_name]["values"]
+ queue += tags[entry_name]["values"]
continue
+ entries.append(entry_name)
+
+ tag_name = tag_name.replace("/", "_")
+ static_set_name = to_snake_case(tag_name).upper()
+ generated += f"pub static {static_set_name}: LazyLock<RegistryTag<{struct_name}>> = LazyLock::new(|| RegistryTag::new(vec!["
+
+ # this is important because we binary search registries in some cases
+ # and they need to be sorted by their rust Ord order
+ entries.sort(key=lambda e: protocol_ids[e])
+
+ for entry_name in entries:
generated += (
- f"{struct_name}::{upper_first_letter(to_camel_case(item_name))},\n"
+ f"{struct_name}::{upper_first_letter(to_camel_case(entry_name))},\n"
)
generated += "]));\n"
diff --git a/codegen/lib/extract.py b/codegen/lib/extract.py
index b575b697..b07e17ba 100644
--- a/codegen/lib/extract.py
+++ b/codegen/lib/extract.py
@@ -34,7 +34,7 @@ def get_block_states_report(version_id: str):
return get_report(version_id, "blocks")
-def get_registries_report(version_id: str):
+def get_builtin_registries_report(version_id: str):
return get_report(version_id, "registries")
@@ -73,6 +73,33 @@ def get_registry_tags(version_id: str, name: str):
return tags
+# note that these are different from "builtin" registries
+def get_data_registries(version_id: str):
+ generate_data_from_server_jar(version_id)
+ data_registries_dir = get_dir_location(
+ f"__cache__/generated-{version_id}/data/minecraft"
+ )
+ registries = {}
+
+ def add_entries_in_dir(parent_dir, registry_name):
+ entries = []
+ for variant_dir in os.listdir(os.path.join(parent_dir, registry_name)):
+ if not variant_dir.endswith(".json"):
+ continue
+ entries.append(variant_dir[:-5])
+ if len(entries) > 0:
+ registries[registry_name] = entries
+
+ for registry_name in os.listdir(data_registries_dir):
+ add_entries_in_dir(data_registries_dir, registry_name)
+ for registry_name in os.listdir(os.path.join(data_registries_dir, "worldgen")):
+ if registry_name != "biome":
+ continue
+ add_entries_in_dir(data_registries_dir, os.path.join("worldgen", registry_name))
+
+ return registries
+
+
python_command = None
diff --git a/codegen/migrate.py b/codegen/migrate.py
index 8695024e..643ea92c 100644
--- a/codegen/migrate.py
+++ b/codegen/migrate.py
@@ -43,7 +43,7 @@ print("Generating blocks and shapes...")
new_pumpkin_block_datas = lib.extract.get_pumpkin_data(new_version_id, "blocks")
new_block_states_report = lib.extract.get_block_states_report(new_version_id)
-new_registries = lib.extract.get_registries_report(new_version_id)
+new_registries = lib.extract.get_builtin_registries_report(new_version_id)
new_ordered_blocks = lib.code.blocks.get_ordered_blocks(new_registries)
lib.code.blocks.generate_blocks(