Skip to content

Commit 6c73c8d

Browse files
Merge pull request #41 from CodeMonkeysMods/mass-item-setup-1
Add various mod items to ModItems registry
2 parents 3a2ba23 + 07d7104 commit 6c73c8d

2 files changed

Lines changed: 161 additions & 17 deletions

File tree

src/client/java/com/tcm/MineTale/datagen/ModLangProvider.java

Lines changed: 73 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,26 +7,17 @@
77
import java.util.concurrent.CompletableFuture;
88

99
public class ModLangProvider extends FabricLanguageProvider {
10-
/**
11-
* Creates a ModLangProvider configured to generate the mod's language translations.
12-
*
13-
* @param dataOutput the FabricDataOutput used to write generated language files
14-
* @param registryLookup a CompletableFuture supplying a HolderLookup.Provider for registry lookups during data generation
15-
*/
10+
1611
public ModLangProvider(FabricDataOutput dataOutput, CompletableFuture<HolderLookup.Provider> registryLookup) {
1712
super(dataOutput, registryLookup);
1813
}
1914

20-
/**
21-
* Populates the translation builder with English language entries for MineTale (creative tab title and block names).
22-
*
23-
* @param translationBuilder the builder used to register translation keys and their English values
24-
*/
2515
@Override
2616
public void generateTranslations(HolderLookup.Provider wrapperLookup, TranslationBuilder translationBuilder) {
2717
translationBuilder.add("minetale.creative_tab.title", "MineTale Stuffs");
2818

29-
19+
// --- BLOCKS ---
20+
translationBuilder.add("block.minetale.workbench_workbench_block", "Workbench");
3021
translationBuilder.add("block.minetale.furnace_workbench_block_t1", "Furnace Workbench - Tier One");
3122
translationBuilder.add("block.minetale.furnace_workbench_block_t2", "Furnace Workbench - Tier Two");
3223
translationBuilder.add("block.minetale.campfire_workbench_block", "Campfire Workbench");
@@ -62,5 +53,75 @@ public void generateTranslations(HolderLookup.Provider wrapperLookup, Translatio
6253
translationBuilder.add("block.minetale.windwillow_log", "Windwillow Log");
6354
translationBuilder.add("block.minetale.wild_wisteria_log", "Wild Wisteria Log");
6455
translationBuilder.add("block.minetale.wild_wisteria_wood", "Wild Wisteria Wood");
56+
57+
// --- NATURAL MATERIALS & GATHERABLES ---
58+
translationBuilder.add("item.minetale.plant_fiber", "Plant Fiber");
59+
translationBuilder.add("item.minetale.tree_sap", "Tree Sap");
60+
translationBuilder.add("item.minetale.sap_glob", "Sap Glob");
61+
translationBuilder.add("item.minetale.rubble", "Rubble");
62+
translationBuilder.add("item.minetale.tree_bark", "Tree Bark");
63+
translationBuilder.add("item.minetale.moss", "Moss");
64+
translationBuilder.add("item.minetale.blue_crystal_shards", "Blue Crystal Shards");
65+
translationBuilder.add("item.minetale.green_crystal_shards", "Green Crystal Shards");
66+
translationBuilder.add("item.minetale.yellow_crystal_shards", "Yellow Crystal Shards");
67+
68+
// --- MINERALS & REFINED METALS ---
69+
translationBuilder.add("item.minetale.thorium_ingot", "Thorium Ingot");
70+
translationBuilder.add("item.minetale.cobalt_ingot", "Cobalt Ingot");
71+
translationBuilder.add("item.minetale.adamantite_ingot", "Adamantite Ingot");
72+
translationBuilder.add("item.minetale.mithril_ingot", "Mithril Ingot");
73+
translationBuilder.add("item.minetale.bronze_ingot", "Bronze Ingot");
74+
translationBuilder.add("item.minetale.steel_ingot", "Steel Ingot");
75+
76+
// --- MOB DROPS, HIDES & LEATHERS ---
77+
translationBuilder.add("item.minetale.light_hide", "Light Hide");
78+
translationBuilder.add("item.minetale.medium_hide", "Medium Hide");
79+
translationBuilder.add("item.minetale.heavy_hide", "Heavy Hide");
80+
translationBuilder.add("item.minetale.soft_hide", "Soft Hide");
81+
translationBuilder.add("item.minetale.prismatic_hide", "Prismatic Hide");
82+
translationBuilder.add("item.minetale.light_leather", "Light Leather");
83+
translationBuilder.add("item.minetale.medium_leather", "Medium Leather");
84+
translationBuilder.add("item.minetale.heavy_leather", "Heavy Leather");
85+
translationBuilder.add("item.minetale.storm_leather", "Storm Leather");
86+
translationBuilder.add("item.minetale.prismatic_leather", "Prismatic Leather");
87+
translationBuilder.add("item.minetale.feran_rib", "Feran Rib");
88+
translationBuilder.add("item.minetale.sturdy_chitin", "Sturdy Chitin");
89+
translationBuilder.add("item.minetale.venom_sac", "Venom Sac");
90+
translationBuilder.add("item.minetale.bone_fragment", "Bone Fragment");
91+
92+
// --- FABRICS & TEXTILES ---
93+
translationBuilder.add("item.minetale.linen_scraps", "Linen Scraps");
94+
translationBuilder.add("item.minetale.bolt_of_linen", "Bolt of Linen");
95+
translationBuilder.add("item.minetale.shadoweave_scraps", "Shadoweave Scraps");
96+
translationBuilder.add("item.minetale.cindercloth_scraps", "Cindercloth Scraps");
97+
translationBuilder.add("item.minetale.bolt_of_wool", "Bolt of Wool");
98+
translationBuilder.add("item.minetale.yellow_cloth", "Yellow Cloth");
99+
100+
// --- SEEDS & FARMING ---
101+
translationBuilder.add("item.minetale.lettuce", "Lettuce");
102+
translationBuilder.add("item.minetale.chilli_seed_bag", "Chilli Seed Bag");
103+
translationBuilder.add("item.minetale.chilli_seed_bag_eternal", "Eternal Chilli Seed Bag");
104+
translationBuilder.add("item.minetale.sunflower_seed_bag", "Sunflower Seed Bag");
105+
translationBuilder.add("item.minetale.corn_seed_bag", "Corn Seed Bag");
106+
translationBuilder.add("item.minetale.cotton_seed_bag", "Cotton Seed Bag");
107+
translationBuilder.add("item.minetale.rice_seed_bag", "Rice Seed Bag");
108+
translationBuilder.add("item.minetale.onion_bulb", "Onion Bulb");
109+
110+
// --- MAGICAL & ALCHEMICAL ---
111+
translationBuilder.add("item.minetale.essence_of_life", "Essence of Life");
112+
translationBuilder.add("item.minetale.essence_of_fire", "Essence of Fire");
113+
translationBuilder.add("item.minetale.essence_of_ice", "Essence of Ice");
114+
translationBuilder.add("item.minetale.essence_of_the_void", "Essence of the Void");
115+
translationBuilder.add("item.minetale.void_heart", "Void Heart");
116+
117+
// --- FLORA COMPONENTS ---
118+
translationBuilder.add("item.minetale.red_petals", "Red Petals");
119+
translationBuilder.add("item.minetale.yellow_petals", "Yellow Petals");
120+
translationBuilder.add("item.minetale.green_petals", "Green Petals");
121+
translationBuilder.add("item.minetale.white_petals", "White Petals");
122+
translationBuilder.add("item.minetale.azure_petals", "Azure Petals");
123+
translationBuilder.add("item.minetale.storm_petals", "Storm Petals");
124+
translationBuilder.add("item.minetale.blood_petals", "Blood Petals");
125+
translationBuilder.add("item.minetale.cyan_petals", "Cyan Petals");
65126
}
66127
}
Lines changed: 88 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,115 @@
11
package com.tcm.MineTale.registry;
22

3+
import java.util.ArrayList;
4+
import java.util.List;
35
import java.util.function.Function;
46

57
import com.tcm.MineTale.MineTale;
8+
import com.tcm.MineTale.item.ModCreativeTab;
69

10+
import net.fabricmc.fabric.api.itemgroup.v1.ItemGroupEvents;
711
import net.minecraft.core.Registry;
812
import net.minecraft.core.registries.BuiltInRegistries;
913
import net.minecraft.core.registries.Registries;
1014
import net.minecraft.resources.Identifier;
1115
import net.minecraft.resources.ResourceKey;
16+
import net.minecraft.world.food.FoodProperties;
1217
import net.minecraft.world.item.Item;
1318

1419
public class ModItems {
1520

21+
private static final List<Item> REGISTERED_ITEMS = new ArrayList<>();
22+
1623
public static void initialize() {
1724
System.out.println("Registered Mod Items for " + MineTale.MOD_ID);
25+
ItemGroupEvents.modifyEntriesEvent(ModCreativeTab.MINETALE_CREATIVE_TAB_KEY).register(entries -> {
26+
REGISTERED_ITEMS.forEach(entries::accept);
27+
});
1828
}
29+
30+
// --- NATURAL MATERIALS & GATHERABLES ---
31+
public static final Item PLANT_FIBER = register("plant_fiber", Item::new, new Item.Properties());
32+
public static final Item TREE_SAP = register("tree_sap", Item::new, new Item.Properties());
33+
public static final Item SAP_GLOB = register("sap_glob", Item::new, new Item.Properties());
34+
public static final Item RUBBLE = register("rubble", Item::new, new Item.Properties());
35+
public static final Item TREE_BARK = register("tree_bark", Item::new, new Item.Properties());
36+
public static final Item MOSS = register("moss", Item::new, new Item.Properties());
37+
public static final Item BLUE_CRYSTAL_SHARDS = register("blue_crystal_shards", Item::new, new Item.Properties());
38+
public static final Item GREEN_CRYSTAL_SHARDS = register("green_crystal_shards", Item::new, new Item.Properties());
39+
public static final Item YELLOW_CRYSTAL_SHARDS = register("yellow_crystal_shards", Item::new, new Item.Properties());
40+
41+
// --- MINERALS & REFINED METALS (Unique to Hytale) ---
42+
public static final Item THORIUM_INGOT = register("thorium_ingot", Item::new, new Item.Properties());
43+
public static final Item COBALT_INGOT = register("cobalt_ingot", Item::new, new Item.Properties());
44+
public static final Item ADAMANTITE_INGOT = register("adamantite_ingot", Item::new, new Item.Properties());
45+
public static final Item MITHRIL_INGOT = register("mithril_ingot", Item::new, new Item.Properties());
46+
public static final Item BRONZE_INGOT = register("bronze_ingot", Item::new, new Item.Properties());
47+
public static final Item STEEL_INGOT = register("steel_ingot", Item::new, new Item.Properties());
48+
49+
// --- MOB DROPS, HIDES & LEATHERS ---
50+
public static final Item LIGHT_HIDE = register("light_hide", Item::new, new Item.Properties());
51+
public static final Item MEDIUM_HIDE = register("medium_hide", Item::new, new Item.Properties());
52+
public static final Item HEAVY_HIDE = register("heavy_hide", Item::new, new Item.Properties());
53+
public static final Item SOFT_HIDE = register("soft_hide", Item::new, new Item.Properties());
54+
public static final Item PRISMATIC_HIDE = register("prismatic_hide", Item::new, new Item.Properties());
55+
56+
public static final Item LIGHT_LEATHER = register("light_leather", Item::new, new Item.Properties());
57+
public static final Item MEDIUM_LEATHER = register("medium_leather", Item::new, new Item.Properties());
58+
public static final Item HEAVY_LEATHER = register("heavy_leather", Item::new, new Item.Properties());
59+
public static final Item STORM_LEATHER = register("storm_leather", Item::new, new Item.Properties());
60+
public static final Item PRISMATIC_LEATHER = register("prismatic_leather", Item::new, new Item.Properties());
1961

62+
public static final Item FERAN_RIB = register("feran_rib", Item::new, new Item.Properties());
63+
public static final Item STURDY_CHITIN = register("sturdy_chitin", Item::new, new Item.Properties());
64+
public static final Item VENOM_SAC = register("venom_sac", Item::new, new Item.Properties());
65+
public static final Item BONE_FRAGMENT = register("bone_fragment", Item::new, new Item.Properties());
66+
67+
// --- FABRICS & TEXTILES ---
68+
public static final Item LINEN_SCRAPS = register("linen_scraps", Item::new, new Item.Properties());
69+
public static final Item BOLT_OF_LINEN = register("bolt_of_linen", Item::new, new Item.Properties());
70+
public static final Item SHADOWEAVE_SCRAPS = register("shadoweave_scraps", Item::new, new Item.Properties());
71+
public static final Item CINDERCLOTH_SCRAPS = register("cindercloth_scraps", Item::new, new Item.Properties());
72+
public static final Item BOLT_OF_WOOL = register("bolt_of_wool", Item::new, new Item.Properties());
73+
public static final Item YELLOW_CLOTH = register("yellow_cloth", Item::new, new Item.Properties());
74+
75+
// --- SEEDS & FARMING (Bags and Bulbs) ---
76+
public static final Item LETTUCE = register("lettuce", Item::new, new Item.Properties().food(
77+
new FoodProperties.Builder().nutrition(2).saturationModifier(0.3f).build()
78+
));
79+
public static final Item CHILLI_SEED_BAG = register("chilli_seed_bag", Item::new, new Item.Properties());
80+
public static final Item CHILLI_SEED_BAG_ETERNAL = register("chilli_seed_bag_eternal", Item::new, new Item.Properties());
81+
public static final Item SUNFLOWER_SEED_BAG = register("sunflower_seed_bag", Item::new, new Item.Properties());
82+
public static final Item CORN_SEED_BAG = register("corn_seed_bag", Item::new, new Item.Properties());
83+
public static final Item COTTON_SEED_BAG = register("cotton_seed_bag", Item::new, new Item.Properties());
84+
public static final Item RICE_SEED_BAG = register("rice_seed_bag", Item::new, new Item.Properties());
85+
public static final Item ONION_BULB = register("onion_bulb", Item::new, new Item.Properties());
86+
87+
// --- MAGICAL & ALCHEMICAL ---
88+
public static final Item ESSENCE_OF_LIFE = register("essence_of_life", Item::new, new Item.Properties());
89+
public static final Item ESSENCE_OF_FIRE = register("essence_of_fire", Item::new, new Item.Properties());
90+
public static final Item ESSENCE_OF_ICE = register("essence_of_ice", Item::new, new Item.Properties());
91+
public static final Item ESSENCE_OF_THE_VOID = register("essence_of_the_void", Item::new, new Item.Properties());
92+
public static final Item VOID_HEART = register("void_heart", Item::new, new Item.Properties());
93+
94+
// --- FLORA COMPONENTS (Non-placeable petals) ---
95+
public static final Item RED_PETALS = register("red_petals", Item::new, new Item.Properties());
96+
public static final Item YELLOW_PETALS = register("yellow_petals", Item::new, new Item.Properties());
97+
public static final Item GREEN_PETALS = register("green_petals", Item::new, new Item.Properties());
98+
public static final Item WHITE_PETALS = register("white_petals", Item::new, new Item.Properties());
99+
public static final Item AZURE_PETALS = register("azure_petals", Item::new, new Item.Properties());
100+
public static final Item STORM_PETALS = register("storm_petals", Item::new, new Item.Properties());
101+
public static final Item BLOOD_PETALS = register("blood_petals", Item::new, new Item.Properties());
102+
public static final Item CYAN_PETALS = register("cyan_petals", Item::new, new Item.Properties());
103+
104+
// --- REGISTRATION LOGIC ---
20105
public static <GenericItem extends Item> GenericItem register(String name, Function<Item.Properties, GenericItem> itemFactory, Item.Properties settings) {
21-
// Create the item key.
22106
ResourceKey<Item> itemKey = ResourceKey.create(Registries.ITEM, Identifier.fromNamespaceAndPath(MineTale.MOD_ID, name));
23-
24-
// Create the item instance.
25107
GenericItem item = itemFactory.apply(settings.setId(itemKey));
26-
27-
// Register the item.
28108
Registry.register(BuiltInRegistries.ITEM, itemKey, item);
29109

110+
// 4. ADD TO CREATIVE TAB AUTOMATICALLY
111+
REGISTERED_ITEMS.add(item);
112+
30113
return item;
31114
}
32115
}

0 commit comments

Comments
 (0)