修复穿透数值读取问题,添加几处判断

This commit is contained in:
17146 2025-04-13 21:37:50 +08:00 committed by Light_Quanta
parent a0f29cf372
commit e745a37fb5
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
6 changed files with 5 additions and 2 deletions

View file

@ -657,6 +657,7 @@ public class ClientEventHandler {
public static void shootClient(Player player, final CompoundTag tag) { public static void shootClient(Player player, final CompoundTag tag) {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return;
var data = GunData.from(stack); var data = GunData.from(stack);
if (stack.is(ModTags.Items.NORMAL_GUN)) { if (stack.is(ModTags.Items.NORMAL_GUN)) {
if (data.ammo.get() > 0) { if (data.ammo.get() > 0) {

View file

@ -34,7 +34,7 @@ public class DefaultGunData {
public int fireMode; public int fireMode;
@SerializedName("BurstAmount") @SerializedName("BurstAmount")
public int burstAmount; public int burstAmount;
@SerializedName("BypassArmor") @SerializedName("BypassesArmor")
public double bypassArmor; public double bypassArmor;
@SerializedName("NormalReloadTime") @SerializedName("NormalReloadTime")

View file

@ -241,6 +241,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
private void fire(Player player) { private void fire(Player player) {
Level level = player.level(); Level level = player.level();
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return;
var data = GunData.from(stack); var data = GunData.from(stack);
CompoundTag tag = data.tag(); CompoundTag tag = data.tag();

View file

@ -57,7 +57,6 @@ public class Aa12Item extends GunItem implements GeoItem {
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP; if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if (GunData.from(stack).reload.empty()) { if (GunData.from(stack).reload.empty()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload_empty")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload_empty"));
} }

View file

@ -113,6 +113,7 @@ public record FireMessage(int msgType, double power, boolean zoom) implements Cu
public static void spawnBullet(Player player, final CompoundTag tag, double power, boolean zoom) { public static void spawnBullet(Player player, final CompoundTag tag, double power, boolean zoom) {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (player.level().isClientSide()) return; if (player.level().isClientSide()) return;
if (!stack.is(ModTags.Items.GUN)) return;
var data = GunData.from(stack); var data = GunData.from(stack);
var perk = data.perk.get(Perk.Type.AMMO); var perk = data.perk.get(Perk.Type.AMMO);

View file

@ -40,6 +40,7 @@ public record ShootMessage(double spread, boolean zoom) implements CustomPacketP
public static void pressAction(Player player, double spared, boolean zoom) { public static void pressAction(Player player, double spared, boolean zoom) {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return;
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag(); var tag = data.tag();