删除USE_AMMO系列tag

This commit is contained in:
Light_Quanta 2025-04-18 00:49:10 +08:00
parent ef76e5ae50
commit 53fe093be7
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
9 changed files with 25 additions and 91 deletions

View file

@ -1,4 +1,4 @@
// 1.21.1 2025-04-14T16:44:38.0133635 Tags for minecraft:item mod id superbwarfare
// 1.21.1 2025-04-18T00:48:29.3124197 Tags for minecraft:item mod id superbwarfare
44a232152f5941d0435a35483b37f8ed22fd10bf data/c/tags/item/dusts.json
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/c/tags/item/dusts/coal_coke.json
295ddf906b7133a0558d03e9a60eea18281fe430 data/c/tags/item/dusts/iron.json
@ -49,8 +49,3 @@ a249d9d052cdc24b34e0e51ab991329f6c76e8ab data/superbwarfare/tags/item/shotgun.js
7a12c751d024c06b3e88657afddc84fce8e13295 data/superbwarfare/tags/item/sniper_rifle.json
30a6a2a2031c2fc53accf833c1760697462c5b33 data/superbwarfare/tags/item/storage_blocks/cemented_carbide.json
de0d84361d5208127bff21e915987ec561cdef13 data/superbwarfare/tags/item/storage_blocks/steel.json
9af8a0147d1e920ef2a2b990bc9010367cf3b7df data/superbwarfare/tags/item/use_handgun_ammo.json
0ab1b2a8f5433e0d1b03446a9d0d9428e9d64feb data/superbwarfare/tags/item/use_heavy_ammo.json
ee130846fa0c4e4a51833c6a0b1de7daaa098a73 data/superbwarfare/tags/item/use_rifle_ammo.json
a249d9d052cdc24b34e0e51ab991329f6c76e8ab data/superbwarfare/tags/item/use_shotgun_ammo.json
7a12c751d024c06b3e88657afddc84fce8e13295 data/superbwarfare/tags/item/use_sniper_ammo.json

View file

@ -1,9 +0,0 @@
{
"values": [
"superbwarfare:glock_17",
"superbwarfare:glock_18",
"superbwarfare:m_1911",
"superbwarfare:vector",
"superbwarfare:mp_443"
]
}

View file

@ -1,5 +0,0 @@
{
"values": [
"superbwarfare:ntw_20"
]
}

View file

@ -1,18 +0,0 @@
{
"values": [
"superbwarfare:m_4",
"superbwarfare:hk_416",
"superbwarfare:sks",
"superbwarfare:minigun",
"superbwarfare:devotion",
"superbwarfare:m_60",
"superbwarfare:mk_14",
"superbwarfare:marlin",
"superbwarfare:ak_47",
"superbwarfare:ak_12",
"superbwarfare:qbz_95",
"superbwarfare:rpk",
"superbwarfare:trachelium",
"superbwarfare:insidious"
]
}

View file

@ -1,7 +0,0 @@
{
"values": [
"superbwarfare:homemade_shotgun",
"superbwarfare:m_870",
"superbwarfare:aa_12"
]
}

View file

@ -1,10 +0,0 @@
{
"values": [
"superbwarfare:hunting_rifle",
"superbwarfare:sentinel",
"superbwarfare:svd",
"superbwarfare:m_98b",
"superbwarfare:k_98",
"superbwarfare:mosin_nagant"
]
}

View file

@ -101,20 +101,6 @@ public class ModItemTagProvider extends ItemTagsProvider {
ModItems.TASER.get()
);
this.tag(ModTags.Items.USE_HANDGUN_AMMO).add(
ModItems.GLOCK_17.get(), ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.VECTOR.get(), ModItems.MP_443.get()
);
this.tag(ModTags.Items.USE_RIFLE_AMMO).add(ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.SKS.get(), ModItems.MINIGUN.get(), ModItems.DEVOTION.get(), ModItems.M_60.get(),
ModItems.MK_14.get(), ModItems.MARLIN.get(), ModItems.AK_47.get(), ModItems.AK_12.get(), ModItems.QBZ_95.get(), ModItems.RPK.get(), ModItems.TRACHELIUM.get(), ModItems.INSIDIOUS.get());
this.tag(ModTags.Items.USE_SHOTGUN_AMMO).add(ModItems.HOMEMADE_SHOTGUN.get(), ModItems.M_870.get(), ModItems.AA_12.get());
this.tag(ModTags.Items.USE_SNIPER_AMMO).add(ModItems.HUNTING_RIFLE.get(), ModItems.SENTINEL.get(),
ModItems.SVD.get(), ModItems.M_98B.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get());
this.tag(ModTags.Items.USE_HEAVY_AMMO).add(ModItems.NTW_20.get());
this.tag(ModTags.Items.LAUNCHER).add(ModItems.RPG.get(), ModItems.JAVELIN.get())
.addTag(ModTags.Items.LAUNCHER_GRENADE);
this.tag(ModTags.Items.LAUNCHER_GRENADE).add(ModItems.M_79.get(), ModItems.SECONDARY_CATACLYSM.get());

View file

@ -144,8 +144,13 @@ public class LivingEventHandler {
if (DamageTypeTool.isGunDamage(source) && stack.getItem() instanceof GunItem) {
double distance = entity.position().distanceTo(sourceEntity.position());
// TODO 正确计算距离衰减
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
var ammoInfo = data.ammoTypeInfo();
if (ammoInfo.type() == GunData.AmmoConsumeType.PLAYER_AMMO) {
var type = Ammo.getType(ammoInfo.value());
assert type != null;
switch (type) {
case SHOTGUN -> {
var perk = data.perk.get(Perk.Type.AMMO);
if (perk instanceof AmmoPerk ammoPerk && ammoPerk.slug) {
@ -153,15 +158,19 @@ public class LivingEventHandler {
} else {
damage = reduceDamageByDistance(amount, distance, 0.05, 15);
}
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
damage = reduceDamageByDistance(amount, distance, 0.001, 150);
} else if (stack.is(ModTags.Items.USE_HEAVY_AMMO)) {
damage = reduceDamageByDistance(amount, distance, 0.0007, 250);
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
damage = reduceDamageByDistance(amount, distance, 0.03, 40);
} else if (stack.is(ModTags.Items.SMG)) {
}
case SNIPER -> damage = reduceDamageByDistance(amount, distance, 0.001, 150);
case HEAVY -> damage = reduceDamageByDistance(amount, distance, 0.0007, 250);
case HANDGUN -> damage = reduceDamageByDistance(amount, distance, 0.03, 40);
case RIFLE -> damage = reduceDamageByDistance(amount, distance, 0.007, 100);
}
}
// TODO 正确计算距离衰减
if (stack.is(ModTags.Items.SMG)) {
damage = reduceDamageByDistance(amount, distance, 0.02, 50);
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO) || stack.getItem() == ModItems.BOCEK.get()) {
} else if (stack.getItem() == ModItems.BOCEK.get()) {
damage = reduceDamageByDistance(amount, distance, 0.007, 100);
}
}

View file

@ -14,13 +14,6 @@ public class ModTags {
public static class Items {
public static final TagKey<Item> GUN = tag("gun");
public static final TagKey<Item> USE_HANDGUN_AMMO = tag("use_handgun_ammo");
public static final TagKey<Item> USE_RIFLE_AMMO = tag("use_rifle_ammo");
public static final TagKey<Item> USE_SHOTGUN_AMMO = tag("use_shotgun_ammo");
public static final TagKey<Item> USE_SNIPER_AMMO = tag("use_sniper_ammo");
public static final TagKey<Item> USE_HEAVY_AMMO = tag("use_heavy_ammo");
public static final TagKey<Item> SMG = tag("smg");
public static final TagKey<Item> HANDGUN = tag("handgun");
public static final TagKey<Item> RIFLE = tag("rifle");