Private
Public Access
1
0

Implemented item.

This commit is contained in:
2026-06-09 22:48:53 +01:00
parent c98979a871
commit 44a63b753f
6 changed files with 79 additions and 0 deletions

View File

@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "wildflowers_backport:item/wildflowers"
}
}

View File

@ -2,6 +2,7 @@ package dev.micle.wildflowers_backport.data;
import dev.micle.wildflowers_backport.WildflowersBackport; import dev.micle.wildflowers_backport.WildflowersBackport;
import dev.micle.wildflowers_backport.data.client.ModBlockStateProvider; import dev.micle.wildflowers_backport.data.client.ModBlockStateProvider;
import dev.micle.wildflowers_backport.data.client.ModItemModelProvider;
import net.minecraft.core.HolderLookup; import net.minecraft.core.HolderLookup;
import net.minecraft.data.DataGenerator; import net.minecraft.data.DataGenerator;
import net.minecraftforge.common.data.ExistingFileHelper; import net.minecraftforge.common.data.ExistingFileHelper;
@ -20,5 +21,6 @@ public class DataGenerators {
CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider(); CompletableFuture<HolderLookup.Provider> lookupProvider = event.getLookupProvider();
generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper)); generator.addProvider(event.includeClient(), new ModBlockStateProvider(generator, existingFileHelper));
generator.addProvider(event.includeClient(), new ModItemModelProvider(generator, existingFileHelper));
} }
} }

View File

@ -0,0 +1,39 @@
package dev.micle.wildflowers_backport.data.client;
import dev.micle.wildflowers_backport.WildflowersBackport;
import dev.micle.wildflowers_backport.block.ModBlocks;
import net.minecraft.data.DataGenerator;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.client.model.generators.ItemModelBuilder;
import net.minecraftforge.client.model.generators.ItemModelProvider;
import net.minecraftforge.client.model.generators.ModelFile;
import net.minecraftforge.common.data.ExistingFileHelper;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.Objects;
public class ModItemModelProvider extends ItemModelProvider {
public ModItemModelProvider(DataGenerator generator, ExistingFileHelper existingFileHelper) {
super(generator.getPackOutput(), WildflowersBackport.MOD_ID, existingFileHelper);
}
@Override
public void registerModels() {
ModBlocks.BLOCKS.getEntries().stream().map(RegistryObject::get).forEach(this::blockItemModel);
}
private void blockItemModel(Block block) {
String name = Objects.requireNonNull(ForgeRegistries.BLOCKS.getKey(block)).getPath();
if (block == ModBlocks.WILDFLOWERS.get()) {
builder(getExistingFile(mcLoc("item/generated")), name);
} else {
withExistingParent(name, mcLoc("block/" + name));
}
}
private ItemModelBuilder builder(ModelFile itemGenerated, String name) {
return getBuilder(name).parent(itemGenerated).texture("layer0", "item/" + name);
}
}

View File

@ -0,0 +1,27 @@
package dev.micle.wildflowers_backport.item;
import dev.micle.wildflowers_backport.WildflowersBackport;
import dev.micle.wildflowers_backport.block.ModBlocks;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.registries.DeferredRegister;
import net.minecraftforge.registries.ForgeRegistries;
import net.minecraftforge.registries.RegistryObject;
import java.util.Objects;
public class ModItems {
public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, WildflowersBackport.MOD_ID);
public static final RegistryObject<BlockItem> WILDFLOWERS = registerBlock(ModBlocks.WILDFLOWERS);
public static void register(IEventBus modEventBus) {
ITEMS.register(modEventBus);
}
private static RegistryObject<BlockItem> registerBlock(RegistryObject<Block> block) {
return ITEMS.register(Objects.requireNonNull(block.getId()).getPath(), () -> new BlockItem(block.get(), new Item.Properties()));
}
}

View File

@ -2,6 +2,7 @@ package dev.micle.wildflowers_backport.proxy;
import dev.micle.wildflowers_backport.WildflowersBackport; import dev.micle.wildflowers_backport.WildflowersBackport;
import dev.micle.wildflowers_backport.block.ModBlocks; import dev.micle.wildflowers_backport.block.ModBlocks;
import dev.micle.wildflowers_backport.item.ModItems;
import dev.micle.wildflowers_backport.tab.ModCreativeTabs; import dev.micle.wildflowers_backport.tab.ModCreativeTabs;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.server.MinecraftServer; import net.minecraft.server.MinecraftServer;
@ -24,6 +25,7 @@ public class Proxy implements IProxy {
IEventBus modEventBus = WildflowersBackport.getFmlJavaModLoadingContext().getModEventBus(); IEventBus modEventBus = WildflowersBackport.getFmlJavaModLoadingContext().getModEventBus();
ModBlocks.register(modEventBus); ModBlocks.register(modEventBus);
ModItems.register(modEventBus);
ModCreativeTabs.register(modEventBus); ModCreativeTabs.register(modEventBus);
// Register mod event bus listeners // Register mod event bus listeners

Binary file not shown.