From d01db38dae749d83c6833f33c49d90e464de6613 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ampflower=20=F0=9F=8C=BA?= Date: Mon, 14 Apr 2025 21:02:51 -0700 Subject: [PATCH] fix: Barricade not blocking Joy's mobs --- gradle.properties | 2 +- .../joy/data/JoyEntityTagProvider.java | 37 ++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1351255..6d61aad 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ org.gradle.jvmargs=-Xmx2G org.gradle.parallel=true -version=1.0.0-alpha.9 +version=1.0.0-alpha.10 group=gay.pridecraft id=joy diff --git a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyEntityTagProvider.java b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyEntityTagProvider.java index 30c2004..db472f2 100644 --- a/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyEntityTagProvider.java +++ b/xplat/src/datagen/java/gay/pridecraft/joy/data/JoyEntityTagProvider.java @@ -1,10 +1,15 @@ package gay.pridecraft.joy.data; +import gay.pridecraft.joy.JoyUtil; import gay.pridecraft.joy.registry.JoyEntities; import net.fabricmc.fabric.api.datagen.v1.FabricDataOutput; import net.fabricmc.fabric.api.datagen.v1.provider.FabricTagProvider; +import net.minecraft.entity.EntityType; +import net.minecraft.registry.RegistryKeys; import net.minecraft.registry.RegistryWrapper; import net.minecraft.registry.tag.EntityTypeTags; +import net.minecraft.registry.tag.TagKey; +import net.minecraft.util.Identifier; import java.util.concurrent.CompletableFuture; @@ -13,17 +18,47 @@ import java.util.concurrent.CompletableFuture; * @since 1.0.0 **/ public class JoyEntityTagProvider extends FabricTagProvider.EntityTypeTagProvider { + + public static final TagKey> + BEES = joy("bees"), + BARRICADE_PASSIVE = barricade("blocked_by_passive_barrier"), + BARRICADE_HOSTILE = barricade("blocked_by_hostile_barrier"), + BARRICADE_MOB = barricade("blocked_by_mob_barrier"); + + private static TagKey> joy(String name) { + return TagKey.of(RegistryKeys.ENTITY_TYPE, JoyUtil.id(name)); + } + + private static TagKey> barricade(String name) { + return TagKey.of(RegistryKeys.ENTITY_TYPE, Identifier.of("barricade", name)); + } + + private static TagKey> common(String name) { + return TagKey.of(RegistryKeys.ENTITY_TYPE, Identifier.of("c", name)); + } + public JoyEntityTagProvider(final FabricDataOutput output, final CompletableFuture completableFuture) { super(output, completableFuture); } @Override protected void configure(final RegistryWrapper.WrapperLookup wrapperLookup) { - getOrCreateTagBuilder(EntityTypeTags.BEEHIVE_INHABITORS).add( + getOrCreateTagBuilder(BEES).add( JoyEntities.BII, JoyEntities.ENBEE, JoyEntities.TREE, JoyEntities.TRANS_BEE ); + + getOrCreateTagBuilder(EntityTypeTags.BEEHIVE_INHABITORS) + .addTag(BEES); + + getOrCreateTagBuilder(BARRICADE_PASSIVE) + .addTag(BEES) + .add( + JoyEntities.FROG, + JoyEntities.SNIFFER, + JoyEntities.SOCK_FOX + ); } }