暂时禁用自动换弹功能

This commit is contained in:
Atsuihsio 2024-09-23 22:28:28 +08:00
parent f941cdc5f1
commit 0748966060

View file

@ -5,7 +5,6 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.network.message.ReloadMessage;
import net.mcreator.superbwarfare.network.message.SimulationDistanceMessage; import net.mcreator.superbwarfare.network.message.SimulationDistanceMessage;
import net.mcreator.superbwarfare.tools.SoundTool; import net.mcreator.superbwarfare.tools.SoundTool;
import net.minecraft.core.BlockPos; import net.minecraft.core.BlockPos;
@ -106,39 +105,39 @@ public class PlayerEventHandler {
} }
private static void handleWeaponAutoReload(Player player) { private static void handleWeaponAutoReload(Player player) {
ItemStack stack = player.getMainHandItem(); // ItemStack stack = player.getMainHandItem();
var capability = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()); // var capability = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables());
// TODO 添加是否开启自动换弹选项
if (!player.isSpectator()
&& stack.is(ModTags.Items.GUN)
&& !stack.getOrCreateTag().getBoolean("sentinel_is_charging")
&& !(player.getCooldowns().isOnCooldown(stack.getItem()))
&& stack.getOrCreateTag().getInt("draw_time") > 35
&& stack.getOrCreateTag().getInt("gun_reloading_time") == 0
&& stack.getOrCreateTag().getInt("ammo") == 0
) {
CompoundTag tag = stack.getOrCreateTag();
// 检查备弹 // if (!player.isSpectator()
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && capability.shotgunAmmo == 0) { // && stack.is(ModTags.Items.GUN)
return; // && !stack.getOrCreateTag().getBoolean("sentinel_is_charging")
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO) && capability.sniperAmmo == 0) { // && !(player.getCooldowns().isOnCooldown(stack.getItem()))
return; // && stack.getOrCreateTag().getInt("draw_time") > 35
} else if ((stack.is(ModTags.Items.USE_HANDGUN_AMMO) || stack.is(ModTags.Items.SMG)) && capability.handgunAmmo == 0) { // && stack.getOrCreateTag().getInt("gun_reloading_time") == 0
return; // && stack.getOrCreateTag().getInt("ammo") == 0
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO) && capability.rifleAmmo == 0) { // ) {
return; // CompoundTag tag = stack.getOrCreateTag();
} else if (stack.getItem() == ModItems.TASER.get() && tag.getInt("max_ammo") == 0) { //
return; // // 检查备弹
} else if (stack.getItem() == ModItems.M_79.get() && tag.getInt("max_ammo") == 0) { // if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && capability.shotgunAmmo == 0) {
return; // return;
} else if (stack.getItem() == ModItems.RPG.get() && tag.getInt("max_ammo") == 0) { // } else if (stack.is(ModTags.Items.USE_SNIPER_AMMO) && capability.sniperAmmo == 0) {
return; // return;
} else if (stack.getItem() == ModItems.JAVELIN.get() && tag.getInt("max_ammo") == 0) { // } else if ((stack.is(ModTags.Items.USE_HANDGUN_AMMO) || stack.is(ModTags.Items.SMG)) && capability.handgunAmmo == 0) {
return; // return;
} // } else if (stack.is(ModTags.Items.USE_RIFLE_AMMO) && capability.rifleAmmo == 0) {
ModUtils.PACKET_HANDLER.sendToServer(new ReloadMessage(0)); // return;
} // } else if (stack.getItem() == ModItems.TASER.get() && tag.getInt("max_ammo") == 0) {
// return;
// } else if (stack.getItem() == ModItems.M_79.get() && tag.getInt("max_ammo") == 0) {
// return;
// } else if (stack.getItem() == ModItems.RPG.get() && tag.getInt("max_ammo") == 0) {
// return;
// } else if (stack.getItem() == ModItems.JAVELIN.get() && tag.getInt("max_ammo") == 0) {
// return;
// }
// ModUtils.PACKET_HANDLER.sendToServer(new ReloadMessage(0));
// }
} }
private static void handleWeaponSway(Player player) { private static void handleWeaponSway(Player player) {