Merge pull request '1.21.1/feat/31-implement_composting' (#33) from 1.21.1/feat/31-implement_composting into 1.21.1/dev

Reviewed-on: #33
This commit is contained in:
2026-05-01 20:20:05 +00:00
5 changed files with 46 additions and 16 deletions

View File

@ -0,0 +1,7 @@
{
"values": {
"firefly_bush_backport:firefly_bush": {
"chance": 0.3
}
}
}

View File

@ -1,9 +1,6 @@
package dev.micle.firefly_bush_backport.block;
import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.item.ModItems;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.SoundType;
import net.minecraft.world.level.block.state.BlockBehaviour;
@ -13,12 +10,10 @@ import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredRegister;
import java.util.function.Supplier;
public class ModBlocks {
public static final DeferredRegister<Block> BLOCKS = DeferredRegister.createBlocks(FireflyBushBackport.MOD_ID);
public static DeferredHolder<Block, FireflyBushBlock> FIREFLY_BUSH = registerBlock("firefly_bush",
public static DeferredHolder<Block, FireflyBushBlock> FIREFLY_BUSH = BLOCKS.register("firefly_bush",
() -> new FireflyBushBlock(BlockBehaviour.Properties.of()
.mapColor(MapColor.PLANT)
.ignitedByLava()
@ -32,14 +27,4 @@ public class ModBlocks {
public static void register(IEventBus modEventBus) {
BLOCKS.register(modEventBus);
}
private static <T extends Block> DeferredHolder<Item, BlockItem> registerBlockItem(String name, DeferredHolder<Block, T> block) {
return ModItems.ITEMS.register(name, () -> new BlockItem(block.get(), new Item.Properties()));
}
private static <T extends Block> DeferredHolder<Block, T> registerBlock(String name, Supplier<T> block) {
DeferredHolder<Block, T> ret = BLOCKS.register(name, block);
registerBlockItem(name, ret);
return ret;
}
}

View File

@ -1,6 +1,7 @@
package dev.micle.firefly_bush_backport.data;
import dev.micle.firefly_bush_backport.data.client.ModBlockStateProvider;
import dev.micle.firefly_bush_backport.data.client.ModDataMapProvider;
import dev.micle.firefly_bush_backport.data.client.ModItemModelProvider;
import dev.micle.firefly_bush_backport.data.client.ModSoundDefinitionsProvider;
import dev.micle.firefly_bush_backport.data.server.ModLootTableProvider;
@ -25,6 +26,7 @@ public class DataGenerators {
generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModSoundDefinitionsProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModDataMapProvider(generator, lookupProvider));
generator.addProvider(event.includeServer(), new ModLootTableProvider(generator, lookupProvider));
generator.addProvider(event.includeServer(), new ModWorldGenProvider(generator, lookupProvider));

View File

@ -0,0 +1,24 @@
package dev.micle.firefly_bush_backport.data.client;
import dev.micle.firefly_bush_backport.item.ModItems;
import net.minecraft.core.HolderLookup;
import net.minecraft.data.DataGenerator;
import net.neoforged.neoforge.common.data.DataMapProvider;
import net.neoforged.neoforge.registries.datamaps.builtin.Compostable;
import net.neoforged.neoforge.registries.datamaps.builtin.NeoForgeDataMaps;
import javax.annotation.ParametersAreNonnullByDefault;
import java.util.concurrent.CompletableFuture;
public class ModDataMapProvider extends DataMapProvider {
public ModDataMapProvider(DataGenerator generator, CompletableFuture<HolderLookup.Provider> lookupProvider) {
super(generator.getPackOutput(), lookupProvider);
}
@Override
@ParametersAreNonnullByDefault
protected void gather(HolderLookup.Provider provider) {
this.builder(NeoForgeDataMaps.COMPOSTABLES)
.add(ModItems.FIREFLY_BUSH, new Compostable(0.3F), false);
}
}

View File

@ -1,14 +1,26 @@
package dev.micle.firefly_bush_backport.item;
import dev.micle.firefly_bush_backport.FireflyBushBackport;
import dev.micle.firefly_bush_backport.block.ModBlocks;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.neoforged.bus.api.IEventBus;
import net.neoforged.neoforge.registries.DeferredHolder;
import net.neoforged.neoforge.registries.DeferredRegister;
import java.util.Objects;
public class ModItems {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.createItems(FireflyBushBackport.MOD_ID);
public static final DeferredHolder<Item, BlockItem> FIREFLY_BUSH = registerBlock(ModBlocks.FIREFLY_BUSH);
public static void register(IEventBus modEventBus) {
ITEMS.register(modEventBus);
}
private static <T extends Block> DeferredHolder<Item, BlockItem> registerBlock(DeferredHolder<Block, T> block) {
return ITEMS.register(Objects.requireNonNull(block.getId()).getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
}
}