diff --git a/gradle.properties b/gradle.properties index 4ab5ce5..277b93e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,14 +7,14 @@ org.gradle.configuration-cache=false # Fabric Properties # check these on https://fabricmc.net/develop -minecraft_version=26.1-snapshot-7 +minecraft_version=26.1-snapshot-9 loader_version=0.18.4 loom_version=1.15-SNAPSHOT # Mod Properties -mod_version=26.1-snapshot-7 +mod_version=26.1-snapshot-9 maven_group=de.jottyfan.minecraft archives_base_name=quickly # Dependencies -fabric_api_version=0.143.4+26.1 \ No newline at end of file +fabric_api_version=0.143.5+26.1 \ No newline at end of file diff --git a/src/main/java/de/jottyfan/minecraft/Quickly.java b/src/main/java/de/jottyfan/minecraft/Quickly.java index 40cc91c..483228c 100644 --- a/src/main/java/de/jottyfan/minecraft/Quickly.java +++ b/src/main/java/de/jottyfan/minecraft/Quickly.java @@ -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 items = QuicklyItems.registerModItems(); + Set blocks = QuicklyBlocks.registerModBlocks(); QuicklyBlockEntity.registerBlockEntities(); QuicklyFeatures.registerFeatures(); QuicklyComposter.registerComposterItems(); + QuicklyTab.registerItemGroup(items, blocks); QuicklyLootTables.registerChanges(); QuicklyEvents.registerBlockBreak(); } diff --git a/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java b/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java index c92b427..6b51ee2 100644 --- a/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java +++ b/src/main/java/de/jottyfan/minecraft/block/QuicklyBlocks.java @@ -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 registerModBlocks() { + Quickly.LOGGER.debug("register blocks"); + Set 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; } } diff --git a/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java b/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java index cecc0e0..7550ddd 100644 --- a/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java +++ b/src/main/java/de/jottyfan/minecraft/item/QuicklyItems.java @@ -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 registerModItems() { + Quickly.LOGGER.debug("adding Items"); + Set 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; } /** diff --git a/src/main/java/de/jottyfan/minecraft/tab/QuicklyTab.java b/src/main/java/de/jottyfan/minecraft/tab/QuicklyTab.java new file mode 100644 index 0000000..9c56fee --- /dev/null +++ b/src/main/java/de/jottyfan/minecraft/tab/QuicklyTab.java @@ -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 items, Set blocks) { + ResourceKey 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); + } +}