This commit is contained in:
parent
b91e4aae21
commit
aa5adbd59e
8 changed files with 57 additions and 49 deletions
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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<FloralWorkshopBlockEntity>
|
||||
public class FloralWorkstationRenderer implements BlockEntityRenderer<FloralWorkstationBlockEntity>
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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<BlockEntityType<FloralWorkshopBlockEntity>>
|
||||
public static final Supplier<BlockEntityType<FloralWorkstationBlockEntity>>
|
||||
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())));
|
||||
}
|
||||
|
||||
|
|
|
@ -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<Direction> 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<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
|
||||
public @Nullable BlockEntity newBlockEntity(BlockPos pos, BlockState state)
|
||||
{
|
||||
return new FloralWorkshopBlockEntity(pos, state);
|
||||
return new FloralWorkstationBlockEntity(pos, state);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue