feat: datagen floral workbench block + flower crown item
This commit is contained in:
parent
33e659fa47
commit
b91e4aae21
9 changed files with 62 additions and 29 deletions
|
@ -1,6 +1,7 @@
|
||||||
package fr.sushi.charmsnfabrics.client;
|
package fr.sushi.charmsnfabrics.client;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||||
|
import fr.sushi.charmsnfabrics.client.datagen.CnFModelProvider;
|
||||||
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
||||||
import fr.sushi.charmsnfabrics.client.renderer.FloralWorkstationRenderer;
|
import fr.sushi.charmsnfabrics.client.renderer.FloralWorkstationRenderer;
|
||||||
import fr.sushi.charmsnfabrics.client.renderer.FlowerCrownRenderer;
|
import fr.sushi.charmsnfabrics.client.renderer.FlowerCrownRenderer;
|
||||||
|
@ -14,6 +15,7 @@ import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
|
||||||
import net.neoforged.neoforge.client.event.EntityRenderersEvent;
|
import net.neoforged.neoforge.client.event.EntityRenderersEvent;
|
||||||
import net.neoforged.neoforge.client.gui.ConfigurationScreen;
|
import net.neoforged.neoforge.client.gui.ConfigurationScreen;
|
||||||
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
|
import net.neoforged.neoforge.client.gui.IConfigScreenFactory;
|
||||||
|
import net.neoforged.neoforge.data.event.GatherDataEvent;
|
||||||
import top.theillusivec4.curios.api.client.ICurioRenderer;
|
import top.theillusivec4.curios.api.client.ICurioRenderer;
|
||||||
|
|
||||||
@Mod(value = CharmsAndFabrics.MODID, dist = Dist.CLIENT)
|
@Mod(value = CharmsAndFabrics.MODID, dist = Dist.CLIENT)
|
||||||
|
@ -50,4 +52,9 @@ public class CharmsFabricsClient
|
||||||
CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(),
|
CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(),
|
||||||
FloralWorkstationRenderer::new);
|
FloralWorkstationRenderer::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
private static void onGatherClientData(final GatherDataEvent.Client event) {
|
||||||
|
event.createProvider(CnFModelProvider::new);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -0,0 +1,53 @@
|
||||||
|
package fr.sushi.charmsnfabrics.client.datagen;
|
||||||
|
|
||||||
|
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||||
|
import fr.sushi.charmsnfabrics.common.CnFRegistries;
|
||||||
|
import net.minecraft.client.data.models.BlockModelGenerators;
|
||||||
|
import net.minecraft.client.data.models.ItemModelGenerators;
|
||||||
|
import net.minecraft.client.data.models.ModelProvider;
|
||||||
|
import net.minecraft.client.data.models.MultiVariant;
|
||||||
|
import net.minecraft.client.data.models.model.ModelLocationUtils;
|
||||||
|
import net.minecraft.client.data.models.model.ModelTemplates;
|
||||||
|
import net.minecraft.client.renderer.item.BlockModelWrapper;
|
||||||
|
import net.minecraft.client.renderer.item.ClientItem;
|
||||||
|
import net.minecraft.data.PackOutput;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
|
||||||
|
import java.util.Collections;
|
||||||
|
|
||||||
|
public class CnFModelProvider extends ModelProvider
|
||||||
|
{
|
||||||
|
public CnFModelProvider(PackOutput output)
|
||||||
|
{
|
||||||
|
super(output, CharmsAndFabrics.MODID);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registerFloralWorkbench(BlockModelGenerators blockModels)
|
||||||
|
{
|
||||||
|
Block block = CnFRegistries.Blocks.FLORAL_WORKSTATION.get();
|
||||||
|
ResourceLocation model = ModelLocationUtils.getModelLocation(block);
|
||||||
|
|
||||||
|
MultiVariant variants = BlockModelGenerators.plainVariant(model);
|
||||||
|
blockModels.blockStateOutput.accept(
|
||||||
|
BlockModelGenerators.createSimpleBlock(block, variants)
|
||||||
|
.with(BlockModelGenerators.ROTATION_HORIZONTAL_FACING_ALT));
|
||||||
|
// blockModels.modelOutput.accept(ModelLocationUtils.getModelLocation(block));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registerFlowerCrown(ItemModelGenerators itemModels)
|
||||||
|
{
|
||||||
|
Item item = CnFRegistries.Items.FLOWER_CROWN.get();
|
||||||
|
|
||||||
|
itemModels.generateFlatItem(item, ModelTemplates.FLAT_ITEM);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void registerModels(BlockModelGenerators blockModels,
|
||||||
|
ItemModelGenerators itemModels)
|
||||||
|
{
|
||||||
|
this.registerFlowerCrown(itemModels);
|
||||||
|
this.registerFloralWorkbench(blockModels);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,7 @@
|
||||||
package fr.sushi.charmsnfabrics.common.entities.block;
|
package fr.sushi.charmsnfabrics.common.entities.block;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
import fr.sushi.charmsnfabrics.common.CnFRegistries;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.HolderLookup;
|
|
||||||
import net.minecraft.nbt.CompoundTag;
|
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
|
|
||||||
|
@ -11,7 +9,7 @@ public class FloralWorkshopBlockEntity extends BlockEntity
|
||||||
{
|
{
|
||||||
public FloralWorkshopBlockEntity(BlockPos pos, BlockState blockState)
|
public FloralWorkshopBlockEntity(BlockPos pos, BlockState blockState)
|
||||||
{
|
{
|
||||||
super(CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos,
|
super(CnFRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos,
|
||||||
blockState);
|
blockState);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
"variants": {
|
|
||||||
"": {
|
|
||||||
"model": "charmsnfabrics:block/floral_workstation"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "charmsnfabrics:block/floral_workstation"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"model": {
|
|
||||||
"type": "minecraft:model",
|
|
||||||
"model": "charmsnfabrics:item/flower_crown"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"parent": "minecraft:item/generated",
|
|
||||||
"textures": {
|
|
||||||
"layer0": "charmsnfabrics:item/flower_crown"
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Add table
Add a link
Reference in a new issue