优化按键逻辑

This commit is contained in:
17146 2024-10-24 23:25:59 +08:00
parent 0f4dfea0d9
commit 030e44f64e
4 changed files with 25 additions and 17 deletions

View file

@ -24,6 +24,7 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3; import net.minecraft.world.phys.Vec3;
import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.InputEvent; import net.minecraftforge.client.event.InputEvent;
import net.minecraftforge.client.settings.KeyConflictContext;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModList; import net.minecraftforge.fml.ModList;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
@ -178,21 +179,25 @@ public class ClickHandler {
} }
if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) { if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
if (key == ModKeyMappings.EDIT_SCOPE.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_SCOPE)) { if (ModKeyMappings.EDIT_GRIP.getKeyModifier().isActive(KeyConflictContext.IN_GAME)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(0)); if (key == ModKeyMappings.EDIT_GRIP.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_GRIP)) {
editModelShake(); ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(4));
} else if (key == ModKeyMappings.EDIT_GRIP.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_GRIP)) { editModelShake();
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(4)); }
editModelShake(); } else {
} else if (key == ModKeyMappings.EDIT_BARREL.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_BARREL)) { if (key == ModKeyMappings.EDIT_SCOPE.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_SCOPE)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(1)); ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(0));
editModelShake(); editModelShake();
} else if (key == ModKeyMappings.EDIT_MAGAZINE.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_MAGAZINE)) { } else if (key == ModKeyMappings.EDIT_BARREL.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_BARREL)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(2)); ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(1));
editModelShake(); editModelShake();
} else if (key == ModKeyMappings.EDIT_STOCK.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_STOCK)) { } else if (key == ModKeyMappings.EDIT_MAGAZINE.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_MAGAZINE)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(3)); ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(2));
editModelShake(); editModelShake();
} else if (key == ModKeyMappings.EDIT_STOCK.getKey().getValue() && stack.is(ModTags.Items.CAN_APPLY_STOCK)) {
ModUtils.PACKET_HANDLER.sendToServer(new EditMessage(3));
editModelShake();
}
} }
} }
if (key == ModKeyMappings.SENSITIVITY_INCREASE.getKey().getValue()) { if (key == ModKeyMappings.SENSITIVITY_INCREASE.getKey().getValue()) {

View file

@ -93,6 +93,7 @@ public class ModKeyMappings {
event.register(EDIT_BARREL); event.register(EDIT_BARREL);
event.register(EDIT_MAGAZINE); event.register(EDIT_MAGAZINE);
event.register(EDIT_STOCK); event.register(EDIT_STOCK);
event.register(EDIT_GRIP);
} }
@Mod.EventBusSubscriber(value = Dist.CLIENT) @Mod.EventBusSubscriber(value = Dist.CLIENT)

View file

@ -334,9 +334,10 @@
"key.superbwarfare.config": "Open Config Screen", "key.superbwarfare.config": "Open Config Screen",
"key.superbwarfare.edit_mode": "Edit Weapon", "key.superbwarfare.edit_mode": "Edit Weapon",
"key.superbwarfare.edit_scope": "Switch Scope", "key.superbwarfare.edit_scope": "Switch Scope",
"key.superbwarfare.edit_barrel": "Switch Barrel / Grip(Sneak)", "key.superbwarfare.edit_barrel": "Switch Barrel",
"key.superbwarfare.edit_magazine": "Switch Magazine", "key.superbwarfare.edit_magazine": "Switch Magazine",
"key.superbwarfare.edit_stock": "Switch Stock", "key.superbwarfare.edit_stock": "Switch Stock",
"key.superbwarfare.edit_grip": "Switch Grip",
"effect.superbwarfare.shock": "Shock", "effect.superbwarfare.shock": "Shock",
"item.minecraft.potion.effect.superbwarfare_shock": "Potion of Shock", "item.minecraft.potion.effect.superbwarfare_shock": "Potion of Shock",

View file

@ -334,9 +334,10 @@
"key.superbwarfare.config": "打开配置界面", "key.superbwarfare.config": "打开配置界面",
"key.superbwarfare.edit_mode": "改装", "key.superbwarfare.edit_mode": "改装",
"key.superbwarfare.edit_scope": "切换瞄准镜", "key.superbwarfare.edit_scope": "切换瞄准镜",
"key.superbwarfare.edit_barrel": "切换枪管配件/握把(潜行)", "key.superbwarfare.edit_barrel": "切换枪管配件",
"key.superbwarfare.edit_magazine": "切换弹匣", "key.superbwarfare.edit_magazine": "切换弹匣",
"key.superbwarfare.edit_stock": "切换枪托", "key.superbwarfare.edit_stock": "切换枪托",
"key.superbwarfare.edit_grip": "切换握把",
"effect.superbwarfare.shock": "电击", "effect.superbwarfare.shock": "电击",
"item.minecraft.potion.effect.superbwarfare_shock": "电击药水", "item.minecraft.potion.effect.superbwarfare_shock": "电击药水",