From 994f2afa4a250c4c78d662c0700fb1bd47d5fb70 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 11 Oct 2024 02:30:58 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E9=87=8D=E7=94=9F=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=8D=A2=E5=BC=B9bug=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=8F=92=E6=9D=BF=E5=92=8C=E9=98=B2=E5=BC=B9=E8=A1=A3=E8=83=BD?= =?UTF-8?q?=E5=87=8F=E4=BC=A4=E7=9A=84=E4=BC=A4=E5=AE=B3=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/LivingEventHandler.java | 16 +- .../event/PlayerEventHandler.java | 25 ++- .../animations/ak.animation.json | 176 +----------------- .../animations/m60.animation.json | 14 +- 4 files changed, 42 insertions(+), 189 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java index 301fbe8aa..73b4fcdf7 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java @@ -108,7 +108,14 @@ public class LivingEventHandler { } //计算防弹插板减伤 - if (source.is(ModTags.DamageTypes.PROJECTILE) || source.is(ModTags.DamageTypes.PROJECTILE_ABSOLUTE)) { + if (source.is(ModTags.DamageTypes.PROJECTILE) || source.is(ModTags.DamageTypes.PROJECTILE_ABSOLUTE) + || source.is(ModDamageTypes.PROJECTILE_BOOM) + || source.is(ModDamageTypes.MINE) + || source.is(ModDamageTypes.CANNON_FIRE) + || source.is(ModDamageTypes.CUSTOM_EXPLOSION) + || source.is(DamageTypes.EXPLOSION) + || source.is(DamageTypes.PLAYER_EXPLOSION) + || source.is(DamageTypes.MOB_PROJECTILE)) { ItemStack armor = entity.getItemBySlot(EquipmentSlot.CHEST); if (armor != ItemStack.EMPTY && armor.getTag() != null && armor.getTag().contains("ArmorPlate")) { @@ -119,13 +126,18 @@ public class LivingEventHandler { } //计算防弹护具减伤 - if (source.is(ModTags.DamageTypes.PROJECTILE)) { + if (source.is(ModTags.DamageTypes.PROJECTILE) || source.is(DamageTypes.MOB_PROJECTILE)) { damage *= 1 - 0.8 * Mth.clamp(entity.getAttributeValue(ModAttributes.BULLET_RESISTANCE.get()), 0, 1); } if (source.is(ModTags.DamageTypes.PROJECTILE_ABSOLUTE)) { damage *= 1 - 0.2 * Mth.clamp(entity.getAttributeValue(ModAttributes.BULLET_RESISTANCE.get()), 0, 1); } + + if (source.is(ModDamageTypes.PROJECTILE_BOOM) || source.is(ModDamageTypes.MINE) || source.is(ModDamageTypes.CANNON_FIRE) || source.is(ModDamageTypes.CUSTOM_EXPLOSION) + || source.is(DamageTypes.EXPLOSION) || source.is(DamageTypes.PLAYER_EXPLOSION)) { + damage *= 1 - 0.3 * Mth.clamp(entity.getAttributeValue(ModAttributes.BULLET_RESISTANCE.get()), 0, 1); + } } event.setAmount((float) damage); diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index 760ffaaed..06a299974 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -299,24 +299,33 @@ public class PlayerEventHandler { for (ItemStack stack : player.getInventory().items) { if (stack.is(ModTags.Items.GUN)) { - if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) { + var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()); + + if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && cap.shotgunAmmo > 0) { GunsTool.reload(player, GunInfo.Type.SHOTGUN); - } else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) { + } + if (stack.is(ModTags.Items.USE_SNIPER_AMMO) && cap.sniperAmmo > 0) { GunsTool.reload(player, GunInfo.Type.SNIPER); - } else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) { + } + if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)&& cap.handgunAmmo > 0) { GunsTool.reload(player, GunInfo.Type.HANDGUN); - } else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) { + } + if (stack.is(ModTags.Items.USE_RIFLE_AMMO)&& cap.rifleAmmo > 0) { GunsTool.reload(player, GunInfo.Type.RIFLE); - } else if (stack.getItem() == ModItems.TASER.get()) { + } + if (stack.getItem() == ModItems.TASER.get() && stack.getOrCreateTag().getInt("max_ammo") > 0) { stack.getOrCreateTag().putInt("ammo", 1); player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.TASER_ELECTRODE.get(), 1, player.inventoryMenu.getCraftSlots()); - } else if (stack.getItem() == ModItems.M_79.get()) { + } + if (stack.getItem() == ModItems.M_79.get() && stack.getOrCreateTag().getInt("max_ammo") > 0) { stack.getOrCreateTag().putInt("ammo", 1); player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.GRENADE_40MM.get(), 1, player.inventoryMenu.getCraftSlots()); - } else if (stack.getItem() == ModItems.RPG.get()) { + } + if (stack.getItem() == ModItems.RPG.get() && stack.getOrCreateTag().getInt("max_ammo") > 0) { stack.getOrCreateTag().putInt("ammo", 1); player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.ROCKET.get(), 1, player.inventoryMenu.getCraftSlots()); - } else if (stack.getItem() == ModItems.JAVELIN.get()) { + } + if (stack.getItem() == ModItems.JAVELIN.get() && stack.getOrCreateTag().getInt("max_ammo") > 0) { stack.getOrCreateTag().putInt("ammo", 1); player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.JAVELIN_MISSILE.get(), 1, player.inventoryMenu.getCraftSlots()); } diff --git a/src/main/resources/assets/superbwarfare/animations/ak.animation.json b/src/main/resources/assets/superbwarfare/animations/ak.animation.json index 2305551eb..c01d461dc 100644 --- a/src/main/resources/assets/superbwarfare/animations/ak.animation.json +++ b/src/main/resources/assets/superbwarfare/animations/ak.animation.json @@ -78,174 +78,6 @@ } } }, - "animation.ak47.changefirerate": { - "animation_length": 0.5, - "bones": { - "0": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [0, 0, 4], - "easing": "easeOutSine" - }, - "0.3": { - "vector": [-0.98905, -0.20901, -1.99637], - "easing": "easeInSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [0, 0.1, 0], - "easing": "easeOutSine" - }, - "0.3": { - "vector": [0, -0.23, 0], - "easing": "easeInSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - } - }, - "Righthand": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [-0.78478, 1.92167, -26.98046], - "easing": "easeOutSine" - }, - "0.3": { - "vector": [8.15618, 10.19589, -5.96653], - "easing": "easeInOutSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [1.05, -0.1, -1], - "easing": "easeOutSine" - }, - "0.3": { - "vector": [1.04, -0.08, -0.75] - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - } - }, - "Lefthand": { - "rotation": { - "vector": [27.6003, 27.5697, -16.00843] - }, - "position": { - "vector": [-0.6, -2.7, -3.3] - } - } - } - }, - "animation.ak47.changefirerate2": { - "animation_length": 0.5, - "bones": { - "0": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [-0.98905, -0.20901, -1.99637], - "easing": "easeInSine" - }, - "0.3": { - "vector": [0, 0, -1], - "easing": "easeOutSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [0, 0.00828, 0], - "easing": "easeInSine" - }, - "0.3": { - "vector": [0, 0.1, 0], - "easing": "easeOutSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - } - }, - "Righthand": { - "rotation": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [8.15618, 10.19589, -5.96653], - "easing": "easeOutSine" - }, - "0.3": { - "vector": [5.21522, 1.92167, -26.98046], - "easing": "easeInOutSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - }, - "position": { - "0.0": { - "vector": [0, 0, 0] - }, - "0.2": { - "vector": [0.85, 1.92, -0.75] - }, - "0.3": { - "vector": [1.05, 0.9, -1], - "easing": "easeInOutSine" - }, - "0.5": { - "vector": [0, 0, 0], - "easing": "easeInOutSine" - } - } - }, - "Lefthand": { - "rotation": { - "vector": [27.6003, 27.5697, -16.00843] - }, - "position": { - "vector": [-0.6, -2.7, -3.3] - } - } - } - }, "animation.ak47.run": { "loop": true, "animation_length": 0.8, @@ -482,7 +314,7 @@ "easing": "easeInOutSine" }, "2.15": { - "vector": [0.49, 0, 0] + "vector": [0.99, 0, 0] }, "2.25": { "vector": [0, 0, 0] @@ -541,7 +373,7 @@ "easing": "easeInSine" }, "2.15": { - "vector": [0.04, 0.15993, 0.24478] + "vector": [0.04, 0, 0.24478] }, "2.2667": { "vector": [0, 0, 0], @@ -910,7 +742,7 @@ "easing": "easeInOutSine" }, "3.0833": { - "vector": [0.49, 0, 0] + "vector": [0.99, 0, 0] }, "3.1833": { "vector": [0, 0, 0] @@ -990,7 +822,7 @@ "easing": "easeInSine" }, "3.0833": { - "vector": [0.04, 0.15993, 0.24478] + "vector": [0.04, 0, 0.24478] }, "3.2": { "vector": [0, 0, 0], diff --git a/src/main/resources/assets/superbwarfare/animations/m60.animation.json b/src/main/resources/assets/superbwarfare/animations/m60.animation.json index 5ec0f532b..2628eaadd 100644 --- a/src/main/resources/assets/superbwarfare/animations/m60.animation.json +++ b/src/main/resources/assets/superbwarfare/animations/m60.animation.json @@ -159,7 +159,7 @@ "vector": [-71.5441, 21.19359, 4.89071] }, "0.175": { - "vector": [-70.25009, 19.57377, 12.8696], + "vector": [-68.62934, 10.13346, 9.45227], "easing": "easeInSine" }, "0.35": { @@ -167,7 +167,7 @@ "easing": "easeOutSine" }, "0.525": { - "vector": [-72.13904, 19.33922, 0.51567], + "vector": [-73.2118, 28.82149, 4.00081], "easing": "easeInSine" }, "0.7": { @@ -176,23 +176,23 @@ }, "position": { "0.0": { - "vector": [-5.16449, 5.24106, -2.41075], + "vector": [-5.16449, 3.24106, -2.41075], "easing": "easeOutSine" }, "0.175": { - "vector": [-6.01808, 7.20195, -2.4316], + "vector": [-6.01808, 5.20195, -2.4316], "easing": "easeInSine" }, "0.35": { - "vector": [-7.14782, 5.23777, -2.41358], + "vector": [-7.14782, 3.23777, -2.41358], "easing": "easeOutSine" }, "0.525": { - "vector": [-6.27505, 7.25654, -2.3913], + "vector": [-6.27505, 5.25654, -2.3913], "easing": "easeInSine" }, "0.7": { - "vector": [-5.16513, 5.23951, -2.40714], + "vector": [-5.16513, 3.23951, -2.40714], "easing": "easeOutSine" } }