重做灵敏度调整
This commit is contained in:
parent
fa9261ce21
commit
881afe900c
6 changed files with 60 additions and 13 deletions
|
@ -93,5 +93,6 @@ public class TargetMod {
|
|||
addNetworkMessage(ReloadMessage.class, ReloadMessage::buffer, ReloadMessage::new, ReloadMessage::handler);
|
||||
addNetworkMessage(PlayerGunKillMessage.class, PlayerGunKillMessage::encode, PlayerGunKillMessage::decode, PlayerGunKillMessage::handler, Optional.of(NetworkDirection.PLAY_TO_CLIENT));
|
||||
addNetworkMessage(ClientIndicatorMessage.class, ClientIndicatorMessage::encode, ClientIndicatorMessage::decode, ClientIndicatorMessage::handler, Optional.of(NetworkDirection.PLAY_TO_CLIENT));
|
||||
addNetworkMessage(SensitivityMessage.class, SensitivityMessage::encode, SensitivityMessage::decode, SensitivityMessage::handler);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import com.mojang.blaze3d.platform.InputConstants;
|
|||
import net.mcreator.target.TargetMod;
|
||||
import net.mcreator.target.init.TargetModTags;
|
||||
import net.mcreator.target.network.message.FireMessage;
|
||||
import net.mcreator.target.network.message.SensitivityMessage;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
|
@ -67,24 +68,23 @@ public class ClickHandler {
|
|||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public static void onKeyPressed(InputEvent.Key event) {
|
||||
public static void onSensitivityKeyPressed(InputEvent.Key event) {
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player == null) return;
|
||||
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
int button = event.getKey();
|
||||
var tag = stack.getOrCreateTag();
|
||||
|
||||
if (notInGame()) return;
|
||||
if (event.getAction() != InputConstants.PRESS) return;
|
||||
setKeyState(event.getKey(), 1);
|
||||
|
||||
|
||||
if (stack.is(TargetModTags.Items.GUN)){
|
||||
if (button == GLFW.GLFW_KEY_PAGE_UP) {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new FireMessage(0));
|
||||
tag.putDouble("sensitivity", tag.getDouble("sensitivity") + 1);
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new SensitivityMessage(true));
|
||||
}
|
||||
if (button == GLFW.GLFW_KEY_PAGE_DOWN) {
|
||||
tag.putDouble("sensitivity", tag.getDouble("sensitivity") - 1);
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new SensitivityMessage(false));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
package net.mcreator.target.event;
|
||||
|
||||
import net.mcreator.target.entity.Target1Entity;
|
||||
import net.mcreator.target.init.TargetModAttributes;
|
||||
import net.mcreator.target.init.TargetModMobEffects;
|
||||
import net.mcreator.target.init.TargetModTags;
|
||||
|
@ -9,7 +8,6 @@ import net.minecraft.client.CameraType;
|
|||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.multiplayer.ClientLevel;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.util.Mth;
|
||||
import net.minecraft.util.RandomSource;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
|
@ -58,11 +56,6 @@ public class ClientEventHandler {
|
|||
data.putDouble("crosshair", data.getDouble("crosshair") + 0.05 * Math.pow(spread - data.getDouble("crosshair"), 2) * times);
|
||||
}
|
||||
}
|
||||
if (entity instanceof Player player) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
var tag = stack.getOrCreateTag();
|
||||
player.displayClientMessage(Component.literal("Sen: " + tag.getDouble("sensitivity")), true);
|
||||
}
|
||||
}
|
||||
|
||||
private static void handleWeaponSway(LivingEntity entity) {
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
package net.mcreator.target.network.message;
|
||||
|
||||
import net.mcreator.target.init.TargetModTags;
|
||||
import net.minecraft.network.FriendlyByteBuf;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraftforge.network.NetworkEvent;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
public class SensitivityMessage {
|
||||
private final boolean add;
|
||||
|
||||
public SensitivityMessage(boolean add) {
|
||||
this.add = add;
|
||||
}
|
||||
|
||||
public static void encode(SensitivityMessage message, FriendlyByteBuf byteBuf) {
|
||||
byteBuf.writeBoolean(message.add);
|
||||
}
|
||||
|
||||
public static SensitivityMessage decode(FriendlyByteBuf byteBuf) {
|
||||
return new SensitivityMessage(byteBuf.readBoolean());
|
||||
}
|
||||
|
||||
public static void handler(SensitivityMessage message, Supplier<NetworkEvent.Context> context) {
|
||||
context.get().enqueueWork(() -> {
|
||||
ServerPlayer player = context.get().getSender();
|
||||
if (player == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(TargetModTags.Items.GUN)) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (message.add) {
|
||||
stack.getOrCreateTag().putInt("sensitivity", Math.min(10, stack.getOrCreateTag().getInt("sensitivity") + 1));
|
||||
} else {
|
||||
stack.getOrCreateTag().putInt("sensitivity", Math.max(-10, stack.getOrCreateTag().getInt("sensitivity") - 1));
|
||||
}
|
||||
player.displayClientMessage(Component.translatable("des.target.sensitivity", stack.getOrCreateTag().getInt("sensitivity")), true);
|
||||
});
|
||||
context.get().setPacketHandled(true);
|
||||
}
|
||||
|
||||
}
|
|
@ -197,6 +197,8 @@
|
|||
|
||||
"effect.target.shock": "Shock",
|
||||
|
||||
"des.target.sensitivity": "Current Sensitivity of This Gun: %1$s",
|
||||
|
||||
"commands.ammo.get": "Current %s ammo: %s",
|
||||
"commands.ammo.set": "Set %s ammo to %s for %s players",
|
||||
"commands.ammo.add": "Added %s ammo of amount %s for %s players",
|
||||
|
|
|
@ -197,6 +197,8 @@
|
|||
|
||||
"effect.target.shock": "麻痹",
|
||||
|
||||
"des.target.sensitivity": "当前枪械的灵敏度为:%1$s",
|
||||
|
||||
"commands.ammo.get": "当前%s弹药数量: %s",
|
||||
"commands.ammo.set": "为%3$s位玩家的%1$s弹药数量设置为%2$s",
|
||||
"commands.ammo.add": "为%3$s位玩家添加了%2$s发%1$s弹药",
|
||||
|
|
Loading…
Add table
Reference in a new issue