修复维持生计对创造弹药不起作用的效果
This commit is contained in:
parent
3fb8b3740a
commit
412522dbc0
1 changed files with 12 additions and 2 deletions
|
@ -643,13 +643,23 @@ public class LivingEventHandler {
|
||||||
int ammoReload = (int) Math.min(mag, mag * rate);
|
int ammoReload = (int) Math.min(mag, mag * rate);
|
||||||
int ammoNeed = Math.min(mag - ammo, ammoReload);
|
int ammoNeed = Math.min(mag - ammo, ammoReload);
|
||||||
|
|
||||||
|
boolean flag = player.getInventory().hasAnyMatching(s -> s.is(ModItems.CREATIVE_AMMO_BOX.get()));
|
||||||
|
|
||||||
if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
||||||
int ammoFinal = Math.min(capability.rifleAmmo, ammoNeed);
|
int ammoFinal = Math.min(capability.rifleAmmo, ammoNeed);
|
||||||
capability.rifleAmmo -= ammoFinal;
|
if (flag) {
|
||||||
|
ammoFinal = ammoNeed;
|
||||||
|
} else {
|
||||||
|
capability.rifleAmmo -= ammoFinal;
|
||||||
|
}
|
||||||
GunsTool.setGunIntTag(stack, "Ammo", Math.min(mag, ammo + ammoFinal));
|
GunsTool.setGunIntTag(stack, "Ammo", Math.min(mag, ammo + ammoFinal));
|
||||||
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
||||||
int ammoFinal = Math.min(capability.handgunAmmo, ammoNeed);
|
int ammoFinal = Math.min(capability.handgunAmmo, ammoNeed);
|
||||||
capability.handgunAmmo -= ammoFinal;
|
if (flag) {
|
||||||
|
ammoFinal = ammoNeed;
|
||||||
|
} else {
|
||||||
|
capability.handgunAmmo -= ammoFinal;
|
||||||
|
}
|
||||||
GunsTool.setGunIntTag(stack, "Ammo", Math.min(mag, ammo + ammoFinal));
|
GunsTool.setGunIntTag(stack, "Ammo", Math.min(mag, ammo + ammoFinal));
|
||||||
}
|
}
|
||||||
capability.syncPlayerVariables(player);
|
capability.syncPlayerVariables(player);
|
||||||
|
|
Loading…
Add table
Reference in a new issue