-
-
Notifications
You must be signed in to change notification settings - Fork 31
/
ItemTags.java
89 lines (78 loc) · 3.83 KB
/
ItemTags.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
package com.novamachina.exnihilosequentia.common.datagen;
import com.novamachina.exnihilosequentia.common.api.ExNihiloTags;
import com.novamachina.exnihilosequentia.common.item.ore.EnumOre;
import com.novamachina.exnihilosequentia.common.item.seeds.EnumSeed;
import com.novamachina.exnihilosequentia.common.item.tools.hammer.EnumHammer;
import com.novamachina.exnihilosequentia.common.utility.Constants;
import net.minecraft.data.BlockTagsProvider;
import net.minecraft.data.DataGenerator;
import net.minecraft.data.ItemTagsProvider;
import net.minecraft.item.Item;
import net.minecraft.item.Items;
import net.minecraftforge.common.Tags;
import net.minecraftforge.common.data.ExistingFileHelper;
public class ItemTags extends ItemTagsProvider {
public ItemTags(DataGenerator generator, BlockTagsProvider blockTagsProvider, ExistingFileHelper existingFileHelper) {
super(generator, blockTagsProvider, Constants.ModIds.EX_NIHILO_SEQUENTIA, existingFileHelper);
}
@Override
protected void registerTags() {
registerOres();
registerSeeds();
registerMeats();
registerHammers();
registerMisc();
}
private void registerMisc() {
getOrCreateBuilder(ExNihiloTags.CLAY).addItemEntry(Items.CLAY_BALL);
}
private void registerHammers() {
for(EnumHammer hammer : EnumHammer.values()) {
getOrCreateBuilder(ExNihiloTags.HAMMER).addItemEntry(hammer.getRegistryObject().get());
}
}
private void registerMeats() {
registerUncooked();
registerCooked();
}
private void registerCooked() {
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_CHICKEN);
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_COD);
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_MUTTON);
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_PORKCHOP);
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_RABBIT);
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_SALMON);
getOrCreateBuilder(ExNihiloTags.MEAT_COOKED).addItemEntry(Items.COOKED_BEEF);
}
private void registerUncooked() {
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.CHICKEN);
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.COD);
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.MUTTON);
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.PORKCHOP);
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.RABBIT);
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.SALMON);
getOrCreateBuilder(ExNihiloTags.MEAT_UNCOOKED).addItemEntry(Items.BEEF);
}
private void registerSeeds() {
for(EnumSeed seed : EnumSeed.values()) {
getOrCreateBuilder(Tags.Items.SEEDS).addItemEntry(seed.getRegistryObject().get());
}
}
private void registerOres() {
for(EnumOre ore : EnumOre.values()) {
ExNihiloTags.OreTag tags = ExNihiloTags.getOreTags(ore);
if(!ore.isVanilla()) {
Item ingot = ore.getIngotItem().get();
Item chunk = ore.getChunkItem().get();
getOrCreateBuilder(tags.getIngotTag()).addItemEntry(ingot);
getOrCreateBuilder(Tags.Items.INGOTS).addTag(tags.getIngotTag());
getOrCreateBuilder(tags.getOreTag()).addItemEntry(chunk);
getOrCreateBuilder(Tags.Items.ORES).addTag(tags.getOreTag());
} else {
Item chunk = ore.getChunkItem().get();
getOrCreateBuilder(tags.getOreTag()).addItemEntry(chunk);
getOrCreateBuilder(Tags.Items.ORES).addTag(tags.getOreTag());
}
}
}
}