User:User-12316399/Technical changes/Tags - minecraft.fandom.com
A green highlight in the "Tag name" column implies a new tag.
Block tags[]
Changes to existing block tags[]
#minecraft:impermeable[]
The #minecraft:impermeable block tag currently includes all full glass blocks, and nothing else. As a result, this excludes a multitude of non-full blocks, resulting in them producing dripping particles even though they shouldn't as the fluid above them is completely visible.
| Tag name | Values | Usage |
|---|---|---|
| glass | black_stained_glass, blue_stained_glass, brown_stained_glass, cyan_stained_glass, glass, gray_stained_glass, green_stained_glass, light_blue_stained_glass, light_gray_stained_glass, lime_stained_glass, magenta_stained_glass, orange_stained_glass, pink_stained_glass, purple_stained_glass, red_stained_glass, tinted_glass, white_stained_glass, yellow_stained_glass | Used to define #impermeable. |
| glass_panes | black_stained_glass_pane, blue_stained_glass_pane, brown_stained_glass_pane, cyan_stained_glass_pane, glass_pane, gray_stained_glass_pane, green_stained_glass_pane, light_blue_stained_glass_pane, light_gray_stained_glass_pane, lime_stained_glass_pane, magenta_stained_glass_pane, orange_stained_glass_pane, pink_stained_glass_pane, purple_stained_glass_pane, red_stained_glass_pane, white_stained_glass_pane, yellow_stained_glass_pane | Used to define #impermeable. |
| impermeable | #anvils, #doors, #fences, #fence_gates, #glass, #glass_panes, #trapdoors, #walls, bamboo, bell, cactus, end_rod, grindstone, ice, iron_bars, ladder, lightning_rod, piston, piston_head, slime_block, sticky_piston | Would be compressed from its current state using the #glass tag. Fixes MC-166290. |
Ideally, trapdoors would only be impermeable when open, piston heads only when not facing up, and pistons only when not facing down or not extended. However, this would either require the addition of block state combination support to tags, or for the permeability to be defined in the code instead of through tags.
Blocks which plants can be planted on[]
Alongside bamboo, 1.14 introduced the #minecraft:bamboo_plantable_on tag, for defining what blocks bamboo can be placed on. This tag is unique; despite many other plants having restrictions as to what plants can be placed on them, these are mostly hardcoded (although mushrooms do have a dedicated tag for blocks they can be planted on without light level restrictions), and tag changing capabilities are minimal. This is not a desirable inconsistency.
| Tag name | Values | Usage |
|---|---|---|
| bamboo_plantable_on | bamboo, bamboo_sapling, gravel, #overworld_plantable_on, #sand | Compressed through usage of #general_plantable_on. Farmland is a new addition as a result, fixing MC-168265. |
| cactus_plantable_on | #sand, cactus | Dictates what cactus can be planted on. Could possibly also include #general_plantable_on for new plantation possibilities. |
| chorus_flower_plantable_on | chorus_plant, end_stone | Dictates what chorus flowers can be planted on. |
| cocoa_plantable_on | #jungle_logs | Dictates what cocoa (cocoa beans) can be planted on, rather than the #jungle_logs tag itself just being used for this directly as is currently done. |
| crops_plantable_on | farmland | Dictates what beetroots (beetroot seeds), carrots, potatoes, wheat (wheat seeds), melon stems and attached melon stems (melon seeds), and pumpkin stems and attached pumpkin stems (pumpkin seeds) can be planted on. |
| dead_bush_plantable_on | #overworld_plantable_on, #sand, #terracotta | Dictates what dead bushes can be planted on. Farmland is a new addition as a result, fixing MC-168262. |
| melon_generation_bases | #dirt, farmland | Melon stems can generate melons on top of these blocks, rather than the #dirt tag itself just being used for this directly with farmland being a hardcoded addition as is currently done. |
| nether_wart_plantable_on | soul_sand | Dictates what nether wart can be planted on. |
| nether_plantable_on | #nylium, #overworld_plantable_on, soul_soil | Dictates what fungus, roots and nether sprouts can be placed on. Soul sand could be added to this to fix MC-191255, and netherrack to fix MC-195307. |
| overworld_plantable_on | #dirt, farmland | Dictates what flowers, grass, ferns, and saplings can be planted on. Could potentially also include #sand, clay and gravel due to being soils for new plantation possibilities. |
| pumpkin_generation_bases | #dirt, farmland | Pumpkin stems can generate pumpkins on top of these blocks, rather than the #dirt tag itself just being used for this directly with farmland being a hardcoded addition as is currently done. |
| small_dripleaf_plantable_on | clay, moss_block | Dictates what small dripleaf can be placed on outside of water. |
| small_dripleaf_underwater_plantable_on | #overworld_plantable_on, #small_dripleaf_plantable_on | Dictates what small dripleaf can be placed on inside of water. |
| sugar_cane_plantable_on | sugar_cane | Dictates what sugar cane can be planted on regardless of that base block's surroundings. |
| sugar_cane_plantable_on_next_to_water | #overworld_plantable_on, #sand, #sugar_cane_plantable_on | Dictates what sugar cane can be planted on if that block also happens to have water next to it. Farmland is a new addition as a result, fixing MC-168264. |
| terracotta | black_terracotta, blue_terracotta, brown_terracotta, cyan_terracotta, gray_terracotta, green_terracotta, light_blue_terracotta, light_gray_terracotta, lime_terracotta, magenta_terracotta, orange_terracotta, pink_terracotta, purple_terracotta, red_terracotta, terracotta, white_terracotta, yellow_terracotta | Used to define #dead_bush_plantable_on. |
Instead of _plantable_on, these could be instead suffixed with _bases.
Two-block-tall flowers, grass and ferns could also make use of these tags, as any potential issues caused by the top half not recognising the bottom half as a valid support block could be resolved in the code instead.
New block tags[]
Blocks broken faster by shears[]
1.17 added tags for blocks which can be broken faster by pickaxes, axes, hoes and shovels. However, for some reason, shears were not given a tag and remain hardcoded, despite having blocks they can break faster.
| Tag name | Values | Usage |
|---|---|---|
| mineable/shears | #leaves, #wool, cobweb, glow_lichen, vines | Blocks in this tag are mined faster with shears. |
Multiblock structures: conduits, enchanting libraries and nether portals[]
1.16 added the #minecraft:beacon_base_blocks tag, allowing for any block to be defined as a valid base for a beacon. However, similar multiblock structures in the game were left behind and remain hardcoded. this may be due to two of these only having a single member in vanilla, however having these be tag controlled is still probably a better option.
| Tag name | Values | Usage |
|---|---|---|
| conduit_frames | dark_prismarine, prismarine, prismarine_bricks, sea_lantern | Conduits will be powered by frames consisting of these. |
| enchanting_table_power_blocks | bookshelf | Enchanting tables will be powered by libraries consisting of these. |
| nether_portal_frames | obsidian | Hollow rectangles built out of these blocks can be lit to create a nether portal. |
If wood variant bookshelves are ever implemented, it may be worth also adding a #minecraft:bookshelves tag, and then having this tag be included in #minecraft:enchanting_table_power_blocks.
Blocks which deny connections[]
Currently there are a multitude of full, solid blocks which fences, walls, iron bars and glass panes connect to. Their specification in the code is absurd, containing a mixture of hardcoded cases and a tag. It would be much better to just havge a dedicated tag for these instead, analogously to #minecraft:wall_post_override.
| Tag name | Values | Usage |
|---|---|---|
| disallow_connections | #gourds, #leaves, #shulker_boxes, barrier | Fences, walls, iron bars and glass panes will not connect to blocks in this tag. |
| gourds | carved_pumpkin, jack_o_lantern, melon, pumpkin | Used to define #disallow_connections. Could also compress #mineable/axe slightly. |
Due to leaves not being considered as having a solid face for placement, it is unclear if leaves being in this tag, or even their current listing in this line of code, is redundant anyway.
Crop blocks[]
Crops in Minecraft, unlike other plant blocks, have an interesting ability in that they can preserve farmland below them for all eternity, no matter how dry, from reverting to dirt due to random ticks.
| Tag name | Values | Usage |
|---|---|---|
| attached_stems | attached_melon_stem, attached_pumpkin_stem | Used to define #crops. |
| crops | #attached_stems, #stems, beetroots, carrots, potatoes, wheat | Farmland will not revert to dirt over time if one of these blocks is on top of it. |
| stems | melon_stem, pumpkin_stem | Used to define #crops. |
While this tag would only contain crops, it could also be expanded to include blocks such as flowers, saplings and other plants it can support.
Block tags to rename[]
Content from the unintuitive ID list could go here, such as the "logs" tag containing wood, rather than there being a "wood" tag also containing logs.
Other things to change about tags[]
- Entity tags should be shown in the debug screen, like block and fluid tags are.
- The names of directories for tags are inconsistent with asset directories.
- blocks should be changed to block
- items should be changed to item
- entity_types should be changed to entity