diff --git a/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java b/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java index cfdab747f..c6248466e 100644 --- a/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java +++ b/src/main/java/com/atsuishio/superbwarfare/data/gun/DefaultGunData.java @@ -20,6 +20,8 @@ public class DefaultGunData implements IDBasedData { public double recoilX; @SerializedName("RecoilY") public double recoilY; + @SerializedName("Recoil") + public double recoil; @SerializedName("DefaultZoom") public double defaultZoom = 1.25; diff --git a/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java b/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java index 831f8a264..bc7385b2d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java +++ b/src/main/java/com/atsuishio/superbwarfare/data/gun/GunData.java @@ -301,6 +301,9 @@ public class GunData { public double recoilY() { return defaultGunData().recoilY; } + public double recoil() { + return defaultGunData().recoil; + } public double weight() { return defaultGunData().weight + customWeight(); diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 5dcbfd30b..17eb285f2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -728,6 +728,11 @@ public class ClientEventHandler { PacketDistributor.sendToServer(new ShootMessage(gunSpread, zoom, entity != null ? entity.getUUID() : UUID.randomUUID())); fireRecoilTime = 10; + // 真实后座( + if (data.recoil() != 0) { + player.setDeltaMovement(player.getDeltaMovement().add(player.getViewVector(1).scale(-data.recoil()))); + } + var gunRecoilY = data.recoilY() * 10; recoilY = (float) (2 * Math.random() - 1) * gunRecoilY; diff --git a/src/main/resources/data/superbwarfare/guns/m_2_hb.json b/src/main/resources/data/superbwarfare/guns/m_2_hb.json index f33a4c55c..2a16ec98a 100644 --- a/src/main/resources/data/superbwarfare/guns/m_2_hb.json +++ b/src/main/resources/data/superbwarfare/guns/m_2_hb.json @@ -3,6 +3,7 @@ "Spread": 5, "RecoilX": 0.015, "RecoilY": 0.02, + "Recoil": 0.15, "Damage": 40, "Headshot": 2.0, "Velocity": 43,