This commit is contained in:
parent
1a3d94f94e
commit
0776e4657c
3 changed files with 102 additions and 18 deletions
|
@ -1,17 +1,28 @@
|
|||
package fr.sushi.charmsnfabrics.common;
|
||||
|
||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
||||
import fr.sushi.charmsnfabrics.common.block.FloralWorkshop;
|
||||
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity;
|
||||
import fr.sushi.charmsnfabrics.common.item.FlowerCrown;
|
||||
import net.minecraft.core.registries.Registries;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.resources.ResourceKey;
|
||||
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.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockBehaviour;
|
||||
import net.neoforged.bus.api.IEventBus;
|
||||
import net.neoforged.neoforge.registries.DeferredBlock;
|
||||
import net.neoforged.neoforge.registries.DeferredHolder;
|
||||
import net.neoforged.neoforge.registries.DeferredItem;
|
||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class CharmsAndFabricRegistries
|
||||
{
|
||||
public static class Items
|
||||
|
@ -20,8 +31,26 @@ public class CharmsAndFabricRegistries
|
|||
DeferredRegister.createItems(CharmsAndFabrics.MODID);
|
||||
public static final DeferredItem<Item> FLOWER_CROWN =
|
||||
ITEMS.registerItem("flower_crown",
|
||||
(properties) -> new FlowerCrown(
|
||||
properties.stacksTo(1)));
|
||||
(properties) -> new FlowerCrown(
|
||||
properties.stacksTo(1)));
|
||||
/* BlockItems */
|
||||
public static final DeferredItem<BlockItem> FLORAL_WORKSHOP =
|
||||
ITEMS.registerItem("floral_workshop",
|
||||
properties -> new BlockItem(
|
||||
Blocks.FLORAL_WORKSHOP.get(), properties));
|
||||
}
|
||||
|
||||
public static class Blocks
|
||||
{
|
||||
public static final DeferredRegister.Blocks BLOCKS =
|
||||
DeferredRegister.createBlocks(CharmsAndFabrics.MODID);
|
||||
public static final DeferredBlock<Block> FLORAL_WORKSHOP =
|
||||
BLOCKS.register("floral_workshop",
|
||||
registry_name -> new FloralWorkshop(
|
||||
BlockBehaviour.Properties.of()
|
||||
.setId(ResourceKey.create(
|
||||
Registries.BLOCK,
|
||||
registry_name))));
|
||||
}
|
||||
|
||||
public static class Tabs
|
||||
|
@ -29,28 +58,45 @@ public class CharmsAndFabricRegistries
|
|||
public static final DeferredRegister<CreativeModeTab>
|
||||
CREATIVE_MODE_TABS =
|
||||
DeferredRegister.create(Registries.CREATIVE_MODE_TAB,
|
||||
CharmsAndFabrics.MODID);
|
||||
CharmsAndFabrics.MODID);
|
||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab>
|
||||
EXAMPLE_TAB = CREATIVE_MODE_TABS.register("charmsnfabrics_tab",
|
||||
() -> CreativeModeTab
|
||||
.builder()
|
||||
.title(Component.translatable(
|
||||
"itemGroup.charmsnfabrics"))
|
||||
.withTabsBefore(
|
||||
CreativeModeTabs.COMBAT)
|
||||
.icon(Items.FLOWER_CROWN.get()::getDefaultInstance)
|
||||
.displayItems(
|
||||
(parameters, output) ->
|
||||
{
|
||||
output.accept(
|
||||
Items.FLOWER_CROWN.get());
|
||||
})
|
||||
.build());
|
||||
CHARMS_AND_FABRICS_TAB =
|
||||
CREATIVE_MODE_TABS.register("charmsnfabrics_tab",
|
||||
() -> CreativeModeTab.builder()
|
||||
.title(Component.translatable(
|
||||
"itemGroup.charmsnfabrics"))
|
||||
.withTabsBefore(
|
||||
CreativeModeTabs.COMBAT)
|
||||
.icon(Items.FLOWER_CROWN.get()::getDefaultInstance)
|
||||
.displayItems(
|
||||
(parameters, output) ->
|
||||
{
|
||||
output.accept(
|
||||
Items.FLOWER_CROWN.get());
|
||||
output.accept(
|
||||
Blocks.FLORAL_WORKSHOP.toStack());
|
||||
}).build());
|
||||
}
|
||||
|
||||
public static class Entities
|
||||
{
|
||||
public static final DeferredRegister<BlockEntityType<?>>
|
||||
BLOCK_ENTITY_TYPES =
|
||||
DeferredRegister.create(Registries.BLOCK_ENTITY_TYPE,
|
||||
CharmsAndFabrics.MODID);
|
||||
public static final Supplier<BlockEntityType<FloralWorkshopBlockEntity>>
|
||||
FLORAL_BLOCK_ENTITY =
|
||||
BLOCK_ENTITY_TYPES.register("floral_block_entity",
|
||||
() -> new BlockEntityType<>(
|
||||
FloralWorkshopBlockEntity::new,
|
||||
Set.of(Blocks.FLORAL_WORKSHOP.get())));
|
||||
}
|
||||
|
||||
public static void register(IEventBus bus)
|
||||
{
|
||||
Items.ITEMS.register(bus);
|
||||
Blocks.BLOCKS.register(bus);
|
||||
Entities.BLOCK_ENTITY_TYPES.register(bus);
|
||||
Tabs.CREATIVE_MODE_TABS.register(bus);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
package fr.sushi.charmsnfabrics.common.block;
|
||||
|
||||
import fr.sushi.charmsnfabrics.common.entities.block.FloralWorkshopBlockEntity;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.EntityBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
public class FloralWorkshop extends Block implements EntityBlock
|
||||
{
|
||||
public FloralWorkshop(Properties properties)
|
||||
{
|
||||
super(properties);
|
||||
}
|
||||
|
||||
@Override
|
||||
public @Nullable BlockEntity newBlockEntity(BlockPos pos, BlockState state)
|
||||
{
|
||||
return new FloralWorkshopBlockEntity(pos, state);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package fr.sushi.charmsnfabrics.common.entities.block;
|
||||
|
||||
import fr.sushi.charmsnfabrics.common.CharmsAndFabricRegistries;
|
||||
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 FloralWorkshopBlockEntity(BlockPos pos, BlockState blockState)
|
||||
{
|
||||
super(CharmsAndFabricRegistries.Entities.FLORAL_BLOCK_ENTITY.get(), pos,
|
||||
blockState);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue