Tag name changes, workbenches tag

This commit is contained in:
paulevsGitch 2021-07-21 13:32:02 +03:00
parent 51bff6b2ca
commit a48c350aa2
7 changed files with 47 additions and 45 deletions

View file

@ -27,16 +27,17 @@ public class TagAPI {
private static final Map<ResourceLocation, Set<ResourceLocation>> TAGS_ITEM = Maps.newConcurrentMap(); private static final Map<ResourceLocation, Set<ResourceLocation>> TAGS_ITEM = Maps.newConcurrentMap();
// Block Tags // Block Tags
public static final Tag.Named<Block> BOOKSHELVES = makeCommonBlockTag("bookshelves"); public static final Tag.Named<Block> BLOCK_BOOKSHELVES = makeCommonBlockTag("bookshelves");
public static final Tag.Named<Block> GEN_TERRAIN = makeBlockTag(BCLib.MOD_ID, "gen_terrain"); public static final Tag.Named<Block> BLOCK_GEN_TERRAIN = makeBlockTag(BCLib.MOD_ID, "gen_terrain");
public static final Tag.Named<Block> NETHER_GROUND = makeBlockTag(BCLib.MOD_ID, "nether_ground"); public static final Tag.Named<Block> BLOCK_NETHER_GROUND = makeBlockTag(BCLib.MOD_ID, "nether_ground");
public static final Tag.Named<Block> END_GROUND = makeBlockTag(BCLib.MOD_ID, "end_ground"); public static final Tag.Named<Block> BLOCK_END_GROUND = makeBlockTag(BCLib.MOD_ID, "end_ground");
public static final Tag.Named<Block> BLOCK_CHEST = makeCommonBlockTag("chest"); public static final Tag.Named<Block> BLOCK_CHEST = makeCommonBlockTag("chest");
public static final Tag.Named<Block> END_STONES = makeCommonBlockTag("end_stones"); public static final Tag.Named<Block> BLOCK_END_STONES = makeCommonBlockTag("end_stones");
public static final Tag.Named<Block> NETHER_STONES = makeCommonBlockTag("nether_stones"); public static final Tag.Named<Block> BLOCK_NETHER_STONES = makeCommonBlockTag("nether_stones");
public static final Tag.Named<Block> BLOCK_WORKBENCHES = makeCommonBlockTag("workbenches");
public static final Tag.Named<Block> DRAGON_IMMUNE = getMCBlockTag("dragon_immune"); public static final Tag.Named<Block> BLOCK_DRAGON_IMMUNE = getMCBlockTag("dragon_immune");
public static final Tag.Named<Block> MINEABLE_AXE = getMCBlockTag("mineable/axe"); public static final Tag.Named<Block> MINEABLE_AXE = getMCBlockTag("mineable/axe");
public static final Tag.Named<Block> MINEABLE_PICKAXE = getMCBlockTag("mineable/pickaxe"); public static final Tag.Named<Block> MINEABLE_PICKAXE = getMCBlockTag("mineable/pickaxe");
@ -45,9 +46,10 @@ public class TagAPI {
// Item Tags // Item Tags
public static final Tag.Named<Item> ITEM_CHEST = makeCommonItemTag("chest"); public static final Tag.Named<Item> ITEM_CHEST = makeCommonItemTag("chest");
public static final Tag.Named<Item> IRON_INGOTS = makeCommonItemTag("iron_ingots"); public static final Tag.Named<Item> ITEM_IRON_INGOTS = makeCommonItemTag("iron_ingots");
public static final Tag.Named<Item> FURNACES = makeCommonItemTag("furnaces"); public static final Tag.Named<Item> ITEM_FURNACES = makeCommonItemTag("furnaces");
public final static Tag.Named<Item> HAMMERS = makeItemTag("fabric", "hammers"); public static final Tag.Named<Item> ITEM_WORKBENCHES = makeCommonItemTag("workbenches");
public final static Tag.Named<Item> ITEM_HAMMERS = makeCommonItemTag("hammers");
/** /**
* Get or create {@link Tag.Named}. * Get or create {@link Tag.Named}.
@ -123,8 +125,8 @@ public class TagAPI {
* @param block - {@link Block}. * @param block - {@link Block}.
*/ */
public static void addNetherGround(Block block) { public static void addNetherGround(Block block) {
addTag(NETHER_GROUND, block); addTag(BLOCK_NETHER_GROUND, block);
addTag(GEN_TERRAIN, block); addTag(BLOCK_GEN_TERRAIN, block);
} }
/** /**
@ -133,22 +135,22 @@ public class TagAPI {
* @param block - {@link Block}. * @param block - {@link Block}.
*/ */
public static void addEndGround(Block block) { public static void addEndGround(Block block) {
addTag(GEN_TERRAIN, block); addTag(BLOCK_GEN_TERRAIN, block);
addTag(END_GROUND, block); addTag(BLOCK_END_GROUND, block);
} }
/** /**
* Initializes basic tags. Should be called only in BCLib main class. * Initializes basic tags. Should be called only in BCLib main class.
*/ */
public static void init() { public static void init() {
addTag(BOOKSHELVES, Blocks.BOOKSHELF); addTag(BLOCK_BOOKSHELVES, Blocks.BOOKSHELF);
addTag(GEN_TERRAIN, Blocks.END_STONE, Blocks.NETHERRACK, Blocks.SOUL_SAND, Blocks.SOUL_SOIL); addTag(BLOCK_GEN_TERRAIN, Blocks.END_STONE, Blocks.NETHERRACK, Blocks.SOUL_SAND, Blocks.SOUL_SOIL);
addTag(NETHER_GROUND, Blocks.NETHERRACK, Blocks.SOUL_SAND, Blocks.SOUL_SOIL); addTag(BLOCK_NETHER_GROUND, Blocks.NETHERRACK, Blocks.SOUL_SAND, Blocks.SOUL_SOIL);
addTag(END_GROUND, Blocks.END_STONE); addTag(BLOCK_END_GROUND, Blocks.END_STONE);
addTag(BLOCK_CHEST, Blocks.CHEST); addTag(BLOCK_CHEST, Blocks.CHEST);
addTag(ITEM_CHEST, Items.CHEST); addTag(ITEM_CHEST, Items.CHEST);
addTag(IRON_INGOTS, Items.IRON_INGOT); addTag(ITEM_IRON_INGOTS, Items.IRON_INGOT);
addTag(FURNACES, Blocks.FURNACE); addTag(ITEM_FURNACES, Blocks.FURNACE);
} }
/** /**

View file

@ -30,7 +30,7 @@ public abstract class EnchantingTableBlockMixin extends Block {
if (random.nextInt(16) == 0) { if (random.nextInt(16) == 0) {
for (int py = 0; py <= 1; ++py) { for (int py = 0; py <= 1; ++py) {
BlockPos blockPos = pos.offset(px, py, pz); BlockPos blockPos = pos.offset(px, py, pz);
if (world.getBlockState(blockPos).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos).is(TagAPI.BLOCK_BOOKSHELVES)) {
if (!world.isEmptyBlock(pos.offset(px / 2, 0, pz / 2))) { if (!world.isEmptyBlock(pos.offset(px / 2, 0, pz / 2))) {
break; break;
} }

View file

@ -71,28 +71,28 @@ public abstract class EnchantmentMenuMixin extends AbstractContainerMenu {
0, 0,
j j
)) && world.isEmptyBlock(blockPos.offset(k, 1, j))) { )) && world.isEmptyBlock(blockPos.offset(k, 1, j))) {
if (world.getBlockState(blockPos.offset(k * 2, 0, j * 2)).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos.offset(k * 2, 0, j * 2)).is(TagAPI.BLOCK_BOOKSHELVES)) {
++i; ++i;
} }
if (world.getBlockState(blockPos.offset(k * 2, 1, j * 2)).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos.offset(k * 2, 1, j * 2)).is(TagAPI.BLOCK_BOOKSHELVES)) {
++i; ++i;
} }
if (k != 0 && j != 0) { if (k != 0 && j != 0) {
if (world.getBlockState(blockPos.offset(k * 2, 0, j)).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos.offset(k * 2, 0, j)).is(TagAPI.BLOCK_BOOKSHELVES)) {
++i; ++i;
} }
if (world.getBlockState(blockPos.offset(k * 2, 1, j)).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos.offset(k * 2, 1, j)).is(TagAPI.BLOCK_BOOKSHELVES)) {
++i; ++i;
} }
if (world.getBlockState(blockPos.offset(k, 0, j * 2)).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos.offset(k, 0, j * 2)).is(TagAPI.BLOCK_BOOKSHELVES)) {
++i; ++i;
} }
if (world.getBlockState(blockPos.offset(k, 1, j * 2)).is(TagAPI.BOOKSHELVES)) { if (world.getBlockState(blockPos.offset(k, 1, j * 2)).is(TagAPI.BLOCK_BOOKSHELVES)) {
++i; ++i;
} }
} }

View file

@ -12,23 +12,23 @@ public class CraftingRecipes {
GridRecipe.make(BCLib.MOD_ID, "tag_smith_table", Blocks.SMITHING_TABLE) GridRecipe.make(BCLib.MOD_ID, "tag_smith_table", Blocks.SMITHING_TABLE)
.setShape("II", "##", "##") .setShape("II", "##", "##")
.addMaterial('#', ItemTags.PLANKS) .addMaterial('#', ItemTags.PLANKS)
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_cauldron", Blocks.CAULDRON) GridRecipe.make(BCLib.MOD_ID, "tag_cauldron", Blocks.CAULDRON)
.setShape("I I", "I I", "III") .setShape("I I", "I I", "III")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_hopper", Blocks.HOPPER) GridRecipe.make(BCLib.MOD_ID, "tag_hopper", Blocks.HOPPER)
.setShape("I I", "ICI", " I ") .setShape("I I", "ICI", " I ")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('C', TagAPI.ITEM_CHEST) .addMaterial('C', TagAPI.ITEM_CHEST)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_piston", Blocks.PISTON) GridRecipe.make(BCLib.MOD_ID, "tag_piston", Blocks.PISTON)
.setShape("WWW", "CIC", "CDC") .setShape("WWW", "CIC", "CDC")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('D', Items.REDSTONE) .addMaterial('D', Items.REDSTONE)
.addMaterial('C', Items.COBBLESTONE) .addMaterial('C', Items.COBBLESTONE)
.addMaterial('W', ItemTags.PLANKS) .addMaterial('W', ItemTags.PLANKS)
@ -37,42 +37,42 @@ public class CraftingRecipes {
GridRecipe.make(BCLib.MOD_ID, "tag_rail", Blocks.RAIL) GridRecipe.make(BCLib.MOD_ID, "tag_rail", Blocks.RAIL)
.setOutputCount(16) .setOutputCount(16)
.setShape("I I", "ISI", "I I") .setShape("I I", "ISI", "I I")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('S', Items.STICK) .addMaterial('S', Items.STICK)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_stonecutter", Blocks.STONECUTTER) GridRecipe.make(BCLib.MOD_ID, "tag_stonecutter", Blocks.STONECUTTER)
.setShape(" I ", "SSS") .setShape(" I ", "SSS")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('S', Items.STONE) .addMaterial('S', Items.STONE)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_bucket", Items.BUCKET) GridRecipe.make(BCLib.MOD_ID, "tag_bucket", Items.BUCKET)
.setShape("I I", " I ") .setShape("I I", " I ")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_compass", Items.COMPASS) GridRecipe.make(BCLib.MOD_ID, "tag_compass", Items.COMPASS)
.setShape(" I ", "IDI", " I ") .setShape(" I ", "IDI", " I ")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('D', Items.REDSTONE) .addMaterial('D', Items.REDSTONE)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_minecart", Items.MINECART) GridRecipe.make(BCLib.MOD_ID, "tag_minecart", Items.MINECART)
.setShape("I I", "III") .setShape("I I", "III")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_shield", Items.SHIELD) GridRecipe.make(BCLib.MOD_ID, "tag_shield", Items.SHIELD)
.setShape("WIW", "WWW", " W ") .setShape("WIW", "WWW", " W ")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('W', ItemTags.PLANKS) .addMaterial('W', ItemTags.PLANKS)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();
GridRecipe.make(BCLib.MOD_ID, "tag_hopper", Blocks.HOPPER) GridRecipe.make(BCLib.MOD_ID, "tag_hopper", Blocks.HOPPER)
.setShape("I I", "ICI", " I ") .setShape("I I", "ICI", " I ")
.addMaterial('I', TagAPI.IRON_INGOTS) .addMaterial('I', TagAPI.ITEM_IRON_INGOTS)
.addMaterial('C', TagAPI.ITEM_CHEST) .addMaterial('C', TagAPI.ITEM_CHEST)
.checkConfig(Configs.RECIPE_CONFIG) .checkConfig(Configs.RECIPE_CONFIG)
.build(); .build();

View file

@ -286,7 +286,7 @@ public class StructureHelper {
private static boolean isTerrainNear(WorldGenLevel world, BlockPos pos) { private static boolean isTerrainNear(WorldGenLevel world, BlockPos pos) {
for (Direction dir : BlocksHelper.DIRECTIONS) { for (Direction dir : BlocksHelper.DIRECTIONS) {
if (world.getBlockState(pos.relative(dir)).is(TagAPI.GEN_TERRAIN)) { if (world.getBlockState(pos.relative(dir)).is(TagAPI.BLOCK_GEN_TERRAIN)) {
return true; return true;
} }
} }
@ -365,7 +365,7 @@ public class StructureHelper {
private static boolean ignore(BlockState state, WorldGenLevel world, BlockPos pos) { private static boolean ignore(BlockState state, WorldGenLevel world, BlockPos pos) {
return state.getMaterial().isReplaceable() || !state.getFluidState() return state.getMaterial().isReplaceable() || !state.getFluidState()
.isEmpty() || state.is(TagAPI.END_GROUND) || state.is( .isEmpty() || state.is(TagAPI.BLOCK_END_GROUND) || state.is(
BlockTags.LOGS) || state.is(BlockTags.LEAVES) || state.getMaterial() BlockTags.LOGS) || state.is(BlockTags.LEAVES) || state.getMaterial()
.equals(Material.PLANT) || state.getMaterial() .equals(Material.PLANT) || state.getMaterial()
.equals(Material.LEAVES) || BlocksHelper .equals(Material.LEAVES) || BlocksHelper
@ -382,7 +382,7 @@ public class StructureHelper {
for (int y = bounds.maxY(); y >= bounds.minY(); y--) { for (int y = bounds.maxY(); y >= bounds.minY(); y--) {
mut.setY(y); mut.setY(y);
BlockState state = world.getBlockState(mut); BlockState state = world.getBlockState(mut);
if (state.is(TagAPI.END_GROUND) && !world.getBlockState(mut.above()) if (state.is(TagAPI.BLOCK_END_GROUND) && !world.getBlockState(mut.above())
.getMaterial() .getMaterial()
.isSolidBlocking()) { .isSolidBlocking()) {
BlocksHelper.setWithoutUpdate(world, mut, top); BlocksHelper.setWithoutUpdate(world, mut, top);

View file

@ -21,7 +21,7 @@ import net.minecraft.world.level.levelgen.structure.templatesystem.TagMatchTest;
import ru.bclib.api.TagAPI; import ru.bclib.api.TagAPI;
public class BCLFeature { public class BCLFeature {
private static final RuleTest ANY_TERRAIN = new TagMatchTest(TagAPI.GEN_TERRAIN); private static final RuleTest ANY_TERRAIN = new TagMatchTest(TagAPI.BLOCK_GEN_TERRAIN);
private ConfiguredFeature<?, ?> featureConfigured; private ConfiguredFeature<?, ?> featureConfigured;
private GenerationStep.Decoration featureStep; private GenerationStep.Decoration featureStep;
private Feature<?> feature; private Feature<?> feature;

View file

@ -136,11 +136,11 @@ public abstract class NBTStructureFeature extends DefaultFeature {
mut.setZ(z); mut.setZ(z);
mut.setY(surfMax); mut.setY(surfMax);
BlockState state = world.getBlockState(mut); BlockState state = world.getBlockState(mut);
if (!state.is(TagAPI.GEN_TERRAIN) && state.isFaceSturdy(world, mut, Direction.DOWN)) { if (!state.is(TagAPI.BLOCK_GEN_TERRAIN) && state.isFaceSturdy(world, mut, Direction.DOWN)) {
for (int i = 0; i < 10; i++) { for (int i = 0; i < 10; i++) {
mut.setY(mut.getY() - 1); mut.setY(mut.getY() - 1);
BlockState stateSt = world.getBlockState(mut); BlockState stateSt = world.getBlockState(mut);
if (!stateSt.is(TagAPI.GEN_TERRAIN)) { if (!stateSt.is(TagAPI.BLOCK_GEN_TERRAIN)) {
if (merge == TerrainMerge.SURFACE) { if (merge == TerrainMerge.SURFACE) {
SurfaceBuilderConfiguration config = world.getBiome(mut) SurfaceBuilderConfiguration config = world.getBiome(mut)
.getGenerationSettings() .getGenerationSettings()
@ -154,7 +154,7 @@ public abstract class NBTStructureFeature extends DefaultFeature {
} }
} }
else { else {
if (stateSt.is(TagAPI.END_GROUND) && state.getMaterial().isSolidBlocking()) { if (stateSt.is(TagAPI.BLOCK_END_GROUND) && state.getMaterial().isSolidBlocking()) {
if (merge == TerrainMerge.SURFACE) { if (merge == TerrainMerge.SURFACE) {
SurfaceBuilderConfiguration config = world.getBiome(mut) SurfaceBuilderConfiguration config = world.getBiome(mut)
.getGenerationSettings() .getGenerationSettings()