Skip to content

Commit

Permalink
feat: datagen metatags
Browse files Browse the repository at this point in the history
  • Loading branch information
CallMeEchoCodes committed Nov 24, 2024
1 parent 0282897 commit a9d42dc
Show file tree
Hide file tree
Showing 6 changed files with 98 additions and 27 deletions.
Original file line number Diff line number Diff line change
@@ -1,69 +1,84 @@
{
"replace": false,
"values": {
"hollow:oak_hollow_log": {
"hollow:acacia_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_oak_hollow_log": {
"hollow:birch_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:spruce_hollow_log": {
"hollow:cherry_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_spruce_hollow_log": {
"hollow:crimson_hollow_stem": {
"burn": 5,
"spread": 5
},
"hollow:birch_hollow_log": {
"hollow:dark_oak_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_birch_hollow_log": {
"hollow:jungle_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:jungle_hollow_log": {
"hollow:mangrove_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_jungle_hollow_log": {
"hollow:oak_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:acacia_hollow_log": {
"hollow:spruce_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_acacia_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:dark_oak_hollow_log": {
"hollow:stripped_birch_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_dark_oak_hollow_log": {
"hollow:stripped_cherry_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:cherry_hollow_log": {
"hollow:stripped_crimson_hollow_stem": {
"burn": 5,
"spread": 5
},
"hollow:stripped_cherry_hollow_log": {
"hollow:stripped_dark_oak_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:mangrove_hollow_log": {
"hollow:stripped_jungle_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_mangrove_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_oak_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_spruce_hollow_log": {
"burn": 5,
"spread": 5
},
"hollow:stripped_warped_hollow_stem": {
"burn": 5,
"spread": 5
},
"hollow:warped_hollow_stem": {
"burn": 5,
"spread": 5
}
}
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{
"replace": false,
"values": {
"hollow:copper_pillar": "hollow:exposed_copper_pillar",
"hollow:exposed_copper_pillar": "hollow:weathered_copper_pillar",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
{
"replace": false,
"values": {
"hollow:oak_hollow_log": "hollow:stripped_oak_hollow_log",
"hollow:spruce_hollow_log": "hollow:stripped_spruce_hollow_log",
"hollow:birch_hollow_log": "hollow:stripped_birch_hollow_log",
"hollow:jungle_hollow_log": "hollow:stripped_jungle_hollow_log",
"hollow:acacia_hollow_log": "hollow:stripped_acacia_hollow_log",
"hollow:dark_oak_hollow_log": "hollow:stripped_dark_oak_hollow_log",
"hollow:birch_hollow_log": "hollow:stripped_birch_hollow_log",
"hollow:cherry_hollow_log": "hollow:stripped_cherry_hollow_log",
"hollow:crimson_hollow_stem": "hollow:stripped_crimson_hollow_stem",
"hollow:warped_hollow_stem": "hollow:stripped_warped_hollow_stem",
"hollow:dark_oak_hollow_log": "hollow:stripped_dark_oak_hollow_log",
"hollow:jungle_hollow_log": "hollow:stripped_jungle_hollow_log",
"hollow:mangrove_hollow_log": "hollow:stripped_mangrove_hollow_log",
"hollow:cherry_hollow_log": "hollow:stripped_cherry_hollow_log"
"hollow:oak_hollow_log": "hollow:stripped_oak_hollow_log",
"hollow:spruce_hollow_log": "hollow:stripped_spruce_hollow_log",
"hollow:warped_hollow_stem": "hollow:stripped_warped_hollow_stem"
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
{
"replace": false,
"values": {
"hollow:copper_pillar": "hollow:waxed_copper_pillar",
"hollow:exposed_copper_pillar": "hollow:waxed_exposed_copper_pillar",
"hollow:weathered_copper_pillar": "hollow:waxed_weathered_copper_pillar",
"hollow:oxidized_copper_pillar": "hollow:waxed_oxidized_copper_pillar"
"hollow:oxidized_copper_pillar": "hollow:waxed_oxidized_copper_pillar",
"hollow:weathered_copper_pillar": "hollow:waxed_weathered_copper_pillar"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package dev.spiritstudios.hollow.datagen;

import dev.spiritstudios.hollow.block.HollowLogBlock;
import dev.spiritstudios.hollow.registry.HollowBlockRegistrar;
import dev.spiritstudios.specter.api.block.BlockMetatags;
import dev.spiritstudios.specter.api.block.FlammableBlockData;
import dev.spiritstudios.specter.api.core.util.ReflectionHelper;
import dev.spiritstudios.specter.api.registry.metatag.datagen.MetatagProvider;
import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput;
import net.minecraft.block.Block;
import net.minecraft.data.DataOutput;
import net.minecraft.registry.RegistryWrapper;

import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;

public class BlockMetatagProvider extends MetatagProvider<Block> {
protected BlockMetatagProvider(FabricDataOutput dataOutput, CompletableFuture<RegistryWrapper.WrapperLookup> registriesFuture) {
super(dataOutput, registriesFuture, DataOutput.OutputType.DATA_PACK);
}

@Override
protected void configure(Consumer<MetatagBuilder<Block, ?>> provider, RegistryWrapper.WrapperLookup lookup) {
MetatagBuilder<Block, FlammableBlockData> flammableBuilder = create(BlockMetatags.FLAMMABLE);

ReflectionHelper.forEachStaticField(
HollowBlockRegistrar.class,
HollowLogBlock.class,
(block, name, field) -> {
flammableBuilder.put(block, new FlammableBlockData(5, 5));
});

provider.accept(flammableBuilder);

provider.accept(create(BlockMetatags.WAXABLE)
.put(HollowBlockRegistrar.COPPER_PILLAR, HollowBlockRegistrar.WAXED_COPPER_PILLAR)
.put(HollowBlockRegistrar.EXPOSED_COPPER_PILLAR, HollowBlockRegistrar.WAXED_EXPOSED_COPPER_PILLAR)
.put(HollowBlockRegistrar.WEATHERED_COPPER_PILLAR, HollowBlockRegistrar.WAXED_WEATHERED_COPPER_PILLAR)
.put(HollowBlockRegistrar.OXIDIZED_COPPER_PILLAR, HollowBlockRegistrar.WAXED_OXIDIZED_COPPER_PILLAR));

provider.accept(create(BlockMetatags.STRIPPABLE)
.put(HollowBlockRegistrar.OAK_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_OAK_HOLLOW_LOG)
.put(HollowBlockRegistrar.SPRUCE_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_SPRUCE_HOLLOW_LOG)
.put(HollowBlockRegistrar.BIRCH_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_BIRCH_HOLLOW_LOG)
.put(HollowBlockRegistrar.JUNGLE_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_JUNGLE_HOLLOW_LOG)
.put(HollowBlockRegistrar.ACACIA_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_ACACIA_HOLLOW_LOG)
.put(HollowBlockRegistrar.DARK_OAK_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_DARK_OAK_HOLLOW_LOG)
.put(HollowBlockRegistrar.CRIMSON_HOLLOW_STEM, HollowBlockRegistrar.STRIPPED_CRIMSON_HOLLOW_STEM)
.put(HollowBlockRegistrar.WARPED_HOLLOW_STEM, HollowBlockRegistrar.STRIPPED_WARPED_HOLLOW_STEM)
.put(HollowBlockRegistrar.MANGROVE_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_MANGROVE_HOLLOW_LOG)
.put(HollowBlockRegistrar.CHERRY_HOLLOW_LOG, HollowBlockRegistrar.STRIPPED_CHERRY_HOLLOW_LOG));

provider.accept(create(BlockMetatags.OXIDIZABLE)
.put(HollowBlockRegistrar.COPPER_PILLAR, HollowBlockRegistrar.EXPOSED_COPPER_PILLAR)
.put(HollowBlockRegistrar.EXPOSED_COPPER_PILLAR, HollowBlockRegistrar.WEATHERED_COPPER_PILLAR)
.put(HollowBlockRegistrar.WEATHERED_COPPER_PILLAR, HollowBlockRegistrar.OXIDIZED_COPPER_PILLAR));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ public void onInitializeDataGenerator(FabricDataGenerator fabricDataGenerator) {
pack.addProvider(ItemGroupProvider::new);
pack.addProvider(ConfiguredFeatureProvider::new);
pack.addProvider(PlacedFeatureProvider::new);
pack.addProvider(BlockMetatagProvider::new);
}

@Override
Expand Down

0 comments on commit a9d42dc

Please sign in to comment.