diff --git a/src/client/resources/assets/promenade/textures/block/dark_amaranth_shelf.png b/src/client/resources/assets/promenade/textures/block/dark_amaranth_shelf.png new file mode 100644 index 00000000..859f7867 Binary files /dev/null and b/src/client/resources/assets/promenade/textures/block/dark_amaranth_shelf.png differ diff --git a/src/client/resources/assets/promenade/textures/block/maple_shelf.png b/src/client/resources/assets/promenade/textures/block/maple_shelf.png new file mode 100644 index 00000000..ce88e925 Binary files /dev/null and b/src/client/resources/assets/promenade/textures/block/maple_shelf.png differ diff --git a/src/client/resources/assets/promenade/textures/block/palm_shelf.png b/src/client/resources/assets/promenade/textures/block/palm_shelf.png new file mode 100644 index 00000000..cfca9c59 Binary files /dev/null and b/src/client/resources/assets/promenade/textures/block/palm_shelf.png differ diff --git a/src/client/resources/assets/promenade/textures/block/sakura_shelf.png b/src/client/resources/assets/promenade/textures/block/sakura_shelf.png new file mode 100644 index 00000000..92d35d70 Binary files /dev/null and b/src/client/resources/assets/promenade/textures/block/sakura_shelf.png differ diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockLootTableProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockLootTableProvider.java index 0a01a9c9..5b99583f 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockLootTableProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockLootTableProvider.java @@ -108,6 +108,7 @@ public void generate() { addDrop(PromenadeBlocks.SAKURA_PRESSURE_PLATE); addDrop(PromenadeBlocks.SAKURA_SIGN); addDrop(PromenadeBlocks.SAKURA_HANGING_SIGN); + addDrop(PromenadeBlocks.SAKURA_SHELF); addDrop(PromenadeBlocks.BLUSH_SAKURA_SAPLING); addPottedPlantDrops(PromenadeBlocks.POTTED_BLUSH_SAKURA_SAPLING); @@ -136,6 +137,7 @@ public void generate() { addDrop(PromenadeBlocks.MAPLE_PRESSURE_PLATE); addDrop(PromenadeBlocks.MAPLE_SIGN); addDrop(PromenadeBlocks.MAPLE_HANGING_SIGN); + addDrop(PromenadeBlocks.MAPLE_SHELF); addDrop(PromenadeBlocks.SAP_MAPLE_SAPLING); addPottedPlantDrops(PromenadeBlocks.POTTED_SAP_MAPLE_SAPLING); @@ -180,6 +182,7 @@ public void generate() { addDrop(PromenadeBlocks.PALM_PRESSURE_PLATE); addDrop(PromenadeBlocks.PALM_SIGN); addDrop(PromenadeBlocks.PALM_HANGING_SIGN); + addDrop(PromenadeBlocks.PALM_SHELF); addDrop(PromenadeBlocks.PALM_SAPLING); addPottedPlantDrops(PromenadeBlocks.POTTED_PALM_SAPLING); @@ -208,6 +211,7 @@ public void generate() { addDrop(PromenadeBlocks.DARK_AMARANTH_PRESSURE_PLATE); addDrop(PromenadeBlocks.DARK_AMARANTH_SIGN); addDrop(PromenadeBlocks.DARK_AMARANTH_HANGING_SIGN); + addDrop(PromenadeBlocks.DARK_AMARANTH_SHELF); addDrop(PromenadeBlocks.DARK_AMARANTH_FUNGUS); addPottedPlantDrops(PromenadeBlocks.POTTED_DARK_AMARANTH_FUNGUS); diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java index e2128614..507b0695 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeBlockTagProvider.java @@ -130,6 +130,7 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { valueLookupBuilder(BlockTags.WALL_SIGNS).add(SAKURA_WALL_SIGN, MAPLE_WALL_SIGN, PALM_WALL_SIGN, DARK_AMARANTH_WALL_SIGN); valueLookupBuilder(BlockTags.CEILING_HANGING_SIGNS).add(SAKURA_HANGING_SIGN, MAPLE_HANGING_SIGN, PALM_HANGING_SIGN, DARK_AMARANTH_HANGING_SIGN); valueLookupBuilder(BlockTags.WALL_HANGING_SIGNS).add(SAKURA_WALL_HANGING_SIGN, MAPLE_WALL_HANGING_SIGN, PALM_WALL_HANGING_SIGN, DARK_AMARANTH_WALL_HANGING_SIGN); + valueLookupBuilder(BlockTags.WOODEN_SHELVES).add(SAKURA_SHELF, MAPLE_SHELF, PALM_SHELF, DARK_AMARANTH_SHELF); valueLookupBuilder(BlockTags.LEAVES).add( VERMILION_MAPLE_LEAVES, diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java index e63aa61c..564f7782 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeItemTagProvider.java @@ -62,6 +62,7 @@ protected void configure(RegistryWrapper.WrapperLookup wrapperLookup) { copy(BlockTags.SOUL_FIRE_BASE_BLOCKS, ItemTags.SOUL_FIRE_BASE_BLOCKS); copy(BlockTags.STANDING_SIGNS, ItemTags.SIGNS); copy(BlockTags.CEILING_HANGING_SIGNS, ItemTags.HANGING_SIGNS); + copy(BlockTags.WOODEN_SHELVES, ItemTags.WOODEN_SHELVES); valueLookupBuilder(ItemTags.BOATS).add(SAKURA_BOAT, MAPLE_BOAT, PALM_BOAT); valueLookupBuilder(ItemTags.CHEST_BOATS).add(SAKURA_CHEST_BOAT, MAPLE_CHEST_BOAT, PALM_CHEST_BOAT); diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeModelProvider.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeModelProvider.java index eab2a652..907f8a1d 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeModelProvider.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeModelProvider.java @@ -109,6 +109,7 @@ public void generateBlockStateModels(BlockStateModelGenerator gen) { gen.createLogTexturePool(PromenadeBlocks.SAKURA_LOG).uvLockedLog(PromenadeBlocks.SAKURA_LOG).wood(PromenadeBlocks.SAKURA_WOOD); gen.createLogTexturePool(PromenadeBlocks.STRIPPED_SAKURA_LOG).uvLockedLog(PromenadeBlocks.STRIPPED_SAKURA_LOG).wood(PromenadeBlocks.STRIPPED_SAKURA_WOOD); gen.registerHangingSign(PromenadeBlocks.STRIPPED_SAKURA_LOG, PromenadeBlocks.SAKURA_HANGING_SIGN, PromenadeBlocks.SAKURA_WALL_HANGING_SIGN); + gen.registerShelf(PromenadeBlocks.SAKURA_SHELF, PromenadeBlocks.STRIPPED_SAKURA_LOG); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.BLUSH_SAKURA_SAPLING, PromenadeBlocks.POTTED_BLUSH_SAKURA_SAPLING, BlockStateModelGenerator.CrossType.NOT_TINTED); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.COTTON_SAKURA_SAPLING, PromenadeBlocks.POTTED_COTTON_SAKURA_SAPLING, BlockStateModelGenerator.CrossType.NOT_TINTED); gen.registerSingleton(PromenadeBlocks.BLUSH_SAKURA_BLOSSOMS, TexturedModel.LEAVES); @@ -122,6 +123,7 @@ public void generateBlockStateModels(BlockStateModelGenerator gen) { registerDripLog(gen, PromenadeBlocks.STRIPPED_MAPLE_LOG); gen.createLogTexturePool(PromenadeBlocks.STRIPPED_MAPLE_LOG).wood(PromenadeBlocks.STRIPPED_MAPLE_WOOD); gen.registerHangingSign(PromenadeBlocks.STRIPPED_MAPLE_LOG, PromenadeBlocks.MAPLE_HANGING_SIGN, PromenadeBlocks.MAPLE_WALL_HANGING_SIGN); + gen.registerShelf(PromenadeBlocks.MAPLE_SHELF, PromenadeBlocks.STRIPPED_MAPLE_LOG); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.SAP_MAPLE_SAPLING, PromenadeBlocks.POTTED_SAP_MAPLE_SAPLING, BlockStateModelGenerator.CrossType.NOT_TINTED); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.VERMILION_MAPLE_SAPLING, PromenadeBlocks.POTTED_VERMILION_MAPLE_SAPLING, BlockStateModelGenerator.CrossType.NOT_TINTED); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.FULVOUS_MAPLE_SAPLING, PromenadeBlocks.POTTED_FULVOUS_MAPLE_SAPLING, BlockStateModelGenerator.CrossType.NOT_TINTED); @@ -146,6 +148,7 @@ public void generateBlockStateModels(BlockStateModelGenerator gen) { gen.createLogTexturePool(PromenadeBlocks.PALM_LOG).log(PromenadeBlocks.PALM_LOG).wood(PromenadeBlocks.PALM_WOOD); gen.createLogTexturePool(PromenadeBlocks.STRIPPED_PALM_LOG).log(PromenadeBlocks.STRIPPED_PALM_LOG).wood(PromenadeBlocks.STRIPPED_PALM_WOOD); gen.registerHangingSign(PromenadeBlocks.STRIPPED_PALM_LOG, PromenadeBlocks.PALM_HANGING_SIGN, PromenadeBlocks.PALM_WALL_HANGING_SIGN); + gen.registerShelf(PromenadeBlocks.PALM_SHELF, PromenadeBlocks.STRIPPED_PALM_LOG); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.PALM_SAPLING, PromenadeBlocks.POTTED_PALM_SAPLING, BlockStateModelGenerator.CrossType.NOT_TINTED); gen.registerTintedBlockAndItem(PromenadeBlocks.PALM_LEAVES, TexturedModel.LEAVES, PromenadeFoliageColors.PALM); this.registerSnowyLeaves(gen, PromenadeBlocks.SNOWY_PALM_LEAVES, PromenadeBlocks.PALM_LEAVES, PromenadeFoliageColors.PALM); @@ -159,6 +162,7 @@ public void generateBlockStateModels(BlockStateModelGenerator gen) { gen.createLogTexturePool(PromenadeBlocks.DARK_AMARANTH_STEM).stem(PromenadeBlocks.DARK_AMARANTH_STEM).wood(PromenadeBlocks.DARK_AMARANTH_HYPHAE); gen.createLogTexturePool(PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM).stem(PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM).wood(PromenadeBlocks.STRIPPED_DARK_AMARANTH_HYPHAE); gen.registerHangingSign(PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM, PromenadeBlocks.DARK_AMARANTH_HANGING_SIGN, PromenadeBlocks.DARK_AMARANTH_WALL_HANGING_SIGN); + gen.registerShelf(PromenadeBlocks.DARK_AMARANTH_SHELF, PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM); gen.registerFlowerPotPlantAndItem(PromenadeBlocks.DARK_AMARANTH_FUNGUS, PromenadeBlocks.POTTED_DARK_AMARANTH_FUNGUS, BlockStateModelGenerator.CrossType.NOT_TINTED); gen.registerSimpleCubeAll(PromenadeBlocks.SOUL_SHROOMLIGHT); diff --git a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeRecipeGenerator.java b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeRecipeGenerator.java index b1522e74..5a5d8637 100644 --- a/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeRecipeGenerator.java +++ b/src/datagen/java/fr/hugman/promenade/data/provider/PromenadeRecipeGenerator.java @@ -89,6 +89,7 @@ public void generate() { this.offerBarkBlockRecipe(PromenadeBlocks.SAKURA_WOOD, PromenadeBlocks.SAKURA_LOG); this.offerBarkBlockRecipe(PromenadeBlocks.STRIPPED_SAKURA_WOOD, PromenadeBlocks.STRIPPED_SAKURA_LOG); this.offerHangingSignRecipe(PromenadeItems.SAKURA_HANGING_SIGN, PromenadeBlocks.STRIPPED_SAKURA_LOG); + this.offerShelfRecipe(PromenadeBlocks.SAKURA_SHELF, PromenadeBlocks.STRIPPED_SAKURA_LOG); this.offerSnowyLeavesRecipe(PromenadeBlocks.SNOWY_BLUSH_SAKURA_BLOSSOMS, PromenadeBlocks.BLUSH_SAKURA_BLOSSOMS); this.offerSnowyLeavesRecipe(PromenadeBlocks.SNOWY_COTTON_SAKURA_BLOSSOMS, PromenadeBlocks.COTTON_SAKURA_BLOSSOMS); this.offerLeafPileRecipe(PromenadeBlocks.BLUSH_SAKURA_BLOSSOM_PILE, PromenadeBlocks.BLUSH_SAKURA_BLOSSOM_PILE); @@ -100,6 +101,7 @@ public void generate() { this.offerBarkBlockRecipe(PromenadeBlocks.MAPLE_WOOD, PromenadeBlocks.MAPLE_LOG); this.offerBarkBlockRecipe(PromenadeBlocks.STRIPPED_MAPLE_WOOD, PromenadeBlocks.STRIPPED_MAPLE_LOG); this.offerHangingSignRecipe(PromenadeItems.MAPLE_HANGING_SIGN, PromenadeBlocks.STRIPPED_MAPLE_LOG); + this.offerShelfRecipe(PromenadeBlocks.MAPLE_SHELF, PromenadeBlocks.STRIPPED_MAPLE_LOG); this.offerSnowyLeavesRecipe(PromenadeBlocks.SNOWY_SAP_MAPLE_LEAVES, PromenadeBlocks.SAP_MAPLE_LEAVES); this.offerSnowyLeavesRecipe(PromenadeBlocks.SNOWY_VERMILION_MAPLE_LEAVES, PromenadeBlocks.VERMILION_MAPLE_LEAVES); this.offerSnowyLeavesRecipe(PromenadeBlocks.SNOWY_FULVOUS_MAPLE_LEAVES, PromenadeBlocks.FULVOUS_MAPLE_LEAVES); @@ -119,6 +121,7 @@ public void generate() { this.offerBarkBlockRecipe(PromenadeBlocks.PALM_WOOD, PromenadeBlocks.PALM_LOG); this.offerBarkBlockRecipe(PromenadeBlocks.STRIPPED_PALM_WOOD, PromenadeBlocks.STRIPPED_PALM_LOG); this.offerHangingSignRecipe(PromenadeItems.PALM_HANGING_SIGN, PromenadeBlocks.STRIPPED_PALM_LOG); + this.offerShelfRecipe(PromenadeBlocks.PALM_SHELF, PromenadeBlocks.STRIPPED_PALM_LOG); this.offerSnowyLeavesRecipe(PromenadeBlocks.SNOWY_PALM_LEAVES, PromenadeBlocks.PALM_LEAVES); this.offerLeafPileRecipe(PromenadeBlocks.PALM_LEAF_PILE, PromenadeBlocks.PALM_LEAVES); this.offerBoatRecipe(PromenadeItems.PALM_BOAT, PromenadeBlocks.PALM_PLANKS); @@ -128,6 +131,7 @@ public void generate() { this.offerBarkBlockRecipe(PromenadeBlocks.DARK_AMARANTH_HYPHAE, PromenadeBlocks.DARK_AMARANTH_STEM); this.offerBarkBlockRecipe(PromenadeBlocks.STRIPPED_DARK_AMARANTH_HYPHAE, PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM); this.offerHangingSignRecipe(PromenadeItems.DARK_AMARANTH_HANGING_SIGN, PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM); + this.offerShelfRecipe(PromenadeBlocks.DARK_AMARANTH_SHELF, PromenadeBlocks.STRIPPED_DARK_AMARANTH_STEM); this.offerStonecuttingRecipe(RecipeCategory.BUILDING_BLOCKS, PromenadeBlocks.MOAI, Blocks.TUFF); diff --git a/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java b/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java index dfcc16aa..f78b6d79 100644 --- a/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java +++ b/src/main/java/fr/hugman/promenade/block/PromenadeBlocks.java @@ -12,10 +12,7 @@ import fr.hugman.promenade.tag.PromenadeBlockTags; import fr.hugman.promenade.world.PromenadeSaplingGenerators; import fr.hugman.promenade.world.gen.feature.PromenadeConfiguredFeatures; -import net.minecraft.block.AbstractBlock; -import net.minecraft.block.Block; -import net.minecraft.block.Blocks; -import net.minecraft.block.MapColor; +import net.minecraft.block.*; import net.minecraft.block.enums.NoteBlockInstrument; import net.minecraft.block.piston.PistonBehavior; import net.minecraft.entity.EquipmentSlot; @@ -115,6 +112,7 @@ public class PromenadeBlocks { public static final Block SAKURA_WALL_SIGN = register("sakura_wall_sign", BlockFactory.wallSign(SAKURA_PLANKS, PromenadeWoodTypes.SAKURA)); public static final Block SAKURA_HANGING_SIGN = register("sakura_hanging_sign", BlockFactory.hangingSign(SAKURA_PLANKS, PromenadeWoodTypes.SAKURA, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN)); public static final Block SAKURA_WALL_HANGING_SIGN = register("sakura_wall_hanging_sign", BlockFactory.wallHangingSign(SAKURA_PLANKS, PromenadeWoodTypes.SAKURA, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN)); + public static final Block SAKURA_SHELF = register("sakura_shelf", BlockFactory.shelf(SAKURA_PLANKS)); public static final Block BLUSH_SAKURA_SAPLING = register("blush_sakura_sapling", BlockFactory.sapling(PromenadeMapColors.BLUSH_BLOSSOMS, PromenadeSaplingGenerators.BLUSH_SAKURA)); public static final Block POTTED_BLUSH_SAKURA_SAPLING = register("potted_blush_sakura_sapling", BlockFactory.pot(BLUSH_SAKURA_SAPLING)); @@ -150,6 +148,7 @@ public class PromenadeBlocks { public static final Block MAPLE_WALL_SIGN = register("maple_wall_sign", BlockFactory.wallSign(MAPLE_PLANKS, PromenadeWoodTypes.MAPLE)); public static final Block MAPLE_HANGING_SIGN = register("maple_hanging_sign", BlockFactory.hangingSign(MAPLE_PLANKS, PromenadeWoodTypes.MAPLE, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN)); public static final Block MAPLE_WALL_HANGING_SIGN = register("maple_wall_hanging_sign", BlockFactory.wallHangingSign(MAPLE_PLANKS, PromenadeWoodTypes.MAPLE, BlockSoundGroup.CHERRY_WOOD_HANGING_SIGN)); + public static final Block MAPLE_SHELF = register("maple_shelf", BlockFactory.shelf(MAPLE_PLANKS)); public static final Block SAP_MAPLE_SAPLING = register("sap_maple_sapling", BlockFactory.sapling(PromenadeMapColors.SAP_MAPLE_LEAVES, PromenadeSaplingGenerators.SAP_MAPLE)); public static final Block POTTED_SAP_MAPLE_SAPLING = register("potted_sap_maple_sapling", BlockFactory.pot(SAP_MAPLE_SAPLING)); @@ -201,6 +200,7 @@ public class PromenadeBlocks { public static final Block PALM_WALL_SIGN = register("palm_wall_sign", BlockFactory.wallSign(PALM_PLANKS, PromenadeWoodTypes.PALM)); public static final Block PALM_HANGING_SIGN = register("palm_hanging_sign", BlockFactory.hangingSign(PALM_PLANKS, PromenadeWoodTypes.PALM, BlockSoundGroup.HANGING_SIGN)); public static final Block PALM_WALL_HANGING_SIGN = register("palm_wall_hanging_sign", BlockFactory.wallHangingSign(PALM_PLANKS, PromenadeWoodTypes.PALM, BlockSoundGroup.HANGING_SIGN)); + public static final Block PALM_SHELF = register("palm_shelf", BlockFactory.shelf(PALM_PLANKS)); public static final Block PALM_SAPLING = register("palm_sapling", BlockFactory.sapling(PromenadeMapColors.PALM_LEAVES, PromenadeSaplingGenerators.PALM, state -> state.isIn(BlockTags.SAND))); public static final Block POTTED_PALM_SAPLING = register("potted_palm_sapling", BlockFactory.pot(PALM_SAPLING)); @@ -253,6 +253,7 @@ public class PromenadeBlocks { public static final Block DARK_AMARANTH_WALL_SIGN = register("dark_amaranth_wall_sign", BlockFactory.wallSign(DARK_AMARANTH_PLANKS, PromenadeWoodTypes.DARK_AMARANTH)); public static final Block DARK_AMARANTH_HANGING_SIGN = register("dark_amaranth_hanging_sign", BlockFactory.hangingSign(DARK_AMARANTH_PLANKS, PromenadeWoodTypes.DARK_AMARANTH, BlockSoundGroup.NETHER_WOOD_HANGING_SIGN)); public static final Block DARK_AMARANTH_WALL_HANGING_SIGN = register("dark_amaranth_wall_hanging_sign", BlockFactory.wallHangingSign(DARK_AMARANTH_PLANKS, PromenadeWoodTypes.DARK_AMARANTH, BlockSoundGroup.NETHER_WOOD_HANGING_SIGN)); + public static final Block DARK_AMARANTH_SHELF = register("dark_amaranth_shelf", BlockFactory.shelf(DARK_AMARANTH_PLANKS)); public static final Block DARK_AMARANTH_FUNGUS = register("dark_amaranth_fungus", BlockFactory.fungus(MapColor.PURPLE, PromenadeConfiguredFeatures.PLANTED_DARK_AMARANTH_FUNGUS, PromenadeBlockTags.DARK_AMARANTH_FUNGUS_PLACEABLE_ON, PromenadeBlockTags.DARK_AMARANTH_FUNGUS_GROWABLE_ON)); public static final Block POTTED_DARK_AMARANTH_FUNGUS = register("potted_dark_amaranth_fungus", BlockFactory.pot(DARK_AMARANTH_FUNGUS)); diff --git a/src/main/java/fr/hugman/promenade/block/entity/PromenadeBlockEntities.java b/src/main/java/fr/hugman/promenade/block/entity/PromenadeBlockEntities.java index c4a72a3a..085579b6 100644 --- a/src/main/java/fr/hugman/promenade/block/entity/PromenadeBlockEntities.java +++ b/src/main/java/fr/hugman/promenade/block/entity/PromenadeBlockEntities.java @@ -21,5 +21,10 @@ public static void addBlocksToVanillaBlockEntityTypes() { BlockEntityType.SIGN.addSupportedBlock(PromenadeBlocks.DARK_AMARANTH_WALL_SIGN); BlockEntityType.HANGING_SIGN.addSupportedBlock(PromenadeBlocks.DARK_AMARANTH_HANGING_SIGN); BlockEntityType.HANGING_SIGN.addSupportedBlock(PromenadeBlocks.DARK_AMARANTH_WALL_HANGING_SIGN); + + BlockEntityType.SHELF.addSupportedBlock(PromenadeBlocks.SAKURA_SHELF); + BlockEntityType.SHELF.addSupportedBlock(PromenadeBlocks.MAPLE_SHELF); + BlockEntityType.SHELF.addSupportedBlock(PromenadeBlocks.PALM_SHELF); + BlockEntityType.SHELF.addSupportedBlock(PromenadeBlocks.DARK_AMARANTH_SHELF); } } diff --git a/src/main/java/fr/hugman/promenade/block/helper/BlockFactory.java b/src/main/java/fr/hugman/promenade/block/helper/BlockFactory.java index a3d5fd83..80596e17 100644 --- a/src/main/java/fr/hugman/promenade/block/helper/BlockFactory.java +++ b/src/main/java/fr/hugman/promenade/block/helper/BlockFactory.java @@ -8,6 +8,8 @@ import net.minecraft.block.*; import net.minecraft.block.enums.NoteBlockInstrument; import net.minecraft.block.piston.PistonBehavior; +import net.minecraft.component.DataComponentTypes; +import net.minecraft.component.type.ContainerComponent; import net.minecraft.particle.ParticleEffect; import net.minecraft.registry.RegistryKey; import net.minecraft.registry.tag.TagKey; @@ -118,6 +120,10 @@ public static BlockBuilder wallHangingSign(Block standingSign, WoodType woodType .sounds(soundGroup)).noItem(); } + public static BlockBuilder shelf(Block planks) { + return copy(planks).factory(ShelfBlock::new).settings(AbstractBlock.Settings.copyShallow(planks).sounds(BlockSoundGroup.SHELF)).itemSettings((s -> s.component(DataComponentTypes.CONTAINER, ContainerComponent.DEFAULT))); + } + public static BlockBuilder log(MapColor woodColor, MapColor barkColor, BlockSoundGroup sounds, boolean flammable) { return log(woodColor, sounds, flammable) .settings(settings -> settings.mapColor((state) -> state.get(PillarBlock.AXIS) == Direction.Axis.Y ? woodColor : barkColor)); diff --git a/src/main/java/fr/hugman/promenade/itemgroup/PromenadeItemGroupAdditions.java b/src/main/java/fr/hugman/promenade/itemgroup/PromenadeItemGroupAdditions.java index a4a45bbf..405e87df 100644 --- a/src/main/java/fr/hugman/promenade/itemgroup/PromenadeItemGroupAdditions.java +++ b/src/main/java/fr/hugman/promenade/itemgroup/PromenadeItemGroupAdditions.java @@ -184,16 +184,20 @@ public static void appendItemGroups() { ItemGroupEvents.modifyEntriesEvent(ItemGroups.BUILDING_BLOCKS).register(e -> e.addAfter(Blocks.CUT_RED_SANDSTONE_SLAB, PromenadeBlocks.MOAI)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(Blocks.BIRCH_HANGING_SIGN, PromenadeItems.SAKURA_SIGN, PromenadeItems.SAKURA_HANGING_SIGN)); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(Blocks.BIRCH_SHELF, PromenadeBlocks.SAKURA_SHELF)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(e -> e.addAfter(Items.BIRCH_CHEST_BOAT, PromenadeItems.SAKURA_BOAT, PromenadeItems.SAKURA_CHEST_BOAT)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(PromenadeItems.SAKURA_HANGING_SIGN, PromenadeItems.MAPLE_SIGN, PromenadeItems.MAPLE_HANGING_SIGN)); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(PromenadeBlocks.SAKURA_SHELF, PromenadeBlocks.MAPLE_SHELF)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(e -> e.addAfter(PromenadeItems.SAKURA_CHEST_BOAT, PromenadeItems.MAPLE_BOAT, PromenadeItems.MAPLE_CHEST_BOAT)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.FOOD_AND_DRINK).register(e -> e.addAfter(Items.HONEY_BOTTLE, PromenadeItems.MAPLE_SYRUP_BOTTLE)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(Blocks.ACACIA_HANGING_SIGN, PromenadeItems.PALM_SIGN, PromenadeItems.PALM_HANGING_SIGN)); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(Blocks.ACACIA_SHELF, PromenadeBlocks.PALM_SHELF)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.TOOLS).register(e -> e.addAfter(Items.ACACIA_CHEST_BOAT, PromenadeItems.PALM_BOAT, PromenadeItems.PALM_CHEST_BOAT)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(Blocks.WARPED_HANGING_SIGN, PromenadeItems.DARK_AMARANTH_SIGN, PromenadeItems.DARK_AMARANTH_HANGING_SIGN)); + ItemGroupEvents.modifyEntriesEvent(ItemGroups.FUNCTIONAL).register(e -> e.addAfter(Blocks.WARPED_SHELF, PromenadeBlocks.DARK_AMARANTH_SHELF)); ItemGroupEvents.modifyEntriesEvent(ItemGroups.FOOD_AND_DRINK).register(e -> { e.addAfter(Items.SWEET_BERRIES, PromenadeItems.BLUEBERRIES); diff --git a/src/main/java/fr/hugman/promenade/registry/PromenadeFlammables.java b/src/main/java/fr/hugman/promenade/registry/PromenadeFlammables.java index 5f81828c..e47a911d 100644 --- a/src/main/java/fr/hugman/promenade/registry/PromenadeFlammables.java +++ b/src/main/java/fr/hugman/promenade/registry/PromenadeFlammables.java @@ -54,6 +54,7 @@ public static void register() { fire.add(PromenadeBlocks.SAKURA_SLAB, 5, 20); fire.add(PromenadeBlocks.SAKURA_FENCE, 5, 20); fire.add(PromenadeBlocks.SAKURA_FENCE_GATE, 5, 20); + fire.add(PromenadeBlocks.SAKURA_SHELF, 30, 20); fire.add(PromenadeBlocks.BLUSH_SAKURA_BLOSSOMS, 30, 60); fire.add(PromenadeBlocks.SNOWY_BLUSH_SAKURA_BLOSSOMS, 30, 60); fire.add(PromenadeBlocks.BLUSH_SAKURA_BLOSSOM_PILE, 30, 60); @@ -70,6 +71,7 @@ public static void register() { fire.add(PromenadeBlocks.MAPLE_SLAB, 5, 20); fire.add(PromenadeBlocks.MAPLE_FENCE, 5, 20); fire.add(PromenadeBlocks.MAPLE_FENCE_GATE, 5, 20); + fire.add(PromenadeBlocks.MAPLE_SHELF, 30, 20); fire.add(PromenadeBlocks.SAP_MAPLE_LEAVES, 30, 60); fire.add(PromenadeBlocks.SNOWY_SAP_MAPLE_LEAVES, 30, 60); fire.add(PromenadeBlocks.FALLEN_SAP_MAPLE_LEAVES, 30, 60); @@ -96,6 +98,7 @@ public static void register() { fire.add(PromenadeBlocks.PALM_SLAB, 5, 20); fire.add(PromenadeBlocks.PALM_FENCE, 5, 20); fire.add(PromenadeBlocks.PALM_FENCE_GATE, 5, 20); + fire.add(PromenadeBlocks.PALM_SHELF, 30, 20); fire.add(PromenadeBlocks.PALM_LEAVES, 30, 60); fire.add(PromenadeBlocks.SNOWY_PALM_LEAVES, 30, 60); fire.add(PromenadeBlocks.PALM_HANGING_LEAVES, 30, 60);