diff --git a/src/generated/resources/.cache/b6658e94d9c7ecb8e7f48d7838aba9405dd47577 b/src/generated/resources/.cache/b6658e94d9c7ecb8e7f48d7838aba9405dd47577 index acf484510..3f65a2ba7 100644 --- a/src/generated/resources/.cache/b6658e94d9c7ecb8e7f48d7838aba9405dd47577 +++ b/src/generated/resources/.cache/b6658e94d9c7ecb8e7f48d7838aba9405dd47577 @@ -1,4 +1,5 @@ -// 1.21.1 2025-06-17T18:58:56.229726 Tags for minecraft:entity_type mod id superbwarfare +// 1.21.1 2025-06-24T02:21:09.6869582 Tags for minecraft:entity_type mod id superbwarfare 4b66f399cf351dc05891ad11d0e94889962a4327 data/superbwarfare/tags/entity_type/aerial_bomb.json 831bbb12a31a9fd9a731e812b690d09d70ade7e9 data/superbwarfare/tags/entity_type/decoy.json dab439adf745fde8ee3ecf56a40c617dfedc9c47 data/superbwarfare/tags/entity_type/destroyable_projectile.json +80e455e3689fb743901094a338ab7d6dd0b28d83 data/superbwarfare/tags/entity_type/no_experience.json diff --git a/src/generated/resources/data/superbwarfare/tags/entity_type/no_experience.json b/src/generated/resources/data/superbwarfare/tags/entity_type/no_experience.json new file mode 100644 index 000000000..245cb1ac5 --- /dev/null +++ b/src/generated/resources/data/superbwarfare/tags/entity_type/no_experience.json @@ -0,0 +1,14 @@ +{ + "values": [ + "superbwarfare:target", + "superbwarfare:dps_generator", + { + "id": "dummmmmmy:target_dummy", + "required": false + }, + { + "id": "powerful_dummy:test_dummy", + "required": false + } + ] +} \ No newline at end of file diff --git a/src/main/java/com/atsuishio/superbwarfare/datagen/ModEntityTypeTagProvider.java b/src/main/java/com/atsuishio/superbwarfare/datagen/ModEntityTypeTagProvider.java index 10b41401b..791d41ed5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/datagen/ModEntityTypeTagProvider.java +++ b/src/main/java/com/atsuishio/superbwarfare/datagen/ModEntityTypeTagProvider.java @@ -42,6 +42,10 @@ public class ModEntityTypeTagProvider extends EntityTypeTagsProvider { ModEntities.SMOKE_DECOY.get(), ModEntities.FLARE_DECOY.get() ); + + this.tag(ModTags.EntityTypes.NO_EXPERIENCE).add(ModEntities.TARGET.get(), ModEntities.DPS_GENERATOR.get()) + .addOptional(ResourceLocation.fromNamespaceAndPath("dummmmmmy", "target_dummy")) + .addOptional(ResourceLocation.fromNamespaceAndPath("powerful_dummy", "test_dummy")); } public static TagKey> cTag(String name) { diff --git a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java index c901494a7..51d85df8c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java @@ -183,7 +183,7 @@ public class LivingEventHandler { if (!(sourceEntity instanceof Player player)) return; ItemStack stack = player.getMainHandItem(); if (!(stack.getItem() instanceof GunItem)) return; - if (event.getEntity() instanceof TargetEntity) return; + if (event.getEntity().getType().is(ModTags.EntityTypes.NO_EXPERIENCE)) return; var data = GunData.from(stack); double amount = Math.min(0.125 * event.getAmount(), event.getEntity().getMaxHealth()); @@ -208,7 +208,7 @@ public class LivingEventHandler { if (!(sourceEntity instanceof Player player)) return; ItemStack stack = player.getMainHandItem(); if (!(stack.getItem() instanceof GunItem)) return; - if (event.getEntity() instanceof TargetEntity) return; + if (event.getEntity().getType().is(ModTags.EntityTypes.NO_EXPERIENCE)) return; var data = GunData.from(stack); double amount = 20 + 2 * event.getEntity().getMaxHealth(); @@ -247,7 +247,7 @@ public class LivingEventHandler { if (!(sourceEntity instanceof Player player)) return; ItemStack stack = player.getMainHandItem(); if (!(stack.getItem() instanceof GunItem)) return; - if (event.getEntity() instanceof TargetEntity) return; + if (event.getEntity().getType().is(ModTags.EntityTypes.NO_EXPERIENCE)) return; var data = GunData.from(stack); int level = data.level.get(); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java b/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java index 1525c0002..9c443022d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModTags.java @@ -74,6 +74,7 @@ public class ModTags { public static final TagKey> AERIAL_BOMB = tag("aerial_bomb"); public static final TagKey> DESTROYABLE_PROJECTILE = tag("destroyable_projectile"); public static final TagKey> DECOY = tag("decoy"); + public static final TagKey> NO_EXPERIENCE = tag("no_experience"); private static TagKey> tag(String name) { return TagKey.create(Registries.ENTITY_TYPE, Mod.loc(name));