Compare commits
No commits in common. "aa5adbd59e519b81ee0196702411b89413a9250a" and "33e659fa47f7bfbd3954896fdd9a3374751d6bcd" have entirely different histories.
aa5adbd59e
...
33e659fa47
14 changed files with 90 additions and 131 deletions
|
@ -1,17 +1,38 @@
|
||||||
package fr.sushi.charmsnfabrics;
|
package fr.sushi.charmsnfabrics;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.common.CnFRegistries;
|
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
||||||
|
import net.minecraft.core.registries.BuiltInRegistries;
|
||||||
|
import net.minecraft.core.registries.Registries;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.world.food.FoodProperties;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
|
import net.minecraft.world.item.CreativeModeTabs;
|
||||||
|
import net.minecraft.world.item.Item;
|
||||||
|
import net.minecraft.world.level.block.Block;
|
||||||
|
import net.minecraft.world.level.block.Blocks;
|
||||||
|
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||||
|
import net.minecraft.world.level.material.MapColor;
|
||||||
import net.neoforged.bus.api.IEventBus;
|
import net.neoforged.bus.api.IEventBus;
|
||||||
|
import net.neoforged.bus.api.SubscribeEvent;
|
||||||
import net.neoforged.fml.common.Mod;
|
import net.neoforged.fml.common.Mod;
|
||||||
import net.neoforged.fml.config.ModConfig;
|
import net.neoforged.fml.config.ModConfig;
|
||||||
import net.neoforged.fml.ModContainer;
|
import net.neoforged.fml.ModContainer;
|
||||||
|
import net.neoforged.fml.event.lifecycle.FMLCommonSetupEvent;
|
||||||
|
import net.neoforged.neoforge.common.NeoForge;
|
||||||
|
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
|
||||||
|
import net.neoforged.neoforge.event.server.ServerStartingEvent;
|
||||||
|
import net.neoforged.neoforge.registries.DeferredBlock;
|
||||||
|
import net.neoforged.neoforge.registries.DeferredHolder;
|
||||||
|
import net.neoforged.neoforge.registries.DeferredItem;
|
||||||
|
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||||
|
|
||||||
@Mod(CharmsAndFabrics.MODID)
|
@Mod(CharmsAndFabrics.MODID)
|
||||||
public class CharmsAndFabrics {
|
public class CharmsAndFabrics {
|
||||||
public static final String MODID = "charmsnfabrics";
|
public static final String MODID = "charmsnfabrics";
|
||||||
|
|
||||||
public CharmsAndFabrics(IEventBus modEventBus, ModContainer modContainer) {
|
public CharmsAndFabrics(IEventBus modEventBus, ModContainer modContainer) {
|
||||||
CnFRegistries.register(modEventBus);
|
CharmsAndFabricRegistries.register(modEventBus);
|
||||||
|
|
||||||
modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC);
|
modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC);
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,7 @@ import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||||
import net.minecraft.client.model.geom.ModelLayerLocation;
|
import net.minecraft.client.model.geom.ModelLayerLocation;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
|
||||||
public class CnFLayers
|
public class CharmsAndFabricsLayers
|
||||||
{
|
{
|
||||||
public static final ModelLayerLocation CROWN_LAYER = new ModelLayerLocation(
|
public static final ModelLayerLocation CROWN_LAYER = new ModelLayerLocation(
|
||||||
ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID,
|
ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID,
|
|
@ -1,11 +1,10 @@
|
||||||
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;
|
||||||
import fr.sushi.charmsnfabrics.common.CnFRegistries;
|
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
||||||
import net.neoforged.api.distmarker.Dist;
|
import net.neoforged.api.distmarker.Dist;
|
||||||
import net.neoforged.bus.api.SubscribeEvent;
|
import net.neoforged.bus.api.SubscribeEvent;
|
||||||
import net.neoforged.fml.ModContainer;
|
import net.neoforged.fml.ModContainer;
|
||||||
|
@ -15,14 +14,13 @@ 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)
|
||||||
@EventBusSubscriber(modid = CharmsAndFabrics.MODID, value = Dist.CLIENT)
|
@EventBusSubscriber(modid = CharmsAndFabrics.MODID, value = Dist.CLIENT)
|
||||||
public class CnFClient
|
public class CharmsFabricsClient
|
||||||
{
|
{
|
||||||
public CnFClient(ModContainer container)
|
public CharmsFabricsClient(ModContainer container)
|
||||||
{
|
{
|
||||||
container.registerExtensionPoint(IConfigScreenFactory.class,
|
container.registerExtensionPoint(IConfigScreenFactory.class,
|
||||||
ConfigurationScreen::new);
|
ConfigurationScreen::new);
|
||||||
|
@ -32,7 +30,7 @@ public class CnFClient
|
||||||
private static void onClientSetup(final FMLClientSetupEvent event)
|
private static void onClientSetup(final FMLClientSetupEvent event)
|
||||||
{
|
{
|
||||||
ICurioRenderer.register(
|
ICurioRenderer.register(
|
||||||
CnFRegistries.Items.FLOWER_CROWN.get(),
|
CharmsAndFabricRegistries.Items.FLOWER_CROWN.get(),
|
||||||
FlowerCrownRenderer::new);
|
FlowerCrownRenderer::new);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -40,7 +38,7 @@ public class CnFClient
|
||||||
private static void onRegisterLayerDefinitions(
|
private static void onRegisterLayerDefinitions(
|
||||||
final EntityRenderersEvent.RegisterLayerDefinitions event)
|
final EntityRenderersEvent.RegisterLayerDefinitions event)
|
||||||
{
|
{
|
||||||
event.registerLayerDefinition(CnFLayers.CROWN_LAYER,
|
event.registerLayerDefinition(CharmsAndFabricsLayers.CROWN_LAYER,
|
||||||
FlowerCrownModel::createLayer);
|
FlowerCrownModel::createLayer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,12 +47,7 @@ public class CnFClient
|
||||||
final EntityRenderersEvent.RegisterRenderers event)
|
final EntityRenderersEvent.RegisterRenderers event)
|
||||||
{
|
{
|
||||||
event.registerBlockEntityRenderer(
|
event.registerBlockEntityRenderer(
|
||||||
CnFRegistries.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);
|
|
||||||
}
|
|
||||||
}
|
}
|
|
@ -1,53 +0,0 @@
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -3,9 +3,9 @@ package fr.sushi.charmsnfabrics.client.renderer;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||||
import fr.sushi.charmsnfabrics.client.CnFLayers;
|
import fr.sushi.charmsnfabrics.client.CharmsAndFabricsLayers;
|
||||||
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
||||||
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity;
|
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity;
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
import net.minecraft.client.renderer.MultiBufferSource;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
|
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
|
||||||
|
@ -13,18 +13,18 @@ import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.phys.Vec3;
|
import net.minecraft.world.phys.Vec3;
|
||||||
|
|
||||||
public class FloralWorkstationRenderer implements BlockEntityRenderer<FloralWorkstationBlockEntity>
|
public class FloralWorkstationRenderer implements BlockEntityRenderer<FloralWorkshopBlockEntity>
|
||||||
{
|
{
|
||||||
private final FlowerCrownModel model;
|
private final FlowerCrownModel model;
|
||||||
|
|
||||||
public FloralWorkstationRenderer(BlockEntityRendererProvider.Context ctx)
|
public FloralWorkstationRenderer(BlockEntityRendererProvider.Context ctx)
|
||||||
{
|
{
|
||||||
this.model = new FlowerCrownModel(
|
this.model = new FlowerCrownModel(
|
||||||
ctx.bakeLayer(CnFLayers.CROWN_LAYER));
|
ctx.bakeLayer(CharmsAndFabricsLayers.CROWN_LAYER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(FloralWorkstationBlockEntity blockEntity, float partialTick,
|
public void render(FloralWorkshopBlockEntity blockEntity, float partialTick,
|
||||||
PoseStack poseStack, MultiBufferSource bufferSource,
|
PoseStack poseStack, MultiBufferSource bufferSource,
|
||||||
int packedLight, int packedOverlay, Vec3 cameraPos)
|
int packedLight, int packedOverlay, Vec3 cameraPos)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@ package fr.sushi.charmsnfabrics.client.renderer;
|
||||||
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
import fr.sushi.charmsnfabrics.client.CnFLayers;
|
import fr.sushi.charmsnfabrics.client.CharmsAndFabricsLayers;
|
||||||
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
|
||||||
import fr.sushi.charmsnfabrics.common.item.FlowerCrown;
|
import fr.sushi.charmsnfabrics.common.item.FlowerCrown;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
|
@ -28,7 +28,7 @@ public class FlowerCrownRenderer implements ICurioRenderer
|
||||||
{
|
{
|
||||||
this.model = new FlowerCrownModel(
|
this.model = new FlowerCrownModel(
|
||||||
Minecraft.getInstance().getEntityModels()
|
Minecraft.getInstance().getEntityModels()
|
||||||
.bakeLayer(CnFLayers.CROWN_LAYER));
|
.bakeLayer(CharmsAndFabricsLayers.CROWN_LAYER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,7 +2,7 @@ package fr.sushi.charmsnfabrics.common;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||||
import fr.sushi.charmsnfabrics.common.block.FloralWorkstation;
|
import fr.sushi.charmsnfabrics.common.block.FloralWorkstation;
|
||||||
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity;
|
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity;
|
||||||
import fr.sushi.charmsnfabrics.common.item.FlowerCrown;
|
import fr.sushi.charmsnfabrics.common.item.FlowerCrown;
|
||||||
import net.minecraft.core.registries.Registries;
|
import net.minecraft.core.registries.Registries;
|
||||||
import net.minecraft.network.chat.Component;
|
import net.minecraft.network.chat.Component;
|
||||||
|
@ -23,7 +23,7 @@ import net.neoforged.neoforge.registries.DeferredRegister;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class CnFRegistries
|
public class CharmsAndFabricRegistries
|
||||||
{
|
{
|
||||||
public static class Items
|
public static class Items
|
||||||
{
|
{
|
||||||
|
@ -85,11 +85,11 @@ public class CnFRegistries
|
||||||
BLOCK_ENTITY_TYPES =
|
BLOCK_ENTITY_TYPES =
|
||||||
DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE,
|
DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE,
|
||||||
CharmsAndFabrics.MODID);
|
CharmsAndFabrics.MODID);
|
||||||
public static final Supplier<BlockEntityType<FloralWorkstationBlockEntity>>
|
public static final Supplier<BlockEntityType<FloralWorkshopBlockEntity>>
|
||||||
FLORAL_BLOCK_ENTITY =
|
FLORAL_BLOCK_ENTITY =
|
||||||
BLOCK_ENTITY_TYPES.register("floral_blockstation_entity",
|
BLOCK_ENTITY_TYPES.register("floral_block_entity",
|
||||||
() -> new BlockEntityType<>(
|
() -> new BlockEntityType<>(
|
||||||
FloralWorkstationBlockEntity::new,
|
FloralWorkshopBlockEntity::new,
|
||||||
Set.of(Blocks.FLORAL_WORKSTATION.get())));
|
Set.of(Blocks.FLORAL_WORKSTATION.get())));
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,54 +1,25 @@
|
||||||
package fr.sushi.charmsnfabrics.common.block;
|
package fr.sushi.charmsnfabrics.common.block;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity;
|
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity;
|
||||||
import net.minecraft.core.BlockPos;
|
import net.minecraft.core.BlockPos;
|
||||||
import net.minecraft.core.Direction;
|
|
||||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
|
||||||
import net.minecraft.world.level.block.Block;
|
import net.minecraft.world.level.block.Block;
|
||||||
import net.minecraft.world.level.block.EntityBlock;
|
import net.minecraft.world.level.block.EntityBlock;
|
||||||
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
|
|
||||||
import net.minecraft.world.level.block.Rotation;
|
|
||||||
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.BlockState;
|
import net.minecraft.world.level.block.state.BlockState;
|
||||||
import net.minecraft.world.level.block.state.StateDefinition;
|
|
||||||
import net.minecraft.world.level.block.state.properties.EnumProperty;
|
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
public class FloralWorkstation extends Block implements EntityBlock
|
public class FloralWorkstation extends Block implements EntityBlock
|
||||||
{
|
{
|
||||||
public static final EnumProperty<Direction> FACING =
|
public FloralWorkstation(Properties properties)
|
||||||
HorizontalDirectionalBlock.FACING;
|
|
||||||
|
|
||||||
public FloralWorkstation(BlockBehaviour.Properties properties)
|
|
||||||
{
|
{
|
||||||
super(properties);
|
super(properties);
|
||||||
this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH));
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void createBlockStateDefinition(
|
|
||||||
StateDefinition.Builder<Block, BlockState> builder)
|
|
||||||
{
|
|
||||||
builder.add(FACING);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public @Nullable BlockState getStateForPlacement(BlockPlaceContext ctx)
|
|
||||||
{
|
|
||||||
return this.defaultBlockState().setValue(FACING,
|
|
||||||
ctx.getHorizontalDirection().getClockWise());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected BlockState rotate(BlockState state, Rotation rot)
|
|
||||||
{
|
|
||||||
return state.setValue(FACING, rot.rotate(state.getValue(FACING)));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @Nullable BlockEntity newBlockEntity(BlockPos pos, BlockState state)
|
public @Nullable BlockEntity newBlockEntity(BlockPos pos, BlockState state)
|
||||||
{
|
{
|
||||||
return new FloralWorkstationBlockEntity(pos, state);
|
return new FloralWorkshopBlockEntity(pos, state);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,18 @@
|
||||||
|
package fr.sushi.charmsnfabrics.common.entities.block;
|
||||||
|
|
||||||
|
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
||||||
|
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.state.BlockState;
|
||||||
|
|
||||||
|
public class FloralWorkshopBlockEntity extends BlockEntity
|
||||||
|
{
|
||||||
|
public FloralWorkshopBlockEntity(BlockPos pos, BlockState blockState)
|
||||||
|
{
|
||||||
|
super(CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos,
|
||||||
|
blockState);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,16 +0,0 @@
|
||||||
package fr.sushi.charmsnfabrics.common.entities.block;
|
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.common.CnFRegistries;
|
|
||||||
import net.minecraft.core.BlockPos;
|
|
||||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
|
||||||
import net.minecraft.world.level.block.state.BlockState;
|
|
||||||
|
|
||||||
public class FloralWorkstationBlockEntity extends BlockEntity
|
|
||||||
{
|
|
||||||
public FloralWorkstationBlockEntity(BlockPos pos, BlockState blockState)
|
|
||||||
{
|
|
||||||
super(CnFRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos,
|
|
||||||
blockState);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"variants": {
|
||||||
|
"": {
|
||||||
|
"model": "charmsnfabrics:block/floral_workstation"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"model": {
|
||||||
|
"type": "minecraft:model",
|
||||||
|
"model": "charmsnfabrics:block/floral_workstation"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"model": {
|
||||||
|
"type": "minecraft:model",
|
||||||
|
"model": "charmsnfabrics:item/flower_crown"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "minecraft:item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "charmsnfabrics:item/flower_crown"
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue