Create-Design-n-Decor/src/main/java/com/mangomilk/design_decor/base/CDDCreativeModeTab.java
2024-01-22 19:30:41 +01:00

66 linhas
Sem EOL
2 KiB
Java

package com.mangomilk.design_decor.base;
import com.mangomilk.design_decor.DesignDecor;
import com.mangomilk.design_decor.registry.CDDBlocks;
import com.tterrag.registrate.util.entry.RegistryEntry;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.entity.ItemRenderer;
import net.minecraft.client.resources.model.BakedModel;
import net.minecraft.core.NonNullList;
import net.minecraft.network.chat.Component;
import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.registries.ForgeRegistries;
import java.util.Collection;
public class CDDCreativeModeTab extends CreativeModeTab {
public CDDCreativeModeTab() {
super(DesignDecor.MOD_ID);
}
public static final CreativeModeTab BUILDING = new CDDCreativeModeTab();
@Override
public ItemStack makeIcon() {
return CDDBlocks.MOYAI_SIGN.asStack();
}
@Override
public void fillItemList(NonNullList<ItemStack> items) {
addItems(items, true);
addBlocks(items);
addItems(items, false);
}
@Override
public Component getDisplayName() {
return Component.literal("Create: Design n' Decor");
}
protected Collection<RegistryEntry<Item>> registeredItems() {
return DesignDecor.REGISTRATE.getAll(ForgeRegistries.ITEMS.getRegistryKey());
}
public void addBlocks(NonNullList<ItemStack> items) {
for (RegistryEntry<Item> entry : registeredItems())
if (entry.get() instanceof BlockItem blockItem)
blockItem.fillItemCategory(this, items);
}
public void addItems(NonNullList<ItemStack> items, boolean specialItems) {
ItemRenderer itemRenderer = Minecraft.getInstance().getItemRenderer();
for (RegistryEntry<Item> entry : registeredItems()) {
Item item = entry.get();
if (!(item instanceof BlockItem)) {
ItemStack stack = new ItemStack(item);
BakedModel model = itemRenderer.getModel(stack, null, null, 0);
if (model.isGui3d() == specialItems)
item.fillItemCategory(this, items);
}
}
}
}