some progress; BlockPos(vec) is now BlockPos.containing(vec). Materials are gone, so block properties seem to be mostly made by copying from other blocks and changing relevant things. Data generation seems to have changed, and recipes need a recipe category.
This commit is contained in:
parent
1342c8cbef
commit
67a32a6267
|
@ -3,6 +3,8 @@ package at.petrak.hexcasting.api.mod;
|
|||
import at.petrak.hexcasting.api.casting.ActionRegistryEntry;
|
||||
import at.petrak.hexcasting.xplat.IXplatAbstractions;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.entity.EntityType;
|
||||
|
@ -29,7 +31,7 @@ public class HexTags {
|
|||
}
|
||||
|
||||
public static TagKey<Item> create(ResourceLocation id) {
|
||||
return TagKey.create(Registry.ITEM_REGISTRY, id);
|
||||
return TagKey.create(Registries.ITEM, id);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -43,7 +45,7 @@ public class HexTags {
|
|||
public static final TagKey<Block> MINDFLAYED_CIRCLE_COMPONENTS = create("brainswept_circle_components");
|
||||
|
||||
public static TagKey<Block> create(String name) {
|
||||
return TagKey.create(Registry.BLOCK_REGISTRY, modLoc(name));
|
||||
return TagKey.create(Registries.BLOCK, modLoc(name));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -54,7 +56,7 @@ public class HexTags {
|
|||
public static final TagKey<EntityType<?>> NO_BRAINSWEEPING = create("cannot_brainsweep");
|
||||
|
||||
public static TagKey<EntityType<?>> create(String name) {
|
||||
return TagKey.create(Registry.ENTITY_TYPE_REGISTRY, modLoc(name));
|
||||
return TagKey.create(Registries.ENTITY_TYPE, modLoc(name));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -4,12 +4,13 @@ import at.petrak.hexcasting.annotations.SoftImplement;
|
|||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.block.WoodButtonBlock;
|
||||
import net.minecraft.world.level.block.ButtonBlock;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockSetType;
|
||||
|
||||
public class BlockHexWoodButton extends WoodButtonBlock {
|
||||
public class BlockHexWoodButton extends ButtonBlock {
|
||||
public BlockHexWoodButton(Properties $$0) {
|
||||
super($$0);
|
||||
super($$0, BlockSetType.DARK_OAK, 30, true);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ object OpBreakBlock : SpellAction {
|
|||
ctx: CastingEnvironment
|
||||
): SpellAction.Result {
|
||||
val vecPos = args.getVec3(0, argc)
|
||||
val pos = BlockPos(vecPos)
|
||||
val pos = BlockPos.containing(vecPos)
|
||||
ctx.assertPosInRangeForEditing(pos)
|
||||
|
||||
return SpellAction.Result(
|
||||
|
|
|
@ -39,7 +39,7 @@ object OpColorize : SpellAction {
|
|||
private data class Spell(val stack: ItemStack) : RenderedSpell {
|
||||
override fun cast(ctx: CastingEnvironment) {
|
||||
val copy = stack.copy()
|
||||
if (ctx.withdrawItem(copy::sameItem, 1, true))
|
||||
if (ctx.withdrawItem({ ItemStack.isSameItemSameTags(copy, it) }, 1, true))
|
||||
ctx.setPigment(FrozenPigment(copy, ctx.caster?.uuid ?: Util.NIL_UUID))
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,7 @@ class OpConjureBlock(val light: Boolean) : SpellAction {
|
|||
ctx: CastingEnvironment
|
||||
): SpellAction.Result {
|
||||
val vecPos = args.getVec3(0, argc)
|
||||
val pos = BlockPos(vecPos)
|
||||
val pos = BlockPos.containing(vecPos)
|
||||
ctx.assertPosInRangeForEditing(pos)
|
||||
|
||||
val placeContext = DirectionalPlaceContext(ctx.world, pos, Direction.DOWN, ItemStack.EMPTY, Direction.UP)
|
||||
|
|
|
@ -24,7 +24,7 @@ class OpCreateFluid(val cost: Int, val bucket: Item, val cauldron: BlockState, v
|
|||
ctx: CastingEnvironment
|
||||
): SpellAction.Result {
|
||||
val vecPos = args.getVec3(0, argc)
|
||||
val pos = BlockPos(vecPos)
|
||||
val pos = BlockPos.containing(vecPos)
|
||||
|
||||
if (!ctx.canEditBlockAt(pos) || !IXplatAbstractions.INSTANCE.isPlacingAllowed(
|
||||
ctx.world,
|
||||
|
|
|
@ -16,7 +16,6 @@ import net.minecraft.sounds.SoundSource
|
|||
import net.minecraft.world.level.block.*
|
||||
import net.minecraft.world.level.block.entity.BlockEntity
|
||||
import net.minecraft.world.level.material.Fluids
|
||||
import net.minecraft.world.level.material.Material
|
||||
import net.minecraft.world.phys.Vec3
|
||||
|
||||
object OpDestroyFluid : SpellAction {
|
||||
|
@ -26,7 +25,7 @@ object OpDestroyFluid : SpellAction {
|
|||
ctx: CastingEnvironment
|
||||
): SpellAction.Result {
|
||||
val vecPos = args.getVec3(0, argc)
|
||||
val pos = BlockPos(vecPos)
|
||||
val pos = BlockPos.containing(vecPos)
|
||||
ctx.assertPosInRangeForEditing(pos)
|
||||
|
||||
return SpellAction.Result(
|
||||
|
|
|
@ -25,8 +25,7 @@ import net.minecraft.world.item.Item;
|
|||
import net.minecraft.world.item.Rarity;
|
||||
import net.minecraft.world.level.block.*;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.minecraft.world.level.material.Material;
|
||||
import net.minecraft.world.level.material.MaterialColor;
|
||||
import net.minecraft.world.level.material.MapColor;
|
||||
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
@ -50,42 +49,49 @@ public class HexBlocks {
|
|||
private static final Map<ResourceLocation, Block> BLOCKS = new LinkedHashMap<>();
|
||||
private static final Map<ResourceLocation, Pair<Block, Item.Properties>> BLOCK_ITEMS = new LinkedHashMap<>();
|
||||
|
||||
|
||||
|
||||
private static BlockBehaviour.Properties slateish() {
|
||||
return BlockBehaviour.Properties
|
||||
.of(Material.STONE, MaterialColor.DEEPSLATE)
|
||||
.sound(SoundType.DEEPSLATE_TILES)
|
||||
.copy(Blocks.DEEPSLATE_TILES)
|
||||
.strength(4f, 4f);
|
||||
}
|
||||
|
||||
private static BlockBehaviour.Properties papery(MaterialColor color) {
|
||||
private static BlockBehaviour.Properties papery(MapColor color) {
|
||||
return BlockBehaviour.Properties
|
||||
.of(Material.PLANT, color)
|
||||
.copy(Blocks.TALL_GRASS)
|
||||
.mapColor(color)
|
||||
.sound(SoundType.GRASS)
|
||||
.instabreak();
|
||||
}
|
||||
|
||||
private static BlockBehaviour.Properties akashicWoodyHard() {
|
||||
return woodyHard(MaterialColor.COLOR_PURPLE);
|
||||
return woodyHard(MapColor.COLOR_PURPLE);
|
||||
}
|
||||
|
||||
private static BlockBehaviour.Properties woodyHard(MaterialColor color) {
|
||||
return BlockBehaviour.Properties.of(Material.WOOD, color)
|
||||
private static BlockBehaviour.Properties woodyHard(MapColor color) {
|
||||
return BlockBehaviour.Properties
|
||||
.copy(Blocks.OAK_LOG)
|
||||
.mapColor(color)
|
||||
.sound(SoundType.WOOD)
|
||||
.strength(3f, 4f);
|
||||
}
|
||||
|
||||
private static BlockBehaviour.Properties edifiedWoody() {
|
||||
return woody(MaterialColor.COLOR_PURPLE);
|
||||
return woody(MapColor.COLOR_PURPLE);
|
||||
}
|
||||
|
||||
private static BlockBehaviour.Properties woody(MaterialColor color) {
|
||||
return BlockBehaviour.Properties.of(Material.WOOD, color)
|
||||
private static BlockBehaviour.Properties woody(MapColor color) {
|
||||
return BlockBehaviour.Properties
|
||||
.copy(Blocks.OAK_LOG)
|
||||
.mapColor(color)
|
||||
.sound(SoundType.WOOD)
|
||||
.strength(2f);
|
||||
}
|
||||
|
||||
private static BlockBehaviour.Properties leaves(MaterialColor color) {
|
||||
return BlockBehaviour.Properties.of(Material.LEAVES, color)
|
||||
private static BlockBehaviour.Properties leaves(MapColor color) {
|
||||
return BlockBehaviour.Properties
|
||||
.copy(Blocks.OAK_LEAVES)
|
||||
.strength(0.2F)
|
||||
.randomTicks()
|
||||
.sound(SoundType.GRASS)
|
||||
|
@ -98,15 +104,16 @@ public class HexBlocks {
|
|||
// we have to make it emit light because otherwise it occludes itself and is always dark
|
||||
private static BlockBehaviour.Properties quenched() {
|
||||
return BlockBehaviour.Properties
|
||||
.copy(Blocks.AMETHYST_BLOCK)
|
||||
.lightLevel($ -> 4)
|
||||
.noOcclusion();
|
||||
.copy(Blocks.AMETHYST_BLOCK)
|
||||
.lightLevel($ -> 4)
|
||||
.noOcclusion();
|
||||
}
|
||||
|
||||
// we give these faux items so Patchi can have an item to view with
|
||||
public static final Block CONJURED_LIGHT = blockItem("conjured_light",
|
||||
new BlockConjuredLight(
|
||||
BlockBehaviour.Properties.of(Material.GLASS, MaterialColor.NONE)
|
||||
BlockBehaviour.Properties.of()
|
||||
.mapColor(MapColor.NONE)
|
||||
.sound(SoundType.AMETHYST)
|
||||
.lightLevel((state) -> 15)
|
||||
.noLootTable()
|
||||
|
@ -118,7 +125,8 @@ public class HexBlocks {
|
|||
new Item.Properties());
|
||||
public static final Block CONJURED_BLOCK = blockItem("conjured_block",
|
||||
new BlockConjured(
|
||||
BlockBehaviour.Properties.of(Material.GLASS, MaterialColor.NONE)
|
||||
BlockBehaviour.Properties.of()
|
||||
.mapColor(MapColor.NONE)
|
||||
.sound(SoundType.AMETHYST)
|
||||
.lightLevel((state) -> 2)
|
||||
.noLootTable()
|
||||
|
@ -171,7 +179,7 @@ public class HexBlocks {
|
|||
public static final Block SLATE_BRICKS_SMALL = blockItem("slate_bricks_small", new Block(slateish().strength(2f, 4f)));
|
||||
public static final RotatedPillarBlock SLATE_PILLAR = blockItem("slate_pillar", new RotatedPillarBlock(slateish().strength(2f, 4f)));
|
||||
public static final SandBlock AMETHYST_DUST_BLOCK = blockItem("amethyst_dust_block",
|
||||
new SandBlock(0xff_b38ef3, BlockBehaviour.Properties.of(Material.SAND, MaterialColor.COLOR_PURPLE)
|
||||
new SandBlock(0xff_b38ef3, BlockBehaviour.Properties.copy(Blocks.SAND).mapColor(MapColor.COLOR_PURPLE)
|
||||
.strength(0.5f).sound(SoundType.SAND)));
|
||||
public static final AmethystBlock AMETHYST_TILES = blockItem("amethyst_tiles",
|
||||
new AmethystBlock(BlockBehaviour.Properties.copy(Blocks.AMETHYST_BLOCK)));
|
||||
|
@ -187,16 +195,17 @@ public class HexBlocks {
|
|||
public static final RotatedPillarBlock SLATE_AMETHYST_PILLAR = blockItem("slate_amethyst_pillar",
|
||||
new RotatedPillarBlock(slateish().strength(2f, 4f)));
|
||||
public static final Block SCROLL_PAPER = blockItem("scroll_paper",
|
||||
new BlockFlammable(papery(MaterialColor.TERRACOTTA_WHITE), 100, 60));
|
||||
new BlockFlammable(papery(MapColor.TERRACOTTA_WHITE), 100, 60));
|
||||
public static final Block ANCIENT_SCROLL_PAPER = blockItem("ancient_scroll_paper",
|
||||
new BlockFlammable(papery(MaterialColor.TERRACOTTA_ORANGE), 100, 60));
|
||||
new BlockFlammable(papery(MapColor.TERRACOTTA_ORANGE), 100, 60));
|
||||
public static final Block SCROLL_PAPER_LANTERN = blockItem("scroll_paper_lantern",
|
||||
new BlockFlammable(papery(MaterialColor.TERRACOTTA_WHITE).lightLevel($ -> 15), 100, 60));
|
||||
new BlockFlammable(papery(MapColor.TERRACOTTA_WHITE).lightLevel($ -> 15), 100, 60));
|
||||
public static final Block ANCIENT_SCROLL_PAPER_LANTERN = blockItem(
|
||||
"ancient_scroll_paper_lantern",
|
||||
new BlockFlammable(papery(MaterialColor.TERRACOTTA_ORANGE).lightLevel($ -> 12), 100, 60));
|
||||
new BlockFlammable(papery(MapColor.TERRACOTTA_ORANGE).lightLevel($ -> 12), 100, 60));
|
||||
public static final BlockSconce SCONCE = blockItem("amethyst_sconce",
|
||||
new BlockSconce(BlockBehaviour.Properties.of(Material.AMETHYST, MaterialColor.COLOR_PURPLE)
|
||||
new BlockSconce(BlockBehaviour.Properties.of()
|
||||
.mapColor(MapColor.COLOR_PURPLE)
|
||||
.sound(SoundType.AMETHYST)
|
||||
.strength(1f)
|
||||
.lightLevel($ -> 15)),
|
||||
|
@ -232,17 +241,17 @@ public class HexBlocks {
|
|||
new BlockHexStairs(EDIFIED_PLANKS.defaultBlockState(), edifiedWoody().noOcclusion()));
|
||||
public static final SlabBlock EDIFIED_SLAB = blockItem("edified_slab",
|
||||
new BlockHexSlab(edifiedWoody().noOcclusion()));
|
||||
public static final WoodButtonBlock EDIFIED_BUTTON = blockItem("edified_button",
|
||||
public static final ButtonBlock EDIFIED_BUTTON = blockItem("edified_button",
|
||||
new BlockHexWoodButton(edifiedWoody().noOcclusion().noCollission()));
|
||||
public static final PressurePlateBlock EDIFIED_PRESSURE_PLATE = blockItem("edified_pressure_plate",
|
||||
new BlockHexPressurePlate(PressurePlateBlock.Sensitivity.EVERYTHING,
|
||||
edifiedWoody().noOcclusion().noCollission()));
|
||||
public static final BlockAkashicLeaves AMETHYST_EDIFIED_LEAVES = blockItem("amethyst_edified_leaves",
|
||||
new BlockAkashicLeaves(leaves(MaterialColor.COLOR_PURPLE)));
|
||||
new BlockAkashicLeaves(leaves(MapColor.COLOR_PURPLE)));
|
||||
public static final BlockAkashicLeaves AVENTURINE_EDIFIED_LEAVES = blockItem("aventurine_edified_leaves",
|
||||
new BlockAkashicLeaves(leaves(MaterialColor.COLOR_BLUE)));
|
||||
new BlockAkashicLeaves(leaves(MapColor.COLOR_BLUE)));
|
||||
public static final BlockAkashicLeaves CITRINE_EDIFIED_LEAVES = blockItem("citrine_edified_leaves",
|
||||
new BlockAkashicLeaves(leaves(MaterialColor.COLOR_YELLOW)));
|
||||
new BlockAkashicLeaves(leaves(MapColor.COLOR_YELLOW)));
|
||||
|
||||
private static boolean never(Object... args) {
|
||||
return false;
|
||||
|
|
|
@ -21,7 +21,7 @@ import at.petrak.hexcasting.datagen.recipe.builders.CreateCrushingRecipeBuilder;
|
|||
import at.petrak.hexcasting.datagen.recipe.builders.FarmersDelightCuttingRecipeBuilder;
|
||||
import at.petrak.paucal.api.datagen.PaucalRecipeProvider;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.data.recipes.*;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
|
@ -33,7 +33,6 @@ import net.minecraft.world.item.DyeItem;
|
|||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.item.crafting.Ingredient;
|
||||
import net.minecraft.world.item.crafting.SimpleRecipeSerializer;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -42,7 +41,7 @@ import java.util.function.Function;
|
|||
|
||||
// TODO: need to do a big refactor of this class cause it's giant and unwieldy, probably as part of #360
|
||||
public class HexplatRecipes extends PaucalRecipeProvider {
|
||||
private final DataGenerator generator;
|
||||
private final PackOutput output;
|
||||
private final IXplatIngredients ingredients;
|
||||
private final Function<RecipeBuilder, IXplatConditionsBuilder> conditions;
|
||||
|
||||
|
@ -51,16 +50,16 @@ public class HexplatRecipes extends PaucalRecipeProvider {
|
|||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE);
|
||||
|
||||
public HexplatRecipes(DataGenerator generator, IXplatIngredients ingredients,
|
||||
Function<RecipeBuilder, IXplatConditionsBuilder> conditions) {
|
||||
super(generator, HexAPI.MOD_ID);
|
||||
this.generator = generator;
|
||||
public HexplatRecipes(PackOutput output, IXplatIngredients ingredients,
|
||||
Function<RecipeBuilder, IXplatConditionsBuilder> conditions) {
|
||||
super(output, HexAPI.MOD_ID);
|
||||
this.output = output;
|
||||
this.ingredients = ingredients;
|
||||
this.conditions = conditions;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void makeRecipes(Consumer<FinishedRecipe> recipes) {
|
||||
protected void buildRecipes(Consumer<FinishedRecipe> recipes) {
|
||||
specialRecipe(recipes, SealThingsRecipe.FOCUS_SERIALIZER);
|
||||
specialRecipe(recipes, SealThingsRecipe.SPELLBOOK_SERIALIZER);
|
||||
|
||||
|
|
|
@ -4,106 +4,117 @@ import at.petrak.hexcasting.api.mod.HexTags;
|
|||
import at.petrak.hexcasting.common.lib.HexBlocks;
|
||||
import at.petrak.hexcasting.xplat.IXplatTags;
|
||||
import at.petrak.paucal.api.datagen.PaucalBlockTagProvider;
|
||||
import net.minecraft.data.DataGenerator;
|
||||
import net.minecraft.core.HolderLookup;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.tags.BlockTags;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
public class HexBlockTagProvider extends PaucalBlockTagProvider {
|
||||
public final IXplatTags xtags;
|
||||
|
||||
public HexBlockTagProvider(DataGenerator pGenerator, IXplatTags xtags) {
|
||||
super(pGenerator);
|
||||
public HexBlockTagProvider(PackOutput output, CompletableFuture<HolderLookup.Provider> lookupProvider, IXplatTags xtags) {
|
||||
super(output, lookupProvider);
|
||||
this.xtags = xtags;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addTags() {
|
||||
tag(HexTags.Blocks.IMPETI)
|
||||
.add(HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_REDSTONE);
|
||||
tag(HexTags.Blocks.DIRECTRICES)
|
||||
.add(HexBlocks.DIRECTRIX_REDSTONE);
|
||||
protected void addTags(HolderLookup.Provider provider) {
|
||||
add(tag(HexTags.Blocks.IMPETI),
|
||||
HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_REDSTONE);
|
||||
add(tag(HexTags.Blocks.DIRECTRICES),
|
||||
HexBlocks.DIRECTRIX_REDSTONE);
|
||||
tag(HexTags.Blocks.MINDFLAYED_CIRCLE_COMPONENTS)
|
||||
.addTag(HexTags.Blocks.IMPETI)
|
||||
.addTag(HexTags.Blocks.DIRECTRICES);
|
||||
|
||||
tag(BlockTags.MINEABLE_WITH_PICKAXE)
|
||||
.add(HexBlocks.SLATE_BLOCK, HexBlocks.SLATE_TILES, HexBlocks.SLATE_BRICKS,
|
||||
HexBlocks.SLATE_BRICKS_SMALL, HexBlocks.SLATE_PILLAR, HexBlocks.SLATE,
|
||||
HexBlocks.EMPTY_DIRECTRIX, HexBlocks.DIRECTRIX_REDSTONE,
|
||||
HexBlocks.IMPETUS_EMPTY,
|
||||
HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_REDSTONE,
|
||||
HexBlocks.AMETHYST_TILES, HexBlocks.AMETHYST_BRICKS, HexBlocks.AMETHYST_BRICKS_SMALL,
|
||||
HexBlocks.AMETHYST_PILLAR, HexBlocks.SLATE_AMETHYST_TILES, HexBlocks.SLATE_AMETHYST_BRICKS,
|
||||
HexBlocks.SLATE_AMETHYST_BRICKS_SMALL, HexBlocks.SLATE_AMETHYST_PILLAR, HexBlocks.SCONCE,
|
||||
HexBlocks.QUENCHED_ALLAY, HexBlocks.QUENCHED_ALLAY_TILES, HexBlocks.QUENCHED_ALLAY_BRICKS,
|
||||
HexBlocks.QUENCHED_ALLAY_BRICKS_SMALL);
|
||||
add(tag(BlockTags.MINEABLE_WITH_PICKAXE),
|
||||
HexBlocks.SLATE_BLOCK, HexBlocks.SLATE_TILES, HexBlocks.SLATE_BRICKS,
|
||||
HexBlocks.SLATE_BRICKS_SMALL, HexBlocks.SLATE_PILLAR, HexBlocks.SLATE,
|
||||
HexBlocks.EMPTY_DIRECTRIX, HexBlocks.DIRECTRIX_REDSTONE,
|
||||
HexBlocks.IMPETUS_EMPTY,
|
||||
HexBlocks.IMPETUS_RIGHTCLICK, HexBlocks.IMPETUS_LOOK, HexBlocks.IMPETUS_REDSTONE,
|
||||
HexBlocks.AMETHYST_TILES, HexBlocks.AMETHYST_BRICKS, HexBlocks.AMETHYST_BRICKS_SMALL,
|
||||
HexBlocks.AMETHYST_PILLAR, HexBlocks.SLATE_AMETHYST_TILES, HexBlocks.SLATE_AMETHYST_BRICKS,
|
||||
HexBlocks.SLATE_AMETHYST_BRICKS_SMALL, HexBlocks.SLATE_AMETHYST_PILLAR, HexBlocks.SCONCE,
|
||||
HexBlocks.QUENCHED_ALLAY, HexBlocks.QUENCHED_ALLAY_TILES, HexBlocks.QUENCHED_ALLAY_BRICKS,
|
||||
HexBlocks.QUENCHED_ALLAY_BRICKS_SMALL);
|
||||
|
||||
tag(BlockTags.MINEABLE_WITH_SHOVEL)
|
||||
.add(HexBlocks.AMETHYST_DUST_BLOCK);
|
||||
add(tag(BlockTags.MINEABLE_WITH_SHOVEL),
|
||||
HexBlocks.AMETHYST_DUST_BLOCK);
|
||||
|
||||
tag(BlockTags.MINEABLE_WITH_AXE)
|
||||
.add(HexBlocks.AKASHIC_RECORD, HexBlocks.AKASHIC_BOOKSHELF, HexBlocks.AKASHIC_LIGATURE,
|
||||
HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD,
|
||||
HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE,
|
||||
HexBlocks.EDIFIED_DOOR, HexBlocks.EDIFIED_TRAPDOOR, HexBlocks.EDIFIED_SLAB,
|
||||
HexBlocks.EDIFIED_BUTTON, HexBlocks.EDIFIED_STAIRS);
|
||||
add(tag(BlockTags.MINEABLE_WITH_AXE),
|
||||
HexBlocks.AKASHIC_RECORD, HexBlocks.AKASHIC_BOOKSHELF, HexBlocks.AKASHIC_LIGATURE,
|
||||
HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD,
|
||||
HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE,
|
||||
HexBlocks.EDIFIED_DOOR, HexBlocks.EDIFIED_TRAPDOOR, HexBlocks.EDIFIED_SLAB,
|
||||
HexBlocks.EDIFIED_BUTTON, HexBlocks.EDIFIED_STAIRS);
|
||||
|
||||
tag(BlockTags.MINEABLE_WITH_HOE)
|
||||
.add(HexBlocks.AMETHYST_EDIFIED_LEAVES, HexBlocks.AVENTURINE_EDIFIED_LEAVES,
|
||||
HexBlocks.CITRINE_EDIFIED_LEAVES);
|
||||
add(tag(BlockTags.MINEABLE_WITH_HOE),
|
||||
HexBlocks.AMETHYST_EDIFIED_LEAVES, HexBlocks.AVENTURINE_EDIFIED_LEAVES,
|
||||
HexBlocks.CITRINE_EDIFIED_LEAVES);
|
||||
|
||||
tag(BlockTags.CRYSTAL_SOUND_BLOCKS)
|
||||
.add(HexBlocks.CONJURED_LIGHT, HexBlocks.CONJURED_BLOCK, HexBlocks.AMETHYST_TILES,
|
||||
HexBlocks.SCONCE);
|
||||
add(tag(BlockTags.CRYSTAL_SOUND_BLOCKS),
|
||||
HexBlocks.CONJURED_LIGHT, HexBlocks.CONJURED_BLOCK, HexBlocks.AMETHYST_TILES,
|
||||
HexBlocks.SCONCE);
|
||||
|
||||
tag(HexTags.Blocks.EDIFIED_LOGS)
|
||||
.add(HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD);
|
||||
tag(BlockTags.LOGS)
|
||||
.add(HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD);
|
||||
tag(BlockTags.LOGS_THAT_BURN)
|
||||
.add(HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD);
|
||||
tag(BlockTags.LEAVES)
|
||||
.add(HexBlocks.AMETHYST_EDIFIED_LEAVES, HexBlocks.AVENTURINE_EDIFIED_LEAVES,
|
||||
HexBlocks.CITRINE_EDIFIED_LEAVES);
|
||||
add(tag(HexTags.Blocks.EDIFIED_LOGS),
|
||||
HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD);
|
||||
add(tag(BlockTags.LOGS),
|
||||
HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD);
|
||||
add(tag(BlockTags.LOGS_THAT_BURN),
|
||||
HexBlocks.EDIFIED_LOG, HexBlocks.EDIFIED_LOG_AMETHYST,
|
||||
HexBlocks.EDIFIED_LOG_AVENTURINE, HexBlocks.EDIFIED_LOG_CITRINE,
|
||||
HexBlocks.EDIFIED_LOG_PURPLE, HexBlocks.STRIPPED_EDIFIED_LOG,
|
||||
HexBlocks.EDIFIED_WOOD, HexBlocks.STRIPPED_EDIFIED_WOOD);
|
||||
add(tag(BlockTags.LEAVES),
|
||||
HexBlocks.AMETHYST_EDIFIED_LEAVES, HexBlocks.AVENTURINE_EDIFIED_LEAVES,
|
||||
HexBlocks.CITRINE_EDIFIED_LEAVES);
|
||||
|
||||
tag(BlockTags.PLANKS)
|
||||
.add(HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE);
|
||||
tag(HexTags.Blocks.EDIFIED_PLANKS)
|
||||
.add(HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE);
|
||||
tag(BlockTags.SLABS)
|
||||
.add(HexBlocks.EDIFIED_SLAB);
|
||||
tag(BlockTags.WOODEN_SLABS)
|
||||
.add(HexBlocks.EDIFIED_SLAB);
|
||||
tag(BlockTags.STAIRS)
|
||||
.add(HexBlocks.EDIFIED_STAIRS);
|
||||
tag(BlockTags.WOODEN_STAIRS)
|
||||
.add(HexBlocks.EDIFIED_STAIRS);
|
||||
tag(BlockTags.DOORS)
|
||||
.add(HexBlocks.EDIFIED_DOOR);
|
||||
tag(BlockTags.WOODEN_DOORS)
|
||||
.add(HexBlocks.EDIFIED_DOOR);
|
||||
tag(BlockTags.TRAPDOORS)
|
||||
.add(HexBlocks.EDIFIED_TRAPDOOR);
|
||||
tag(BlockTags.WOODEN_TRAPDOORS)
|
||||
.add(HexBlocks.EDIFIED_TRAPDOOR);
|
||||
tag(BlockTags.PRESSURE_PLATES)
|
||||
.add(HexBlocks.EDIFIED_PRESSURE_PLATE);
|
||||
tag(BlockTags.WOODEN_PRESSURE_PLATES)
|
||||
.add(HexBlocks.EDIFIED_PRESSURE_PLATE);
|
||||
tag(BlockTags.BUTTONS)
|
||||
.add(HexBlocks.EDIFIED_BUTTON);
|
||||
tag(BlockTags.WOODEN_BUTTONS)
|
||||
.add(HexBlocks.EDIFIED_BUTTON);
|
||||
add(tag(BlockTags.PLANKS),
|
||||
HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE);
|
||||
add(tag(HexTags.Blocks.EDIFIED_PLANKS),
|
||||
HexBlocks.EDIFIED_PLANKS, HexBlocks.EDIFIED_PANEL, HexBlocks.EDIFIED_TILE);
|
||||
add(tag(BlockTags.SLABS),
|
||||
HexBlocks.EDIFIED_SLAB);
|
||||
add(tag(BlockTags.WOODEN_SLABS),
|
||||
HexBlocks.EDIFIED_SLAB);
|
||||
add(tag(BlockTags.STAIRS),
|
||||
HexBlocks.EDIFIED_STAIRS);
|
||||
add(tag(BlockTags.WOODEN_STAIRS),
|
||||
HexBlocks.EDIFIED_STAIRS);
|
||||
add(tag(BlockTags.DOORS),
|
||||
HexBlocks.EDIFIED_DOOR);
|
||||
add(tag(BlockTags.WOODEN_DOORS),
|
||||
HexBlocks.EDIFIED_DOOR);
|
||||
add(tag(BlockTags.TRAPDOORS),
|
||||
HexBlocks.EDIFIED_TRAPDOOR);
|
||||
add(tag(BlockTags.WOODEN_TRAPDOORS),
|
||||
HexBlocks.EDIFIED_TRAPDOOR);
|
||||
add(tag(BlockTags.PRESSURE_PLATES),
|
||||
HexBlocks.EDIFIED_PRESSURE_PLATE);
|
||||
add(tag(BlockTags.WOODEN_PRESSURE_PLATES),
|
||||
HexBlocks.EDIFIED_PRESSURE_PLATE);
|
||||
add(tag(BlockTags.BUTTONS),
|
||||
HexBlocks.EDIFIED_BUTTON);
|
||||
add(tag(BlockTags.WOODEN_BUTTONS),
|
||||
HexBlocks.EDIFIED_BUTTON);
|
||||
}
|
||||
|
||||
void add(TagAppender<Block> appender, Block... blocks) {
|
||||
for (Block block : blocks) {
|
||||
appender.add(BuiltInRegistries.BLOCK.getResourceKey(block).orElseThrow());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.google.gson.JsonObject;
|
|||
import net.fabricmc.fabric.api.datagen.v1.DataGeneratorEntrypoint;
|
||||
import net.fabricmc.fabric.api.datagen.v1.FabricDataGenerator;
|
||||
import net.minecraft.core.Registry;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.*;
|
||||
|
@ -101,10 +102,10 @@ public class HexFabricDataGenerators implements DataGeneratorEntrypoint {
|
|||
out.put(col, new Ingredient(Stream.of(
|
||||
new Ingredient.ItemValue(new ItemStack(DyeItem.byColor(col))),
|
||||
new Ingredient.TagValue(
|
||||
TagKey.create(Registry.ITEM_REGISTRY,
|
||||
TagKey.create(Registries.ITEM,
|
||||
new ResourceLocation("c", col.getSerializedName() + "_dye"))),
|
||||
new Ingredient.TagValue(
|
||||
TagKey.create(Registry.ITEM_REGISTRY,
|
||||
TagKey.create(Registries.ITEM,
|
||||
new ResourceLocation("c", col.getSerializedName() + "_dyes"))
|
||||
))));
|
||||
}
|
||||
|
@ -147,6 +148,6 @@ public class HexFabricDataGenerators implements DataGeneratorEntrypoint {
|
|||
}
|
||||
|
||||
private static TagKey<Item> tag(String namespace, String s) {
|
||||
return TagKey.create(Registry.ITEM_REGISTRY, new ResourceLocation(namespace, s));
|
||||
return TagKey.create(Registries.ITEM, new ResourceLocation(namespace, s));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue