添加单发上弹,准备阶段需要上弹时的上弹时间节点

This commit is contained in:
Atsuishio 2025-05-28 23:53:51 +08:00 committed by Light_Quanta
parent f4aa6947ed
commit 0edc1749ae
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
5 changed files with 14 additions and 7 deletions

View file

@ -73,6 +73,10 @@ public class DefaultGunData {
public int prepareTime;
@SerializedName("PrepareLoadTime")
public int prepareLoadTime;
// 单发装填时的上弹时间
@SerializedName("PrepareAmmoLoadTime")
public int prepareAmmoLoadTime = 1;
@SerializedName("PrepareEmptyTime")
public int prepareEmptyTime;

View file

@ -269,6 +269,11 @@ public class GunData {
return defaultGunData().prepareLoadTime;
}
public int prepareAmmoLoadTime() {
return defaultGunData().prepareAmmoLoadTime;
}
public int defaultPrepareEmptyTime() {
return defaultGunData().prepareEmptyTime;
}

View file

@ -229,7 +229,7 @@ public class GunEventHandler {
if (reload.singleReloadStarter.start()) {
NeoForge.EVENT_BUS.post(new ReloadEvent.Pre(player, data));
if ((data.defaultPrepareLoadTime() != 0 && data.ammo.get() == 0) || stack.is(ModItems.SECONDARY_CATACLYSM.get())) {
if (data.defaultPrepareLoadTime() != 0 && data.ammo.get() == 0) {
// 此处判断空仓换弹的时候是否在准备阶段就需要装填一发如M870
playGunPrepareLoadReloadSounds(player);
int prepareLoadTime = data.defaultPrepareLoadTime();
@ -254,11 +254,7 @@ public class GunEventHandler {
reload.setState(ReloadState.NORMAL_RELOADING);
}
if (stack.getItem() == ModItems.M_870.get() && reload.prepareLoadTimer.get() == 10) {
iterativeLoad(player, data);
}
if (stack.getItem() == ModItems.SECONDARY_CATACLYSM.get() && reload.prepareLoadTimer.get() == 3) {
if (reload.prepareLoadTimer.get() == data.prepareAmmoLoadTime()) {
iterativeLoad(player, data);
}

View file

@ -14,6 +14,7 @@
],
"PrepareTime": 7,
"PrepareLoadTime": 36,
"PrepareAmmoLoadTime": 10,
"IterativeTime": 16,
"IterativeAmmoLoadTime": 3,
"FinishTime": 12,

View file

@ -14,8 +14,9 @@
"Iterative"
],
"PrepareLoadTime": 31,
"PrepareAmmoLoadTime": 3,
"IterativeTime": 20,
"FinishTime": 19,
"FinishTime": 22,
"SoundRadius": 8,
"RPM": 300,
"AmmoType": "superbwarfare:grenade_40mm",