User:User-12316399/Technical changes/Tags - minecraft.fandom.com

Treść tej podstrony pochodzi z artykułu „User:User-12316399/Technical changes/Tags” w domenie minecraft.fandom.com na licencji CC BY-NC-SA 3.0
Gear (item)
This user page is a work in progress. 
Please help in the expansion or creation of this user page by expanding or improving it. The talk page may contain suggestions.

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[]

This section of the article is empty. 
You can help by adding to it.

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