Add datagen
This commit is contained in:
parent
e565bbf78c
commit
6375971cfa
19 changed files with 228 additions and 5 deletions
7
src/generated/resources/.cache/cache
Normal file
7
src/generated/resources/.cache/cache
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
b61bd40379af029dc4a8918675a5340d82eb9614 assets/enchantrium/blockstates/enchanter.json
|
||||||
|
12c47b4ceba86e32ead7ed95c8cf1ebdf6097490 assets/enchantrium/lang/en_us.json
|
||||||
|
612cfe324c0a8f894098e57a492a11ea7a7af881 assets/enchantrium/models/block/enchanter.json
|
||||||
|
b3795796d7640d926777c42c84f36a561511f981 assets/enchantrium/models/item/enchanter.json
|
||||||
|
b5996790803bc6c5aa9e19868571b94ff2770cc8 assets/enchantrium/models/item/test_item.json
|
||||||
|
0dfde33a6966e8ce59687aa186ad4ae43952e3cc data/enchantrium/advancements/recipes/enchantrium/enchanter.json
|
||||||
|
2feeac4086afc49c70948894d952479c375c10e3 data/enchantrium/recipes/enchanter.json
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "enchantrium:block/enchanter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"block.enchantrium.enchanter": "Enchanter",
|
||||||
|
"item.enchantrium.test_item": "Test Item :)",
|
||||||
|
"itemGroup.enchantrium": "Enchantrium"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:block/cube",
|
||||||
|
"textures": {
|
||||||
|
"down": "enchantrium:block/enchanter_side",
|
||||||
|
"up": "enchantrium:block/enchanter_top",
|
||||||
|
"north": "enchantrium:block/enchanter_side",
|
||||||
|
"south": "enchantrium:block/enchanter_side",
|
||||||
|
"east": "enchantrium:block/enchanter_side",
|
||||||
|
"west": "enchantrium:block/enchanter_side"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,3 @@
|
||||||
|
{
|
||||||
|
"parent": "enchantrium:block/enchanter"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "enchantrium:item/test_item"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:recipes/root",
|
||||||
|
"rewards": {
|
||||||
|
"recipes": [
|
||||||
|
"enchantrium:enchanter"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"criteria": {
|
||||||
|
"enchanting": {
|
||||||
|
"trigger": "minecraft:inventory_changed",
|
||||||
|
"conditions": {
|
||||||
|
"items": [
|
||||||
|
{
|
||||||
|
"items": [
|
||||||
|
"minecraft:enchanting_table"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"has_the_recipe": {
|
||||||
|
"trigger": "minecraft:recipe_unlocked",
|
||||||
|
"conditions": {
|
||||||
|
"recipe": "enchantrium:enchanter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"requirements": [
|
||||||
|
[
|
||||||
|
"enchanting",
|
||||||
|
"has_the_recipe"
|
||||||
|
]
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"pattern": [
|
||||||
|
"xxx",
|
||||||
|
"x#x",
|
||||||
|
"#y#"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"x": {
|
||||||
|
"tag": "forge:gems/diamond"
|
||||||
|
},
|
||||||
|
"#": {
|
||||||
|
"tag": "forge:storage_blocks/copper"
|
||||||
|
},
|
||||||
|
"y": {
|
||||||
|
"item": "minecraft:enchanting_table"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "enchantrium:enchanter"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -28,9 +28,7 @@ public class ModBlocks {
|
||||||
public static final DeferredRegister<Block> BLOCKS =
|
public static final DeferredRegister<Block> BLOCKS =
|
||||||
DeferredRegister.create(ForgeRegistries.BLOCKS, Enchantrium.MOD_ID);
|
DeferredRegister.create(ForgeRegistries.BLOCKS, Enchantrium.MOD_ID);
|
||||||
|
|
||||||
public static final RegistryObject<Block> ENCHANTER = registerBlock("enchanter",
|
public static final RegistryObject<Block> ENCHANTER = registerBlockWithoutBlockItem("enchanter", EnchanterBlock::new);
|
||||||
() -> new EnchanterBlock(BlockBehaviour.Properties.copy(Blocks.ENCHANTING_TABLE).noOcclusion())
|
|
||||||
);
|
|
||||||
|
|
||||||
private static <T extends Block> RegistryObject<T> registerBlockWithoutBlockItem(String name, Supplier<T> block) {
|
private static <T extends Block> RegistryObject<T> registerBlockWithoutBlockItem(String name, Supplier<T> block) {
|
||||||
return BLOCKS.register(name, block);
|
return BLOCKS.register(name, block);
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,11 @@ import net.minecraft.world.level.Level;
|
||||||
import net.minecraft.world.level.block.BaseEntityBlock;
|
import net.minecraft.world.level.block.BaseEntityBlock;
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.RenderShape;
|
import net.minecraft.world.level.block.RenderShape;
|
||||||
|
import net.minecraft.world.level.block.SoundType;
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
import net.minecraft.world.level.material.Material;
|
||||||
import net.minecraft.world.phys.BlockHitResult;
|
import net.minecraft.world.phys.BlockHitResult;
|
||||||
import net.minecraftforge.network.NetworkHooks;
|
import net.minecraftforge.network.NetworkHooks;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
@ -19,8 +21,8 @@ import org.jetbrains.annotations.Nullable;
|
||||||
import xyz.nuark.enchantrium.block.entity.custom.EnchanterBlockEntity;
|
import xyz.nuark.enchantrium.block.entity.custom.EnchanterBlockEntity;
|
||||||
|
|
||||||
public class EnchanterBlock extends BaseEntityBlock {
|
public class EnchanterBlock extends BaseEntityBlock {
|
||||||
public EnchanterBlock(BlockBehaviour.Properties properties) {
|
public EnchanterBlock() {
|
||||||
super(properties);
|
super(BlockBehaviour.Properties.of(Material.STONE).strength(2f).lightLevel((p_187435_) -> 14).sound(SoundType.STONE));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,25 @@
|
||||||
|
package xyz.nuark.enchantrium.datagen;
|
||||||
|
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraftforge.client.model.generators.BlockStateProvider;
|
||||||
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
import xyz.nuark.enchantrium.Enchantrium;
|
||||||
|
import xyz.nuark.enchantrium.block.ModBlocks;
|
||||||
|
|
||||||
|
public class BlockStatesGenerator extends BlockStateProvider {
|
||||||
|
public BlockStatesGenerator(DataGenerator gen, ExistingFileHelper exFileHelper) {
|
||||||
|
super(gen, Enchantrium.MOD_ID, exFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerStatesAndModels() {
|
||||||
|
registerEnchanter();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registerEnchanter() {
|
||||||
|
var block = ModBlocks.ENCHANTER.get();
|
||||||
|
var side = modLoc("block/enchanter_side");
|
||||||
|
var top = modLoc("block/enchanter_top");
|
||||||
|
simpleBlock(block, models().cube(block.getRegistryName().getPath(), side, top, side, side, side, side));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
package xyz.nuark.enchantrium.datagen;
|
||||||
|
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.Mod;
|
||||||
|
import net.minecraftforge.forge.event.lifecycle.GatherDataEvent;
|
||||||
|
import xyz.nuark.enchantrium.Enchantrium;
|
||||||
|
|
||||||
|
@Mod.EventBusSubscriber(modid = Enchantrium.MOD_ID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
||||||
|
public class DataGenerators {
|
||||||
|
@SubscribeEvent
|
||||||
|
public static void gatherData(GatherDataEvent event) {
|
||||||
|
DataGenerator generator = event.getGenerator();
|
||||||
|
if (event.includeServer()) {
|
||||||
|
generator.addProvider(new RecipesGenerator(generator));
|
||||||
|
}
|
||||||
|
if (event.includeClient()) {
|
||||||
|
generator.addProvider(new BlockStatesGenerator(generator, event.getExistingFileHelper()));
|
||||||
|
generator.addProvider(new ItemModelGenerator(generator, event.getExistingFileHelper()));
|
||||||
|
generator.addProvider(new LanguageGenerator(generator, "en_us"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
package xyz.nuark.enchantrium.datagen;
|
||||||
|
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraftforge.client.model.generators.ItemModelProvider;
|
||||||
|
import net.minecraftforge.common.data.ExistingFileHelper;
|
||||||
|
import xyz.nuark.enchantrium.Enchantrium;
|
||||||
|
import xyz.nuark.enchantrium.item.ModItems;
|
||||||
|
|
||||||
|
public class ItemModelGenerator extends ItemModelProvider {
|
||||||
|
public ItemModelGenerator(DataGenerator generator, ExistingFileHelper exFileHelper) {
|
||||||
|
super(generator, Enchantrium.MOD_ID, exFileHelper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerModels() {
|
||||||
|
basicItem(ModItems.TEST_ITEM.get());
|
||||||
|
withExistingParent(ModItems.ENCHANTER_ITEM.get().getRegistryName().getPath(), modLoc("block/enchanter"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,21 @@
|
||||||
|
package xyz.nuark.enchantrium.datagen;
|
||||||
|
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraftforge.common.data.LanguageProvider;
|
||||||
|
import xyz.nuark.enchantrium.Enchantrium;
|
||||||
|
import xyz.nuark.enchantrium.block.ModBlocks;
|
||||||
|
import xyz.nuark.enchantrium.item.ModItems;
|
||||||
|
|
||||||
|
public class LanguageGenerator extends LanguageProvider {
|
||||||
|
public LanguageGenerator(DataGenerator gen, String locale) {
|
||||||
|
super(gen, Enchantrium.MOD_ID, locale);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void addTranslations() {
|
||||||
|
add("itemGroup." + Enchantrium.MOD_ID, "Enchantrium");
|
||||||
|
|
||||||
|
add(ModBlocks.ENCHANTER.get(), "Enchanter");
|
||||||
|
add(ModItems.TEST_ITEM.get(), "Test Item :)");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
package xyz.nuark.enchantrium.datagen;
|
||||||
|
|
||||||
|
import net.minecraft.advancements.critereon.InventoryChangeTrigger;
|
||||||
|
import net.minecraft.data.DataGenerator;
|
||||||
|
import net.minecraft.data.recipes.FinishedRecipe;
|
||||||
|
import net.minecraft.data.recipes.RecipeProvider;
|
||||||
|
import net.minecraft.data.recipes.ShapedRecipeBuilder;
|
||||||
|
import net.minecraft.world.item.Items;
|
||||||
|
import net.minecraftforge.common.Tags;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import xyz.nuark.enchantrium.block.ModBlocks;
|
||||||
|
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
public class RecipesGenerator extends RecipeProvider {
|
||||||
|
public RecipesGenerator(DataGenerator generator) {
|
||||||
|
super(generator);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void buildCraftingRecipes(@NotNull Consumer<FinishedRecipe> consumer) {
|
||||||
|
ShapedRecipeBuilder.shaped(ModBlocks.ENCHANTER.get())
|
||||||
|
.pattern("xxx")
|
||||||
|
.pattern("x#x")
|
||||||
|
.pattern("#y#")
|
||||||
|
.define('x', Tags.Items.GEMS_DIAMOND)
|
||||||
|
.define('#', Tags.Items.STORAGE_BLOCKS_COPPER)
|
||||||
|
.define('y', Items.ENCHANTING_TABLE)
|
||||||
|
.unlockedBy("enchanting", InventoryChangeTrigger.TriggerInstance.hasItems(Items.ENCHANTING_TABLE))
|
||||||
|
.save(consumer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,19 +1,27 @@
|
||||||
package xyz.nuark.enchantrium.item;
|
package xyz.nuark.enchantrium.item;
|
||||||
|
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
import net.minecraft.world.item.Item;
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraftforge.eventbus.api.IEventBus;
|
import net.minecraftforge.eventbus.api.IEventBus;
|
||||||
import net.minecraftforge.registries.DeferredRegister;
|
import net.minecraftforge.registries.DeferredRegister;
|
||||||
import net.minecraftforge.registries.ForgeRegistries;
|
import net.minecraftforge.registries.ForgeRegistries;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
import xyz.nuark.enchantrium.Enchantrium;
|
import xyz.nuark.enchantrium.Enchantrium;
|
||||||
|
import xyz.nuark.enchantrium.block.ModBlocks;
|
||||||
import xyz.nuark.enchantrium.setup.ModSetup;
|
import xyz.nuark.enchantrium.setup.ModSetup;
|
||||||
|
|
||||||
public class ModItems {
|
public class ModItems {
|
||||||
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Enchantrium.MOD_ID);
|
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, Enchantrium.MOD_ID);
|
||||||
|
|
||||||
public static final RegistryObject<Item> TEST_ITEM = ITEMS.register("test_item", () -> new Item(new Item.Properties().tab(ModSetup.ITEM_GROUP)));
|
public static final RegistryObject<Item> TEST_ITEM = ITEMS.register("test_item", () -> new Item(new Item.Properties().tab(ModSetup.ITEM_GROUP)));
|
||||||
|
public static final RegistryObject<Item> ENCHANTER_ITEM = fromBlock(ModBlocks.ENCHANTER);
|
||||||
|
|
||||||
public static void register(IEventBus eventBus) {
|
public static void register(IEventBus eventBus) {
|
||||||
ITEMS.register(eventBus);
|
ITEMS.register(eventBus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static <B extends Block> RegistryObject<Item> fromBlock(RegistryObject<B> block) {
|
||||||
|
return ITEMS.register(block.getId().getPath(), () -> new BlockItem(block.get(), new Item.Properties().tab(ModSetup.ITEM_GROUP)));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 216 B |
Binary file not shown.
|
After Width: | Height: | Size: 189 B |
Binary file not shown.
|
After Width: | Height: | Size: 205 B |
Loading…
Add table
Add a link
Reference in a new issue