fix: rename + blockstates
Some checks are pending
Build / build (push) Waiting to run

This commit is contained in:
SushiCannibale 2025-08-02 16:26:24 +02:00
parent b91e4aae21
commit aa5adbd59e
8 changed files with 57 additions and 49 deletions

View file

@ -1,38 +1,17 @@
package fr.sushi.charmsnfabrics; package fr.sushi.charmsnfabrics;
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries; import fr.sushi.charmsnfabrics.common.CnFRegistries;
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) {
CharmsAndFabricRegistries.register(modEventBus); CnFRegistries.register(modEventBus);
modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC); modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC);
} }

View file

@ -5,7 +5,7 @@ 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.CharmsAndFabricRegistries; import fr.sushi.charmsnfabrics.common.CnFRegistries;
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;
@ -20,9 +20,9 @@ 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 CharmsFabricsClient public class CnFClient
{ {
public CharmsFabricsClient(ModContainer container) public CnFClient(ModContainer container)
{ {
container.registerExtensionPoint(IConfigScreenFactory.class, container.registerExtensionPoint(IConfigScreenFactory.class,
ConfigurationScreen::new); ConfigurationScreen::new);
@ -32,7 +32,7 @@ public class CharmsFabricsClient
private static void onClientSetup(final FMLClientSetupEvent event) private static void onClientSetup(final FMLClientSetupEvent event)
{ {
ICurioRenderer.register( ICurioRenderer.register(
CharmsAndFabricRegistries.Items.FLOWER_CROWN.get(), CnFRegistries.Items.FLOWER_CROWN.get(),
FlowerCrownRenderer::new); FlowerCrownRenderer::new);
} }
@ -40,7 +40,7 @@ public class CharmsFabricsClient
private static void onRegisterLayerDefinitions( private static void onRegisterLayerDefinitions(
final EntityRenderersEvent.RegisterLayerDefinitions event) final EntityRenderersEvent.RegisterLayerDefinitions event)
{ {
event.registerLayerDefinition(CharmsAndFabricsLayers.CROWN_LAYER, event.registerLayerDefinition(CnFLayers.CROWN_LAYER,
FlowerCrownModel::createLayer); FlowerCrownModel::createLayer);
} }
@ -49,7 +49,7 @@ public class CharmsFabricsClient
final EntityRenderersEvent.RegisterRenderers event) final EntityRenderersEvent.RegisterRenderers event)
{ {
event.registerBlockEntityRenderer( event.registerBlockEntityRenderer(
CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), CnFRegistries.Entities.FLORAL_BLOCK_ENTITY.get(),
FloralWorkstationRenderer::new); FloralWorkstationRenderer::new);
} }

View file

@ -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 CharmsAndFabricsLayers public class CnFLayers
{ {
public static final ModelLayerLocation CROWN_LAYER = new ModelLayerLocation( public static final ModelLayerLocation CROWN_LAYER = new ModelLayerLocation(
ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID, ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID,

View file

@ -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.CharmsAndFabricsLayers; import fr.sushi.charmsnfabrics.client.CnFLayers;
import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel; import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel;
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity; import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity;
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<FloralWorkshopBlockEntity> public class FloralWorkstationRenderer implements BlockEntityRenderer<FloralWorkstationBlockEntity>
{ {
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(CharmsAndFabricsLayers.CROWN_LAYER)); ctx.bakeLayer(CnFLayers.CROWN_LAYER));
} }
@Override @Override
public void render(FloralWorkshopBlockEntity blockEntity, float partialTick, public void render(FloralWorkstationBlockEntity blockEntity, float partialTick,
PoseStack poseStack, MultiBufferSource bufferSource, PoseStack poseStack, MultiBufferSource bufferSource,
int packedLight, int packedOverlay, Vec3 cameraPos) int packedLight, int packedOverlay, Vec3 cameraPos)
{ {

View file

@ -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.CharmsAndFabricsLayers; import fr.sushi.charmsnfabrics.client.CnFLayers;
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(CharmsAndFabricsLayers.CROWN_LAYER)); .bakeLayer(CnFLayers.CROWN_LAYER));
} }
@Override @Override

View file

@ -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.FloralWorkshopBlockEntity; import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity;
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 CharmsAndFabricRegistries public class CnFRegistries
{ {
public static class Items public static class Items
{ {
@ -85,11 +85,11 @@ public class CharmsAndFabricRegistries
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<FloralWorkshopBlockEntity>> public static final Supplier<BlockEntityType<FloralWorkstationBlockEntity>>
FLORAL_BLOCK_ENTITY = FLORAL_BLOCK_ENTITY =
BLOCK_ENTITY_TYPES.register("floral_block_entity", BLOCK_ENTITY_TYPES.register("floral_blockstation_entity",
() -> new BlockEntityType<>( () -> new BlockEntityType<>(
FloralWorkshopBlockEntity::new, FloralWorkstationBlockEntity::new,
Set.of(Blocks.FLORAL_WORKSTATION.get()))); Set.of(Blocks.FLORAL_WORKSTATION.get())));
} }

View file

@ -1,25 +1,54 @@
package fr.sushi.charmsnfabrics.common.block; package fr.sushi.charmsnfabrics.common.block;
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity; import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity;
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 FloralWorkstation(Properties properties) public static final EnumProperty<Direction> FACING =
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 FloralWorkshopBlockEntity(pos, state); return new FloralWorkstationBlockEntity(pos, state);
} }
} }

View file

@ -5,9 +5,9 @@ import net.minecraft.core.BlockPos;
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;
public class FloralWorkshopBlockEntity extends BlockEntity public class FloralWorkstationBlockEntity extends BlockEntity
{ {
public FloralWorkshopBlockEntity(BlockPos pos, BlockState blockState) public FloralWorkstationBlockEntity(BlockPos pos, BlockState blockState)
{ {
super(CnFRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos, super(CnFRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos,
blockState); blockState);