mirror of
https://github.com/FabricMC/fabric.git
synced 2024-11-14 19:25:23 -05:00
Convention Tags Improvements (#3051)
* First pass: refactor a bit, add missing item tags that have block tags, add resource category tags and wooden_barrels * Fix #2831: Move entity buckets to c:entity_water_buckets * Add villager_job_sites and sandstone tags * Add alternative cauldrons to villager job sites. Signed-off-by: modmuss50 <modmuss50@gmail.com> --------- Signed-off-by: modmuss50 <modmuss50@gmail.com> Co-authored-by: modmuss50 <modmuss50@gmail.com>
This commit is contained in:
parent
fffc558953
commit
8eca92ff9a
45 changed files with 544 additions and 103 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -28,7 +28,8 @@ out/
|
|||
classes/
|
||||
|
||||
# Generated sources
|
||||
**/src/generated/
|
||||
# The trailing * is important, otherwise Git wouldn't evaluate the directories at all and we wouldn't be able to un-ignore some of them.
|
||||
**/src/generated/*
|
||||
|
||||
# Debug artifacts
|
||||
run
|
||||
|
|
3
fabric-convention-tags-v1/.gitignore
vendored
3
fabric-convention-tags-v1/.gitignore
vendored
|
@ -1 +1,4 @@
|
|||
# un-ignore generated resources
|
||||
!/src/generated/resources/
|
||||
# re-ignore the caches
|
||||
/src/generated/resources/.cache/
|
||||
|
|
|
@ -30,10 +30,10 @@ public class DatagenEntrypoint implements DataGeneratorEntrypoint {
|
|||
public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
|
||||
final FabricDataGenerator.Pack pack = fabricDataGenerator.createPack();
|
||||
|
||||
pack.addProvider(ItemTagGenerator::new);
|
||||
BlockTagGenerator blockTags = pack.addProvider(BlockTagGenerator::new);
|
||||
pack.addProvider((output, wrapperLookup) -> new ItemTagGenerator(output, wrapperLookup, blockTags));
|
||||
pack.addProvider(FluidTagGenerator::new);
|
||||
pack.addProvider(EnchantmentTagGenerator::new);
|
||||
pack.addProvider(BlockTagGenerator::new);
|
||||
pack.addProvider(BiomeTagGenerator::new);
|
||||
pack.addProvider(EntityTypeTagGenerator::new);
|
||||
}
|
||||
|
|
|
@ -16,19 +16,38 @@
|
|||
|
||||
package net.fabricmc.fabric.impl.tag.convention.datagen.generators;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.Blocks;
|
||||
import net.minecraft.registry.RegistryWrapper;
|
||||
import net.minecraft.registry.tag.BlockTags;
|
||||
import net.minecraft.registry.RegistryKey;
|
||||
|
||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||
import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBlockTags;
|
||||
|
||||
public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider {
|
||||
static List<Block> VILLAGER_JOB_SITE_BLOCKS = List.of(
|
||||
Blocks.BARREL,
|
||||
Blocks.BLAST_FURNACE,
|
||||
Blocks.BREWING_STAND,
|
||||
Blocks.CARTOGRAPHY_TABLE,
|
||||
Blocks.CAULDRON,
|
||||
Blocks.LAVA_CAULDRON,
|
||||
Blocks.WATER_CAULDRON,
|
||||
Blocks.POWDER_SNOW_CAULDRON,
|
||||
Blocks.COMPOSTER,
|
||||
Blocks.FLETCHING_TABLE,
|
||||
Blocks.GRINDSTONE,
|
||||
Blocks.LECTERN,
|
||||
Blocks.LOOM,
|
||||
Blocks.SMITHING_TABLE,
|
||||
Blocks.SMOKER,
|
||||
Blocks.STONECUTTER
|
||||
);
|
||||
|
||||
public BlockTagGenerator(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
|
||||
super(output, registriesFuture);
|
||||
}
|
||||
|
@ -47,6 +66,7 @@ public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider {
|
|||
.addOptionalTag(BlockTags.LAPIS_ORES)
|
||||
.addOptionalTag(BlockTags.DIAMOND_ORES)
|
||||
.addOptionalTag(ConventionalBlockTags.QUARTZ_ORES);
|
||||
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.CHESTS)
|
||||
.add(Blocks.CHEST)
|
||||
.add(Blocks.ENDER_CHEST)
|
||||
|
@ -55,11 +75,63 @@ public class BlockTagGenerator extends FabricTagProvider.BlockTagProvider {
|
|||
.add(Blocks.BOOKSHELF);
|
||||
generateGlassTags();
|
||||
generateShulkerTag();
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.WOODEN_BARRELS)
|
||||
.add(Blocks.BARREL);
|
||||
|
||||
generateBuddingTags();
|
||||
|
||||
VILLAGER_JOB_SITE_BLOCKS.forEach(getOrCreateTagBuilder(ConventionalBlockTags.VILLAGER_JOB_SITES)::add);
|
||||
|
||||
generateSandstoneTags();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected RegistryKey<Block> reverseLookup(Block block) {
|
||||
return block.getRegistryEntry().registryKey();
|
||||
private void generateSandstoneTags() {
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_BLOCKS)
|
||||
.addOptionalTag(ConventionalBlockTags.UNCOLORED_SANDSTONE_BLOCKS)
|
||||
.addOptionalTag(ConventionalBlockTags.RED_SANDSTONE_BLOCKS);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_SLABS)
|
||||
.addOptionalTag(ConventionalBlockTags.UNCOLORED_SANDSTONE_SLABS)
|
||||
.addOptionalTag(ConventionalBlockTags.RED_SANDSTONE_SLABS);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.SANDSTONE_STAIRS)
|
||||
.addOptionalTag(ConventionalBlockTags.UNCOLORED_SANDSTONE_STAIRS)
|
||||
.addOptionalTag(ConventionalBlockTags.RED_SANDSTONE_STAIRS);
|
||||
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_BLOCKS)
|
||||
.add(Blocks.RED_SANDSTONE)
|
||||
.add(Blocks.CHISELED_RED_SANDSTONE)
|
||||
.add(Blocks.CUT_RED_SANDSTONE)
|
||||
.add(Blocks.SMOOTH_RED_SANDSTONE);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_SLABS)
|
||||
.add(Blocks.RED_SANDSTONE_SLAB)
|
||||
.add(Blocks.CUT_RED_SANDSTONE_SLAB)
|
||||
.add(Blocks.SMOOTH_RED_SANDSTONE_SLAB);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.RED_SANDSTONE_STAIRS)
|
||||
.add(Blocks.RED_SANDSTONE_STAIRS)
|
||||
.add(Blocks.SMOOTH_RED_SANDSTONE_STAIRS);
|
||||
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_BLOCKS)
|
||||
.add(Blocks.SANDSTONE)
|
||||
.add(Blocks.CHISELED_SANDSTONE)
|
||||
.add(Blocks.CUT_SANDSTONE)
|
||||
.add(Blocks.SMOOTH_SANDSTONE);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_SLABS)
|
||||
.add(Blocks.SANDSTONE_SLAB)
|
||||
.add(Blocks.CUT_SANDSTONE_SLAB)
|
||||
.add(Blocks.SMOOTH_SANDSTONE_SLAB);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.UNCOLORED_SANDSTONE_STAIRS)
|
||||
.add(Blocks.SANDSTONE_STAIRS)
|
||||
.add(Blocks.SMOOTH_SANDSTONE_STAIRS);
|
||||
}
|
||||
|
||||
private void generateBuddingTags() {
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.BUDDING_BLOCKS)
|
||||
.add(Blocks.BUDDING_AMETHYST);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.BUDS)
|
||||
.add(Blocks.SMALL_AMETHYST_BUD)
|
||||
.add(Blocks.MEDIUM_AMETHYST_BUD)
|
||||
.add(Blocks.LARGE_AMETHYST_BUD);
|
||||
getOrCreateTagBuilder(ConventionalBlockTags.CLUSTERS)
|
||||
.add(Blocks.AMETHYST_CLUSTER);
|
||||
}
|
||||
|
||||
private void generateShulkerTag() {
|
||||
|
|
|
@ -18,14 +18,16 @@ package net.fabricmc.fabric.impl.tag.convention.datagen.generators;
|
|||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
import net.minecraft.item.ItemConvertible;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.registry.tag.ItemTags;
|
||||
import net.minecraft.util.Identifier;
|
||||
import net.minecraft.registry.Registries;
|
||||
import net.minecraft.registry.RegistryWrapper;
|
||||
import net.minecraft.registry.tag.ItemTags;
|
||||
import net.minecraft.util.Identifier;
|
||||
|
||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
|
||||
import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider;
|
||||
import net.fabricmc.fabric.api.tag.convention.v1.ConventionalBlockTags;
|
||||
import net.fabricmc.fabric.api.tag.convention.v1.ConventionalItemTags;
|
||||
|
||||
public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider {
|
||||
|
@ -48,8 +50,8 @@ public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider {
|
|||
@Deprecated
|
||||
private static final Identifier FABRIC_SWORDS = createFabricId("swords");
|
||||
|
||||
public ItemTagGenerator(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture) {
|
||||
super(output, completableFuture);
|
||||
public ItemTagGenerator(FabricDataOutput output, CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture, FabricTagProvider.BlockTagProvider blockTags) {
|
||||
super(output, completableFuture, blockTags);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -58,9 +60,32 @@ public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider {
|
|||
generateBucketTags();
|
||||
generateOreAndRelatedTags();
|
||||
generateConsumableTags();
|
||||
generateGlassTags();
|
||||
generateShulkerTag();
|
||||
generateDyeTags();
|
||||
generateVillagerJobSites();
|
||||
copyItemTags();
|
||||
}
|
||||
|
||||
private void copyItemTags() {
|
||||
copy(ConventionalBlockTags.BOOKSHELVES, ConventionalItemTags.BOOKSHELVES);
|
||||
copy(ConventionalBlockTags.CHESTS, ConventionalItemTags.CHESTS);
|
||||
copy(ConventionalBlockTags.GLASS_BLOCKS, ConventionalItemTags.GLASS_BLOCKS);
|
||||
copy(ConventionalBlockTags.GLASS_PANES, ConventionalItemTags.GLASS_PANES);
|
||||
copy(ConventionalBlockTags.SHULKER_BOXES, ConventionalItemTags.SHULKER_BOXES);
|
||||
copy(ConventionalBlockTags.WOODEN_BARRELS, ConventionalItemTags.WOODEN_BARRELS);
|
||||
|
||||
copy(ConventionalBlockTags.BUDDING_BLOCKS, ConventionalItemTags.BUDDING_BLOCKS);
|
||||
copy(ConventionalBlockTags.BUDS, ConventionalItemTags.BUDS);
|
||||
copy(ConventionalBlockTags.CLUSTERS, ConventionalItemTags.CLUSTERS);
|
||||
|
||||
copy(ConventionalBlockTags.SANDSTONE_BLOCKS, ConventionalItemTags.SANDSTONE_BLOCKS);
|
||||
copy(ConventionalBlockTags.SANDSTONE_SLABS, ConventionalItemTags.SANDSTONE_SLABS);
|
||||
copy(ConventionalBlockTags.SANDSTONE_STAIRS, ConventionalItemTags.SANDSTONE_STAIRS);
|
||||
copy(ConventionalBlockTags.RED_SANDSTONE_BLOCKS, ConventionalItemTags.RED_SANDSTONE_BLOCKS);
|
||||
copy(ConventionalBlockTags.RED_SANDSTONE_SLABS, ConventionalItemTags.RED_SANDSTONE_SLABS);
|
||||
copy(ConventionalBlockTags.RED_SANDSTONE_STAIRS, ConventionalItemTags.RED_SANDSTONE_STAIRS);
|
||||
copy(ConventionalBlockTags.UNCOLORED_SANDSTONE_BLOCKS, ConventionalItemTags.UNCOLORED_SANDSTONE_BLOCKS);
|
||||
copy(ConventionalBlockTags.UNCOLORED_SANDSTONE_SLABS, ConventionalItemTags.UNCOLORED_SANDSTONE_SLABS);
|
||||
copy(ConventionalBlockTags.UNCOLORED_SANDSTONE_STAIRS, ConventionalItemTags.UNCOLORED_SANDSTONE_STAIRS);
|
||||
}
|
||||
|
||||
private void generateDyeTags() {
|
||||
|
@ -115,67 +140,6 @@ public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider {
|
|||
.add(Items.PURPLE_DYE);
|
||||
}
|
||||
|
||||
private void generateShulkerTag() {
|
||||
getOrCreateTagBuilder(ConventionalItemTags.SHULKER_BOXES)
|
||||
.add(Items.SHULKER_BOX)
|
||||
.add(Items.BLUE_SHULKER_BOX)
|
||||
.add(Items.BROWN_SHULKER_BOX)
|
||||
.add(Items.CYAN_SHULKER_BOX)
|
||||
.add(Items.GRAY_SHULKER_BOX)
|
||||
.add(Items.GREEN_SHULKER_BOX)
|
||||
.add(Items.LIGHT_BLUE_SHULKER_BOX)
|
||||
.add(Items.LIGHT_GRAY_SHULKER_BOX)
|
||||
.add(Items.LIME_SHULKER_BOX)
|
||||
.add(Items.MAGENTA_SHULKER_BOX)
|
||||
.add(Items.ORANGE_SHULKER_BOX)
|
||||
.add(Items.PINK_SHULKER_BOX)
|
||||
.add(Items.PURPLE_SHULKER_BOX)
|
||||
.add(Items.RED_SHULKER_BOX)
|
||||
.add(Items.WHITE_SHULKER_BOX)
|
||||
.add(Items.YELLOW_SHULKER_BOX)
|
||||
.add(Items.BLACK_SHULKER_BOX);
|
||||
}
|
||||
|
||||
private void generateGlassTags() {
|
||||
getOrCreateTagBuilder(ConventionalItemTags.GLASS_BLOCKS)
|
||||
.add(Items.GLASS)
|
||||
.add(Items.GRAY_STAINED_GLASS)
|
||||
.add(Items.BLACK_STAINED_GLASS)
|
||||
.add(Items.ORANGE_STAINED_GLASS)
|
||||
.add(Items.BLUE_STAINED_GLASS)
|
||||
.add(Items.BROWN_STAINED_GLASS)
|
||||
.add(Items.CYAN_STAINED_GLASS)
|
||||
.add(Items.GREEN_STAINED_GLASS)
|
||||
.add(Items.LIGHT_BLUE_STAINED_GLASS)
|
||||
.add(Items.LIGHT_GRAY_STAINED_GLASS)
|
||||
.add(Items.LIME_STAINED_GLASS)
|
||||
.add(Items.MAGENTA_STAINED_GLASS)
|
||||
.add(Items.PINK_STAINED_GLASS)
|
||||
.add(Items.PURPLE_STAINED_GLASS)
|
||||
.add(Items.RED_STAINED_GLASS)
|
||||
.add(Items.TINTED_GLASS)
|
||||
.add(Items.WHITE_STAINED_GLASS)
|
||||
.add(Items.YELLOW_STAINED_GLASS);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.GLASS_PANES)
|
||||
.add(Items.GLASS_PANE)
|
||||
.add(Items.GRAY_STAINED_GLASS_PANE)
|
||||
.add(Items.BLACK_STAINED_GLASS_PANE)
|
||||
.add(Items.ORANGE_STAINED_GLASS_PANE)
|
||||
.add(Items.BLUE_STAINED_GLASS_PANE)
|
||||
.add(Items.BROWN_STAINED_GLASS_PANE)
|
||||
.add(Items.CYAN_STAINED_GLASS_PANE)
|
||||
.add(Items.GREEN_STAINED_GLASS_PANE)
|
||||
.add(Items.LIGHT_BLUE_STAINED_GLASS_PANE)
|
||||
.add(Items.LIGHT_GRAY_STAINED_GLASS_PANE)
|
||||
.add(Items.LIME_STAINED_GLASS_PANE)
|
||||
.add(Items.MAGENTA_STAINED_GLASS_PANE)
|
||||
.add(Items.PINK_STAINED_GLASS_PANE)
|
||||
.add(Items.PURPLE_STAINED_GLASS_PANE)
|
||||
.add(Items.RED_STAINED_GLASS_PANE)
|
||||
.add(Items.WHITE_STAINED_GLASS_PANE)
|
||||
.add(Items.YELLOW_STAINED_GLASS_PANE);
|
||||
}
|
||||
|
||||
private void generateConsumableTags() {
|
||||
Registries.ITEM.forEach(item -> {
|
||||
if (item.getFoodComponent() != null) {
|
||||
|
@ -193,29 +157,37 @@ public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider {
|
|||
.add(Items.BUCKET);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.LAVA_BUCKETS)
|
||||
.add(Items.LAVA_BUCKET);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.WATER_BUCKETS)
|
||||
getOrCreateTagBuilder(ConventionalItemTags.ENTITY_WATER_BUCKETS)
|
||||
.add(Items.AXOLOTL_BUCKET)
|
||||
.add(Items.COD_BUCKET)
|
||||
.add(Items.PUFFERFISH_BUCKET)
|
||||
.add(Items.TROPICAL_FISH_BUCKET)
|
||||
.add(Items.SALMON_BUCKET)
|
||||
.add(Items.TADPOLE_BUCKET)
|
||||
.add(Items.TADPOLE_BUCKET);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.WATER_BUCKETS)
|
||||
.add(Items.WATER_BUCKET);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.MILK_BUCKETS)
|
||||
.add(Items.MILK_BUCKET);
|
||||
}
|
||||
|
||||
private void generateOreAndRelatedTags() {
|
||||
getOrCreateTagBuilder(ConventionalItemTags.ORES)
|
||||
.addOptionalTag(ItemTags.IRON_ORES)
|
||||
.addOptionalTag(ItemTags.COPPER_ORES)
|
||||
.addOptionalTag(ItemTags.REDSTONE_ORES)
|
||||
.addOptionalTag(ItemTags.GOLD_ORES)
|
||||
.addOptionalTag(ItemTags.COAL_ORES)
|
||||
.addOptionalTag(ItemTags.DIAMOND_ORES)
|
||||
.addOptionalTag(ItemTags.LAPIS_ORES)
|
||||
.addOptionalTag(ConventionalItemTags.QUARTZ_ORES)
|
||||
.addOptionalTag(ItemTags.EMERALD_ORES);
|
||||
// Categories
|
||||
getOrCreateTagBuilder(ConventionalItemTags.DUSTS)
|
||||
.add(Items.GLOWSTONE_DUST)
|
||||
.add(Items.REDSTONE);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.GEMS)
|
||||
.add(Items.DIAMOND, Items.EMERALD, Items.AMETHYST_SHARD, Items.LAPIS_LAZULI);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.INGOTS)
|
||||
.add(Items.COPPER_INGOT, Items.GOLD_INGOT, Items.IRON_INGOT, Items.NETHERITE_INGOT);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.NUGGETS)
|
||||
.add(Items.GOLD_NUGGET, Items.IRON_NUGGET);
|
||||
copy(ConventionalBlockTags.ORES, ConventionalItemTags.ORES);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.RAW_ORES)
|
||||
.addOptionalTag(ConventionalItemTags.RAW_IRON_ORES)
|
||||
.addOptionalTag(ConventionalItemTags.RAW_COPPER_ORES)
|
||||
.addOptionalTag(ConventionalItemTags.RAW_GOLD_ORES);
|
||||
|
||||
// Vanilla instances
|
||||
getOrCreateTagBuilder(ConventionalItemTags.IRON_INGOTS)
|
||||
.add(Items.IRON_INGOT);
|
||||
getOrCreateTagBuilder(ConventionalItemTags.COPPER_INGOTS)
|
||||
|
@ -320,6 +292,13 @@ public class ItemTagGenerator extends FabricTagProvider.ItemTagProvider {
|
|||
.add(Items.SHIELD);
|
||||
}
|
||||
|
||||
private void generateVillagerJobSites() {
|
||||
BlockTagGenerator.VILLAGER_JOB_SITE_BLOCKS.stream()
|
||||
.map(ItemConvertible::asItem)
|
||||
.distinct() // cauldron blocks have the same item
|
||||
.forEach(getOrCreateTagBuilder(ConventionalItemTags.VILLAGER_JOB_SITES)::add);
|
||||
}
|
||||
|
||||
private static Identifier createFabricId(String id) {
|
||||
return new Identifier("fabric", id);
|
||||
}
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:budding_amethyst"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:small_amethyst_bud",
|
||||
"minecraft:medium_amethyst_bud",
|
||||
"minecraft:large_amethyst_bud"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:amethyst_cluster"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:red_sandstone",
|
||||
"minecraft:chiseled_red_sandstone",
|
||||
"minecraft:cut_red_sandstone",
|
||||
"minecraft:smooth_red_sandstone"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:red_sandstone_slab",
|
||||
"minecraft:cut_red_sandstone_slab",
|
||||
"minecraft:smooth_red_sandstone_slab"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:red_sandstone_stairs",
|
||||
"minecraft:smooth_red_sandstone_stairs"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:uncolored_sandstone_blocks",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:red_sandstone_blocks",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:uncolored_sandstone_slabs",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:red_sandstone_slabs",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:uncolored_sandstone_stairs",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:red_sandstone_stairs",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:sandstone",
|
||||
"minecraft:chiseled_sandstone",
|
||||
"minecraft:cut_sandstone",
|
||||
"minecraft:smooth_sandstone"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:sandstone_slab",
|
||||
"minecraft:cut_sandstone_slab",
|
||||
"minecraft:smooth_sandstone_slab"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:sandstone_stairs",
|
||||
"minecraft:smooth_sandstone_stairs"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:barrel",
|
||||
"minecraft:blast_furnace",
|
||||
"minecraft:brewing_stand",
|
||||
"minecraft:cartography_table",
|
||||
"minecraft:cauldron",
|
||||
"minecraft:lava_cauldron",
|
||||
"minecraft:water_cauldron",
|
||||
"minecraft:powder_snow_cauldron",
|
||||
"minecraft:composter",
|
||||
"minecraft:fletching_table",
|
||||
"minecraft:grindstone",
|
||||
"minecraft:lectern",
|
||||
"minecraft:loom",
|
||||
"minecraft:smithing_table",
|
||||
"minecraft:smoker",
|
||||
"minecraft:stonecutter"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:barrel"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:bookshelf"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:budding_amethyst"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:small_amethyst_bud",
|
||||
"minecraft:medium_amethyst_bud",
|
||||
"minecraft:large_amethyst_bud"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:chest",
|
||||
"minecraft:ender_chest",
|
||||
"minecraft:trapped_chest"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:amethyst_cluster"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:glowstone_dust",
|
||||
"minecraft:redstone"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:axolotl_bucket",
|
||||
"minecraft:cod_bucket",
|
||||
"minecraft:pufferfish_bucket",
|
||||
"minecraft:tropical_fish_bucket",
|
||||
"minecraft:salmon_bucket",
|
||||
"minecraft:tadpole_bucket"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:diamond",
|
||||
"minecraft:emerald",
|
||||
"minecraft:amethyst_shard",
|
||||
"minecraft:lapis_lazuli"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:copper_ingot",
|
||||
"minecraft:gold_ingot",
|
||||
"minecraft:iron_ingot",
|
||||
"minecraft:netherite_ingot"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:gold_nugget",
|
||||
"minecraft:iron_nugget"
|
||||
]
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#minecraft:iron_ores",
|
||||
"id": "#minecraft:redstone_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
|
@ -10,11 +10,11 @@
|
|||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#minecraft:redstone_ores",
|
||||
"id": "#minecraft:gold_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#minecraft:gold_ores",
|
||||
"id": "#minecraft:iron_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
|
@ -22,7 +22,7 @@
|
|||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#minecraft:diamond_ores",
|
||||
"id": "#minecraft:emerald_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
|
@ -30,11 +30,11 @@
|
|||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:quartz_ores",
|
||||
"id": "#minecraft:diamond_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#minecraft:emerald_ores",
|
||||
"id": "#c:quartz_ores",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:raw_iron_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:raw_copper_ores",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:raw_gold_ores",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:red_sandstone",
|
||||
"minecraft:chiseled_red_sandstone",
|
||||
"minecraft:cut_red_sandstone",
|
||||
"minecraft:smooth_red_sandstone"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:red_sandstone_slab",
|
||||
"minecraft:cut_red_sandstone_slab",
|
||||
"minecraft:smooth_red_sandstone_slab"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:red_sandstone_stairs",
|
||||
"minecraft:smooth_red_sandstone_stairs"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:uncolored_sandstone_blocks",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:red_sandstone_blocks",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:uncolored_sandstone_slabs",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:red_sandstone_slabs",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
{
|
||||
"id": "#c:uncolored_sandstone_stairs",
|
||||
"required": false
|
||||
},
|
||||
{
|
||||
"id": "#c:red_sandstone_stairs",
|
||||
"required": false
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:sandstone",
|
||||
"minecraft:chiseled_sandstone",
|
||||
"minecraft:cut_sandstone",
|
||||
"minecraft:smooth_sandstone"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:sandstone_slab",
|
||||
"minecraft:cut_sandstone_slab",
|
||||
"minecraft:smooth_sandstone_slab"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:sandstone_stairs",
|
||||
"minecraft:smooth_sandstone_stairs"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:barrel",
|
||||
"minecraft:blast_furnace",
|
||||
"minecraft:brewing_stand",
|
||||
"minecraft:cartography_table",
|
||||
"minecraft:cauldron",
|
||||
"minecraft:composter",
|
||||
"minecraft:fletching_table",
|
||||
"minecraft:grindstone",
|
||||
"minecraft:lectern",
|
||||
"minecraft:loom",
|
||||
"minecraft:smithing_table",
|
||||
"minecraft:smoker",
|
||||
"minecraft:stonecutter"
|
||||
]
|
||||
}
|
|
@ -1,12 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:axolotl_bucket",
|
||||
"minecraft:cod_bucket",
|
||||
"minecraft:pufferfish_bucket",
|
||||
"minecraft:tropical_fish_bucket",
|
||||
"minecraft:salmon_bucket",
|
||||
"minecraft:tadpole_bucket",
|
||||
"minecraft:water_bucket"
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"minecraft:barrel"
|
||||
]
|
||||
}
|
|
@ -30,13 +30,36 @@ public final class ConventionalBlockTags {
|
|||
private ConventionalBlockTags() {
|
||||
}
|
||||
|
||||
public static final TagKey<Block> QUARTZ_ORES = register("quartz_ores");
|
||||
// Ores and ingots - broad categories
|
||||
public static final TagKey<Block> ORES = register("ores");
|
||||
public static final TagKey<Block> CHESTS = register("chests");
|
||||
// Ores and ingots - vanilla instances
|
||||
public static final TagKey<Block> QUARTZ_ORES = register("quartz_ores");
|
||||
|
||||
public static final TagKey<Block> BOOKSHELVES = register("bookshelves");
|
||||
public static final TagKey<Block> CHESTS = register("chests");
|
||||
public static final TagKey<Block> GLASS_BLOCKS = register("glass_blocks");
|
||||
public static final TagKey<Block> GLASS_PANES = register("glass_panes");
|
||||
public static final TagKey<Block> SHULKER_BOXES = register("shulker_boxes");
|
||||
public static final TagKey<Block> WOODEN_BARRELS = register("wooden_barrels");
|
||||
|
||||
// Related to budding mechanics
|
||||
public static final TagKey<Block> BUDDING_BLOCKS = register("budding_blocks");
|
||||
public static final TagKey<Block> BUDS = register("buds");
|
||||
public static final TagKey<Block> CLUSTERS = register("clusters");
|
||||
|
||||
public static final TagKey<Block> VILLAGER_JOB_SITES = register("villager_job_sites");
|
||||
|
||||
// Sandstone
|
||||
public static final TagKey<Block> SANDSTONE_BLOCKS = register("sandstone_blocks");
|
||||
public static final TagKey<Block> SANDSTONE_SLABS = register("sandstone_slabs");
|
||||
public static final TagKey<Block> SANDSTONE_STAIRS = register("sandstone_stairs");
|
||||
public static final TagKey<Block> RED_SANDSTONE_BLOCKS = register("red_sandstone_blocks");
|
||||
public static final TagKey<Block> RED_SANDSTONE_SLABS = register("red_sandstone_slabs");
|
||||
public static final TagKey<Block> RED_SANDSTONE_STAIRS = register("red_sandstone_stairs");
|
||||
public static final TagKey<Block> UNCOLORED_SANDSTONE_BLOCKS = register("uncolored_sandstone_blocks");
|
||||
public static final TagKey<Block> UNCOLORED_SANDSTONE_SLABS = register("uncolored_sandstone_slabs");
|
||||
public static final TagKey<Block> UNCOLORED_SANDSTONE_STAIRS = register("uncolored_sandstone_stairs");
|
||||
|
||||
/**
|
||||
* Blocks should be included in this tag if their movement can cause serious issues such as world corruption
|
||||
* upon being moved, such as chunk loaders or pipes,
|
||||
|
|
|
@ -38,7 +38,14 @@ public final class ConventionalItemTags {
|
|||
public static final TagKey<Item> SPEARS = register("spears");
|
||||
public static final TagKey<Item> BOWS = register("bows");
|
||||
public static final TagKey<Item> SHIELDS = register("shields");
|
||||
// Ores and ingots
|
||||
// Ores and ingots - categories
|
||||
public static final TagKey<Item> DUSTS = register("dusts");
|
||||
public static final TagKey<Item> GEMS = register("gems");
|
||||
public static final TagKey<Item> INGOTS = register("ingots");
|
||||
public static final TagKey<Item> NUGGETS = register("nuggets");
|
||||
public static final TagKey<Item> ORES = register("ores");
|
||||
public static final TagKey<Item> RAW_ORES = register("raw_ores");
|
||||
// Ores and ingots - vanilla instances
|
||||
public static final TagKey<Item> IRON_INGOTS = register("iron_ingots");
|
||||
public static final TagKey<Item> RAW_IRON_ORES = register("raw_iron_ores");
|
||||
public static final TagKey<Item> RAW_IRON_BLOCKS = register("raw_iron_blocks");
|
||||
|
@ -49,7 +56,6 @@ public final class ConventionalItemTags {
|
|||
public static final TagKey<Item> COPPER_INGOTS = register("copper_ingots");
|
||||
public static final TagKey<Item> RAW_COPPER_ORES = register("raw_copper_ores");
|
||||
public static final TagKey<Item> RAW_COPPER_BLOCKS = register("raw_copper_blocks");
|
||||
public static final TagKey<Item> ORES = register("ores");
|
||||
public static final TagKey<Item> NETHERITE_INGOTS = register("netherite_ingots");
|
||||
public static final TagKey<Item> QUARTZ_ORES = register("quartz_ores");
|
||||
public static final TagKey<Item> QUARTZ = register("quartz");
|
||||
|
@ -61,15 +67,39 @@ public final class ConventionalItemTags {
|
|||
public static final TagKey<Item> FOODS = register("foods");
|
||||
public static final TagKey<Item> POTIONS = register("potions");
|
||||
// Buckets
|
||||
/**
|
||||
* Does not include entity water buckets.
|
||||
*/
|
||||
public static final TagKey<Item> WATER_BUCKETS = register("water_buckets");
|
||||
public static final TagKey<Item> ENTITY_WATER_BUCKETS = register("entity_water_buckets");
|
||||
public static final TagKey<Item> LAVA_BUCKETS = register("lava_buckets");
|
||||
public static final TagKey<Item> MILK_BUCKETS = register("milk_buckets");
|
||||
public static final TagKey<Item> EMPTY_BUCKETS = register("empty_buckets");
|
||||
|
||||
public static final TagKey<Item> BOOKSHELVES = register("bookshelves");
|
||||
public static final TagKey<Item> CHESTS = register("chests");
|
||||
public static final TagKey<Item> GLASS_BLOCKS = register("glass_blocks");
|
||||
public static final TagKey<Item> GLASS_PANES = register("glass_panes");
|
||||
|
||||
public static final TagKey<Item> SHULKER_BOXES = register("shulker_boxes");
|
||||
public static final TagKey<Item> WOODEN_BARRELS = register("wooden_barrels");
|
||||
|
||||
// Related to budding mechanics
|
||||
public static final TagKey<Item> BUDDING_BLOCKS = register("budding_blocks");
|
||||
public static final TagKey<Item> BUDS = register("buds");
|
||||
public static final TagKey<Item> CLUSTERS = register("clusters");
|
||||
|
||||
public static final TagKey<Item> VILLAGER_JOB_SITES = register("villager_job_sites");
|
||||
|
||||
// Sandstone
|
||||
public static final TagKey<Item> SANDSTONE_BLOCKS = register("sandstone_blocks");
|
||||
public static final TagKey<Item> SANDSTONE_SLABS = register("sandstone_slabs");
|
||||
public static final TagKey<Item> SANDSTONE_STAIRS = register("sandstone_stairs");
|
||||
public static final TagKey<Item> RED_SANDSTONE_BLOCKS = register("red_sandstone_blocks");
|
||||
public static final TagKey<Item> RED_SANDSTONE_SLABS = register("red_sandstone_slabs");
|
||||
public static final TagKey<Item> RED_SANDSTONE_STAIRS = register("red_sandstone_stairs");
|
||||
public static final TagKey<Item> UNCOLORED_SANDSTONE_BLOCKS = register("uncolored_sandstone_blocks");
|
||||
public static final TagKey<Item> UNCOLORED_SANDSTONE_SLABS = register("uncolored_sandstone_slabs");
|
||||
public static final TagKey<Item> UNCOLORED_SANDSTONE_STAIRS = register("uncolored_sandstone_stairs");
|
||||
|
||||
// Dyes
|
||||
public static final TagKey<Item> DYES = register("dyes");
|
||||
|
|
Loading…
Reference in a new issue