添加新的标签,优化武器经验代码

This commit is contained in:
17146 2025-06-24 02:06:43 +08:00 committed by Light_Quanta
parent a39ecda5d8
commit 431fc24450
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
5 changed files with 24 additions and 4 deletions

View file

@ -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 4b66f399cf351dc05891ad11d0e94889962a4327 data/superbwarfare/tags/entity_type/aerial_bomb.json
831bbb12a31a9fd9a731e812b690d09d70ade7e9 data/superbwarfare/tags/entity_type/decoy.json 831bbb12a31a9fd9a731e812b690d09d70ade7e9 data/superbwarfare/tags/entity_type/decoy.json
dab439adf745fde8ee3ecf56a40c617dfedc9c47 data/superbwarfare/tags/entity_type/destroyable_projectile.json dab439adf745fde8ee3ecf56a40c617dfedc9c47 data/superbwarfare/tags/entity_type/destroyable_projectile.json
80e455e3689fb743901094a338ab7d6dd0b28d83 data/superbwarfare/tags/entity_type/no_experience.json

View file

@ -0,0 +1,14 @@
{
"values": [
"superbwarfare:target",
"superbwarfare:dps_generator",
{
"id": "dummmmmmy:target_dummy",
"required": false
},
{
"id": "powerful_dummy:test_dummy",
"required": false
}
]
}

View file

@ -42,6 +42,10 @@ public class ModEntityTypeTagProvider extends EntityTypeTagsProvider {
ModEntities.SMOKE_DECOY.get(), ModEntities.SMOKE_DECOY.get(),
ModEntities.FLARE_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<EntityType<?>> cTag(String name) { public static TagKey<EntityType<?>> cTag(String name) {

View file

@ -183,7 +183,7 @@ public class LivingEventHandler {
if (!(sourceEntity instanceof Player player)) return; if (!(sourceEntity instanceof Player player)) return;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!(stack.getItem() instanceof GunItem)) return; 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); var data = GunData.from(stack);
double amount = Math.min(0.125 * event.getAmount(), event.getEntity().getMaxHealth()); double amount = Math.min(0.125 * event.getAmount(), event.getEntity().getMaxHealth());
@ -208,7 +208,7 @@ public class LivingEventHandler {
if (!(sourceEntity instanceof Player player)) return; if (!(sourceEntity instanceof Player player)) return;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!(stack.getItem() instanceof GunItem)) return; 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); var data = GunData.from(stack);
double amount = 20 + 2 * event.getEntity().getMaxHealth(); double amount = 20 + 2 * event.getEntity().getMaxHealth();
@ -247,7 +247,7 @@ public class LivingEventHandler {
if (!(sourceEntity instanceof Player player)) return; if (!(sourceEntity instanceof Player player)) return;
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!(stack.getItem() instanceof GunItem)) return; 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); var data = GunData.from(stack);
int level = data.level.get(); int level = data.level.get();

View file

@ -74,6 +74,7 @@ public class ModTags {
public static final TagKey<EntityType<?>> AERIAL_BOMB = tag("aerial_bomb"); public static final TagKey<EntityType<?>> AERIAL_BOMB = tag("aerial_bomb");
public static final TagKey<EntityType<?>> DESTROYABLE_PROJECTILE = tag("destroyable_projectile"); public static final TagKey<EntityType<?>> DESTROYABLE_PROJECTILE = tag("destroyable_projectile");
public static final TagKey<EntityType<?>> DECOY = tag("decoy"); public static final TagKey<EntityType<?>> DECOY = tag("decoy");
public static final TagKey<EntityType<?>> NO_EXPERIENCE = tag("no_experience");
private static TagKey<EntityType<?>> tag(String name) { private static TagKey<EntityType<?>> tag(String name) {
return TagKey.create(Registries.ENTITY_TYPE, Mod.loc(name)); return TagKey.create(Registries.ENTITY_TYPE, Mod.loc(name));