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;
|
package fr.sushi.charmsnfabrics.common;
|
||||||
|
|
||||||
import fr.sushi.charmsnfabrics.CharmsAndFabrics;
|
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 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;
|
||||||
|
import net.minecraft.resources.ResourceKey;
|
||||||
|
import net.minecraft.world.item.BlockItem;
|
||||||
import net.minecraft.world.item.CreativeModeTab;
|
import net.minecraft.world.item.CreativeModeTab;
|
||||||
import net.minecraft.world.item.CreativeModeTabs;
|
import net.minecraft.world.item.CreativeModeTabs;
|
||||||
import net.minecraft.world.item.Item;
|
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.bus.api.IEventBus;
|
||||||
|
import net.neoforged.neoforge.registries.DeferredBlock;
|
||||||
import net.neoforged.neoforge.registries.DeferredHolder;
|
import net.neoforged.neoforge.registries.DeferredHolder;
|
||||||
import net.neoforged.neoforge.registries.DeferredItem;
|
import net.neoforged.neoforge.registries.DeferredItem;
|
||||||
import net.neoforged.neoforge.registries.DeferredRegister;
|
import net.neoforged.neoforge.registries.DeferredRegister;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class CharmsAndFabricRegistries
|
public class CharmsAndFabricRegistries
|
||||||
{
|
{
|
||||||
public static class Items
|
public static class Items
|
||||||
|
@ -22,6 +33,24 @@ public class CharmsAndFabricRegistries
|
||||||
ITEMS.registerItem("flower_crown",
|
ITEMS.registerItem("flower_crown",
|
||||||
(properties) -> new FlowerCrown(
|
(properties) -> new FlowerCrown(
|
||||||
properties.stacksTo(1)));
|
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
|
public static class Tabs
|
||||||
|
@ -31,9 +60,9 @@ public class CharmsAndFabricRegistries
|
||||||
DeferredRegister.create(Registries.CREATIVE_MODE_TAB,
|
DeferredRegister.create(Registries.CREATIVE_MODE_TAB,
|
||||||
CharmsAndFabrics.MODID);
|
CharmsAndFabrics.MODID);
|
||||||
public static final DeferredHolder<CreativeModeTab, CreativeModeTab>
|
public static final DeferredHolder<CreativeModeTab, CreativeModeTab>
|
||||||
EXAMPLE_TAB = CREATIVE_MODE_TABS.register("charmsnfabrics_tab",
|
CHARMS_AND_FABRICS_TAB =
|
||||||
() -> CreativeModeTab
|
CREATIVE_MODE_TABS.register("charmsnfabrics_tab",
|
||||||
.builder()
|
() -> CreativeModeTab.builder()
|
||||||
.title(Component.translatable(
|
.title(Component.translatable(
|
||||||
"itemGroup.charmsnfabrics"))
|
"itemGroup.charmsnfabrics"))
|
||||||
.withTabsBefore(
|
.withTabsBefore(
|
||||||
|
@ -44,13 +73,30 @@ public class CharmsAndFabricRegistries
|
||||||
{
|
{
|
||||||
output.accept(
|
output.accept(
|
||||||
Items.FLOWER_CROWN.get());
|
Items.FLOWER_CROWN.get());
|
||||||
})
|
output.accept(
|
||||||
.build());
|
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)
|
public static void register(IEventBus bus)
|
||||||
{
|
{
|
||||||
Items.ITEMS.register(bus);
|
Items.ITEMS.register(bus);
|
||||||
|
Blocks.BLOCKS.register(bus);
|
||||||
|
Entities.BLOCK_ENTITY_TYPES.register(bus);
|
||||||
Tabs.CREATIVE_MODE_TABS.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