-
Notifications
You must be signed in to change notification settings - Fork 50
/
DamageTypeTagGenerator.java
70 lines (62 loc) · 3.24 KB
/
DamageTypeTagGenerator.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
package io.redspace.ironsspellbooks.datagen;
import java.util.concurrent.CompletableFuture;
import io.redspace.ironsspellbooks.IronsSpellbooks;
import io.redspace.ironsspellbooks.damage.ISSDamageTypes;
import net.minecraft.core.HolderLookup.Provider;
import net.minecraft.core.registries.Registries;
import net.minecraft.data.PackOutput;
import net.minecraft.data.tags.TagsProvider;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.TagKey;
import net.minecraft.world.damagesource.DamageType;
import net.minecraft.world.damagesource.DamageTypes;
import net.minecraftforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.NotNull;
public class DamageTypeTagGenerator extends TagsProvider<DamageType> {
public DamageTypeTagGenerator(PackOutput output, CompletableFuture<Provider> lookupProvider, ExistingFileHelper existingFileHelper) {
super(output, Registries.DAMAGE_TYPE, lookupProvider, IronsSpellbooks.MODID, existingFileHelper);
}
private static TagKey<DamageType> create(String name) {
return TagKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(IronsSpellbooks.MODID, name));
}
public static final TagKey<DamageType> BYPASS_EVASION = create("bypass_evasion");
public static final TagKey<DamageType> LONG_CAST_IGNORE = create("long_cast_ignore");
public static final TagKey<DamageType> FIRE_MAGIC = create("fire_magic");
public static final TagKey<DamageType> ICE_MAGIC = create("ice_magic");
public static final TagKey<DamageType> LIGHTNING_MAGIC = create("lightning_magic");
public static final TagKey<DamageType> HOLY_MAGIC = create("holy_magic");
public static final TagKey<DamageType> ENDER_MAGIC = create("ender_magic");
public static final TagKey<DamageType> BLOOD_MAGIC = create("blood_magic");
public static final TagKey<DamageType> EVOCATION_MAGIC = create("evocation_magic");
public static final TagKey<DamageType> VOID_MAGIC = create("void_magic");
public static final TagKey<DamageType> POISON_MAGIC = create("poison_magic");
protected void addTags(@NotNull Provider provider) {
tag(FIRE_MAGIC).add(ISSDamageTypes.FIRE_MAGIC);
tag(ICE_MAGIC).add(ISSDamageTypes.ICE_MAGIC);
tag(LIGHTNING_MAGIC).add(ISSDamageTypes.LIGHTNING_MAGIC);
tag(HOLY_MAGIC).add(ISSDamageTypes.HOLY_MAGIC);
tag(ENDER_MAGIC).add(ISSDamageTypes.ENDER_MAGIC);
tag(BLOOD_MAGIC).add(ISSDamageTypes.BLOOD_MAGIC);
tag(EVOCATION_MAGIC).add(ISSDamageTypes.EVOCATION_MAGIC);
tag(VOID_MAGIC).add(ISSDamageTypes.VOID_MAGIC);
tag(POISON_MAGIC).add(ISSDamageTypes.POISON_MAGIC);
tag(BYPASS_EVASION).add(
DamageTypes.ON_FIRE,
DamageTypes.WITHER,
DamageTypes.FREEZE,
DamageTypes.STARVE,
DamageTypes.DROWN,
DamageTypes.STALAGMITE,
DamageTypes.OUTSIDE_BORDER,
DamageTypes.FELL_OUT_OF_WORLD,
DamageTypes.DRY_OUT,
ISSDamageTypes.CAULDRON);
tag(LONG_CAST_IGNORE).add(
DamageTypes.FREEZE,
DamageTypes.STARVE,
DamageTypes.ON_FIRE,
DamageTypes.WITHER,
DamageTypes.MAGIC
);
}
}