|
1 | 1 | package gay.pridecraft.joy.data; |
2 | 2 |
|
| 3 | +import gay.pridecraft.joy.JoyUtil; |
3 | 4 | import gay.pridecraft.joy.registry.JoyEntities; |
4 | 5 | import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; |
5 | 6 | import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; |
| 7 | +import net.minecraft.entity.EntityType; |
| 8 | +import net.minecraft.registry.RegistryKeys; |
6 | 9 | import net.minecraft.registry.RegistryWrapper; |
7 | 10 | import net.minecraft.registry.tag.EntityTypeTags; |
| 11 | +import net.minecraft.registry.tag.TagKey; |
| 12 | +import net.minecraft.util.Identifier; |
8 | 13 |
|
9 | 14 | import java.util.concurrent.CompletableFuture; |
10 | 15 |
|
|
13 | 18 | * @since 1.0.0 |
14 | 19 | **/ |
15 | 20 | public class JoyEntityTagProvider extends FabricTagProvider.EntityTypeTagProvider { |
| 21 | + |
| 22 | + public static final TagKey<EntityType<?>> |
| 23 | + BEES = joy("bees"), |
| 24 | + BARRICADE_PASSIVE = barricade("blocked_by_passive_barrier"), |
| 25 | + BARRICADE_HOSTILE = barricade("blocked_by_hostile_barrier"), |
| 26 | + BARRICADE_MOB = barricade("blocked_by_mob_barrier"); |
| 27 | + |
| 28 | + private static TagKey<EntityType<?>> joy(String name) { |
| 29 | + return TagKey.of(RegistryKeys.ENTITY_TYPE, JoyUtil.id(name)); |
| 30 | + } |
| 31 | + |
| 32 | + private static TagKey<EntityType<?>> barricade(String name) { |
| 33 | + return TagKey.of(RegistryKeys.ENTITY_TYPE, Identifier.of("barricade", name)); |
| 34 | + } |
| 35 | + |
| 36 | + private static TagKey<EntityType<?>> common(String name) { |
| 37 | + return TagKey.of(RegistryKeys.ENTITY_TYPE, Identifier.of("c", name)); |
| 38 | + } |
| 39 | + |
16 | 40 | public JoyEntityTagProvider(final FabricDataOutput output, final CompletableFuture<RegistryWrapper.WrapperLookup> completableFuture) { |
17 | 41 | super(output, completableFuture); |
18 | 42 | } |
19 | 43 |
|
20 | 44 | @Override |
21 | 45 | protected void configure(final RegistryWrapper.WrapperLookup wrapperLookup) { |
22 | | - getOrCreateTagBuilder(EntityTypeTags.BEEHIVE_INHABITORS).add( |
| 46 | + getOrCreateTagBuilder(BEES).add( |
23 | 47 | JoyEntities.BII, |
24 | 48 | JoyEntities.ENBEE, |
25 | 49 | JoyEntities.TREE, |
26 | 50 | JoyEntities.TRANS_BEE |
27 | 51 | ); |
| 52 | + |
| 53 | + getOrCreateTagBuilder(EntityTypeTags.BEEHIVE_INHABITORS) |
| 54 | + .addTag(BEES); |
| 55 | + |
| 56 | + getOrCreateTagBuilder(BARRICADE_PASSIVE) |
| 57 | + .addTag(BEES) |
| 58 | + .add( |
| 59 | + JoyEntities.FROG, |
| 60 | + JoyEntities.SNIFFER, |
| 61 | + JoyEntities.SOCK_FOX |
| 62 | + ); |
28 | 63 | } |
29 | 64 | } |
0 commit comments