added own creative tab

This commit is contained in:
Jottyfan
2026-02-18 18:48:55 +01:00
parent 8dc3145493
commit 96ee5749c9
5 changed files with 136 additions and 9 deletions

View File

@@ -1,5 +1,7 @@
package de.jottyfan.minecraft;
import java.util.Set;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@@ -10,7 +12,10 @@ import de.jottyfan.minecraft.event.QuicklyEvents;
import de.jottyfan.minecraft.feature.QuicklyFeatures;
import de.jottyfan.minecraft.item.QuicklyItems;
import de.jottyfan.minecraft.loot.QuicklyLootTables;
import de.jottyfan.minecraft.tab.QuicklyTab;
import net.fabricmc.api.ModInitializer;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
/**
*
* @author jotty
@@ -25,11 +30,12 @@ public class Quickly implements ModInitializer {
public void onInitialize() {
LOGGER.info("loading {}", MOD_ID);
QuicklyItems.registerModItems();
QuicklyBlocks.registerModBlocks();
Set<Item> items = QuicklyItems.registerModItems();
Set<Block> blocks = QuicklyBlocks.registerModBlocks();
QuicklyBlockEntity.registerBlockEntities();
QuicklyFeatures.registerFeatures();
QuicklyComposter.registerComposterItems();
QuicklyTab.registerItemGroup(items, blocks);
QuicklyLootTables.registerChanges();
QuicklyEvents.registerBlockBreak();
}

View File

@@ -1,5 +1,7 @@
package de.jottyfan.minecraft.block;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Function;
import de.jottyfan.minecraft.Quickly;
@@ -100,7 +102,33 @@ public class QuicklyBlocks {
return BuiltInRegistries.BLOCK.getValue(identifier);
}
public static void registerModBlocks() {
Quickly.LOGGER.info("forbid the optimizer to ignore static block registration");
public static final Set<Block> registerModBlocks() {
Quickly.LOGGER.debug("register blocks");
Set<Block> set = new HashSet<>();
set.add(KELPBUNDLE);
set.add(TURQUOISEBLOCK);
set.add(ORETURQUOISE);
set.add(OREDEEPSLATETURQUOISE);
set.add(COTTONPLANT);
set.add(CANOLAPLANT);
set.add(LAVAHOARDER);
set.add(QUICKIEPOWDER);
set.add(SPEEDPOWDER);
set.add(MONSTERHOARDER);
set.add(ITEMHOARDER);
set.add(DRILL);
set.add(STACKER);
set.add(DIRTSALPETER);
set.add(SANDSALPETER);
set.add(OREDEEPSLATESULFOR);
set.add(ORENETHERSULFOR);
set.add(ORESALPETER);
set.add(ORESANDSALPETER);
set.add(ORESULFOR);
set.add(ORESPEEDPOWDER);
set.add(OREDEEPSLATESPEEDPOWDER);
set.add(SALPETERBLOCK);
set.add(SULFORBLOCK);
return set;
}
}

View File

@@ -1,5 +1,7 @@
package de.jottyfan.minecraft.item;
import java.util.HashSet;
import java.util.Set;
import java.util.function.Function;
import de.jottyfan.minecraft.Quickly;
@@ -97,8 +99,57 @@ public class QuicklyItems {
return Registry.register(BuiltInRegistries.ITEM, identifier, item);
}
public static final void registerModItems() {
Quickly.LOGGER.info("forbid the optimizer to ignore static item registration");
public static final Set<Item> registerModItems() {
Quickly.LOGGER.debug("adding Items");
Set<Item> set = new HashSet<>();
set.add(STUB);
set.add(RAWTURQUOISE);
set.add(TURQUOISEINGOT);
set.add(COTTON);
set.add(COTTONPLANT);
set.add(COTTONSEED);
set.add(CANOLA);
set.add(CANOLAPLANT);
set.add(CANOLASEED);
set.add(CANOLABOTTLE);
set.add(CANOLABOTTLESTACK);
set.add(ROTTENFLESHSTRIPES);
set.add(OXIDIZEDCOPPERPOWDER);
set.add(COPPERSTRING);
set.add(COPPERPOWDER);
set.add(COPPERSTUB);
set.add(COPPERSTICK);
set.add(SPEEDPOWDER);
set.add(QUICKIEPOWDER);
set.add(SPEEDINGOT);
set.add(QUICKIEINGOT);
set.add(MAGNIFIER);
set.add(SALPETER);
set.add(SULFOR);
set.add(CARROTSTACK);
set.add(SPEEDAXE);
set.add(SPEEDHOE);
set.add(SPEEDPICKAXE);
set.add(SPEEDSHEARS);
set.add(SPEEDSHOVEL);
set.add(SPEEDWATERHOE);
set.add(QUICKIEAXE);
set.add(QUICKIEHOE);
set.add(QUICKIEPICKAXE);
set.add(QUICKIESHEARS);
set.add(QUICKIESHOVEL);
set.add(QUICKIEWATERHOE);
set.add(QUICKIEAXE);
set.add(QUICKIEHOE);
set.add(QUICKIEPICKAXE);
set.add(QUICKIESHEARS);
set.add(QUICKIESHOVEL);
set.add(QUICKIEWATERHOE);
set.add(ARMOR_TURQUOISE_BOOTS);
set.add(ARMOR_TURQUOISE_HELMET);
set.add(ARMOR_TURQUOISE_LEGGINGS);
set.add(ARMOR_TURQUOISE_CHESTPLATE);
return set;
}
/**

View File

@@ -0,0 +1,42 @@
package de.jottyfan.minecraft.tab;
import java.util.Set;
import de.jottyfan.minecraft.Quickly;
import de.jottyfan.minecraft.item.QuicklyItems;
import net.fabricmc.fabric.api.creativetab.v1.FabricCreativeModeTab;
import net.minecraft.core.Registry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.Identifier;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.item.CreativeModeTab;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.Block;
/**
*
* @author jotty
*
*/
public class QuicklyTab {
public static final void registerItemGroup(Set<Item> items, Set<Block> blocks) {
ResourceKey<CreativeModeTab> tabKey = ResourceKey.create(Registries.CREATIVE_MODE_TAB,
Identifier.fromNamespaceAndPath(Quickly.MOD_ID, "itemgroup"));
CreativeModeTab quicklyTab = FabricCreativeModeTab.builder().icon(() -> new ItemStack(QuicklyItems.SPEEDPICKAXE))
.title(Component.translatable("tab.quickly")).displayItems((params, output) -> {
for (Item item : items) {
output.accept(item);
}
for (Block block : blocks) {
output.accept(block);
}
}).build();
Registry.register(BuiltInRegistries.CREATIVE_MODE_TAB, tabKey, quicklyTab);
}
}