From aa5adbd59e519b81ee0196702411b89413a9250a Mon Sep 17 00:00:00 2001 From: SushiCannibale Date: Sat, 2 Aug 2025 16:26:24 +0200 Subject: [PATCH] fix: rename + blockstates --- .../charmsnfabrics/CharmsAndFabrics.java | 25 +----------- .../charmsnfabrics/client/CnFClient.java | 12 +++--- .../charmsnfabrics/client/CnFLayers.java | 2 +- .../renderer/FloralWorkstationRenderer.java | 10 ++--- .../client/renderer/FlowerCrownRenderer.java | 4 +- .../charmsnfabrics/common/CnFRegistries.java | 10 ++--- .../common/block/FloralWorkstation.java | 39 ++++++++++++++++--- .../block/FloralWorkstationBlockEntity.java | 4 +- 8 files changed, 57 insertions(+), 49 deletions(-) diff --git a/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java b/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java index 85081a2..07a0dd0 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java +++ b/src/main/java/fr/sushi/charmsnfabrics/CharmsAndFabrics.java @@ -1,38 +1,17 @@ package fr.sushi.charmsnfabrics; -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 fr.sushi.charmsnfabrics.common.CnFRegistries; import net.neoforged.bus.api.IEventBus; -import net.neoforged.bus.api.SubscribeEvent; import net.neoforged.fml.common.Mod; import net.neoforged.fml.config.ModConfig; 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) public class CharmsAndFabrics { public static final String MODID = "charmsnfabrics"; public CharmsAndFabrics(IEventBus modEventBus, ModContainer modContainer) { - CharmsAndFabricRegistries.register(modEventBus); + CnFRegistries.register(modEventBus); modContainer.registerConfig(ModConfig.Type.COMMON, Config.SPEC); } diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java b/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java index 97505a9..29bfc66 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java +++ b/src/main/java/fr/sushi/charmsnfabrics/client/CnFClient.java @@ -5,7 +5,7 @@ import fr.sushi.charmsnfabrics.client.datagen.CnFModelProvider; import fr.sushi.charmsnfabrics.client.model.FlowerCrownModel; import fr.sushi.charmsnfabrics.client.renderer.FloralWorkstationRenderer; 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.bus.api.SubscribeEvent; import net.neoforged.fml.ModContainer; @@ -20,9 +20,9 @@ import top.theillusivec4.curios.api.client.ICurioRenderer; @Mod(value = CharmsAndFabrics.MODID, dist = 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, ConfigurationScreen::new); @@ -32,7 +32,7 @@ public class CharmsFabricsClient private static void onClientSetup(final FMLClientSetupEvent event) { ICurioRenderer.register( - CharmsAndFabricRegistries.Items.FLOWER_CROWN.get(), + CnFRegistries.Items.FLOWER_CROWN.get(), FlowerCrownRenderer::new); } @@ -40,7 +40,7 @@ public class CharmsFabricsClient private static void onRegisterLayerDefinitions( final EntityRenderersEvent.RegisterLayerDefinitions event) { - event.registerLayerDefinition(CharmsAndFabricsLayers.CROWN_LAYER, + event.registerLayerDefinition(CnFLayers.CROWN_LAYER, FlowerCrownModel::createLayer); } @@ -49,7 +49,7 @@ public class CharmsFabricsClient final EntityRenderersEvent.RegisterRenderers event) { event.registerBlockEntityRenderer( - CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), + CnFRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), FloralWorkstationRenderer::new); } diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/CnFLayers.java b/src/main/java/fr/sushi/charmsnfabrics/client/CnFLayers.java index 429f56c..56e1f36 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/client/CnFLayers.java +++ b/src/main/java/fr/sushi/charmsnfabrics/client/CnFLayers.java @@ -4,7 +4,7 @@ import fr.sushi.charmsnfabrics.CharmsAndFabrics; import net.minecraft.client.model.geom.ModelLayerLocation; import net.minecraft.resources.ResourceLocation; -public class CharmsAndFabricsLayers +public class CnFLayers { public static final ModelLayerLocation CROWN_LAYER = new ModelLayerLocation( ResourceLocation.fromNamespaceAndPath(CharmsAndFabrics.MODID, diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FloralWorkstationRenderer.java b/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FloralWorkstationRenderer.java index 2dad782..db7f4c0 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FloralWorkstationRenderer.java +++ b/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FloralWorkstationRenderer.java @@ -3,9 +3,9 @@ package fr.sushi.charmsnfabrics.client.renderer; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; 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.common.entities.block.FloralWorkshopBlockEntity; +import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkstationBlockEntity; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; 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.world.phys.Vec3; -public class FloralWorkstationRenderer implements BlockEntityRenderer +public class FloralWorkstationRenderer implements BlockEntityRenderer { private final FlowerCrownModel model; public FloralWorkstationRenderer(BlockEntityRendererProvider.Context ctx) { this.model = new FlowerCrownModel( - ctx.bakeLayer(CharmsAndFabricsLayers.CROWN_LAYER)); + ctx.bakeLayer(CnFLayers.CROWN_LAYER)); } @Override - public void render(FloralWorkshopBlockEntity blockEntity, float partialTick, + public void render(FloralWorkstationBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay, Vec3 cameraPos) { diff --git a/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FlowerCrownRenderer.java b/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FlowerCrownRenderer.java index 735a45b..2ede0ce 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FlowerCrownRenderer.java +++ b/src/main/java/fr/sushi/charmsnfabrics/client/renderer/FlowerCrownRenderer.java @@ -2,7 +2,7 @@ package fr.sushi.charmsnfabrics.client.renderer; import com.mojang.blaze3d.vertex.PoseStack; 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.common.item.FlowerCrown; import net.minecraft.client.Minecraft; @@ -28,7 +28,7 @@ public class FlowerCrownRenderer implements ICurioRenderer { this.model = new FlowerCrownModel( Minecraft.getInstance().getEntityModels() - .bakeLayer(CharmsAndFabricsLayers.CROWN_LAYER)); + .bakeLayer(CnFLayers.CROWN_LAYER)); } @Override diff --git a/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java b/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java index 3c1e1fe..d969723 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java +++ b/src/main/java/fr/sushi/charmsnfabrics/common/CnFRegistries.java @@ -2,7 +2,7 @@ package fr.sushi.charmsnfabrics.common; import fr.sushi.charmsnfabrics.CharmsAndFabrics; 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 net.minecraft.core.registries.Registries; import net.minecraft.network.chat.Component; @@ -23,7 +23,7 @@ import net.neoforged.neoforge.registries.DeferredRegister; import java.util.Set; import java.util.function.Supplier; -public class CharmsAndFabricRegistries +public class CnFRegistries { public static class Items { @@ -85,11 +85,11 @@ public class CharmsAndFabricRegistries BLOCK_ENTITY_TYPES = DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE, CharmsAndFabrics.MODID); - public static final Supplier> + public static final Supplier> FLORAL_BLOCK_ENTITY = - BLOCK_ENTITY_TYPES.register("floral_block_entity", + BLOCK_ENTITY_TYPES.register("floral_blockstation_entity", () -> new BlockEntityType<>( - FloralWorkshopBlockEntity::new, + FloralWorkstationBlockEntity::new, Set.of(Blocks.FLORAL_WORKSTATION.get()))); } diff --git a/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkstation.java b/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkstation.java index d89f81e..77dbee2 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkstation.java +++ b/src/main/java/fr/sushi/charmsnfabrics/common/block/FloralWorkstation.java @@ -1,25 +1,54 @@ 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.Direction; +import net.minecraft.world.item.context.BlockPlaceContext; import net.minecraft.world.level.block.Block; 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.state.BlockBehaviour; 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; public class FloralWorkstation extends Block implements EntityBlock { - public FloralWorkstation(Properties properties) + public static final EnumProperty FACING = + HorizontalDirectionalBlock.FACING; + + public FloralWorkstation(BlockBehaviour.Properties properties) { super(properties); + this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH)); + } + + @Override + protected void createBlockStateDefinition( + StateDefinition.Builder 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 public @Nullable BlockEntity newBlockEntity(BlockPos pos, BlockState state) { - return new FloralWorkshopBlockEntity(pos, state); + return new FloralWorkstationBlockEntity(pos, state); } - - } diff --git a/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkstationBlockEntity.java b/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkstationBlockEntity.java index 283994c..754206c 100644 --- a/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkstationBlockEntity.java +++ b/src/main/java/fr/sushi/charmsnfabrics/common/entities/block/FloralWorkstationBlockEntity.java @@ -5,9 +5,9 @@ import net.minecraft.core.BlockPos; import net.minecraft.world.level.block.entity.BlockEntity; 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, blockState);