尝试修复多人问题

This commit is contained in:
Atsuihsio 2024-06-18 01:12:36 +08:00
parent 0a8f3662ba
commit 83cfabe908
3 changed files with 20 additions and 13 deletions

View file

@ -2,15 +2,15 @@ package net.mcreator.target.client;
import com.mojang.blaze3d.platform.InputConstants;
import net.mcreator.target.TargetMod;
import net.mcreator.target.client.gui.RangeHelper;
import net.mcreator.target.entity.MortarEntity;
import net.mcreator.target.entity.Target1Entity;
import net.mcreator.target.entity.TargetEntity;
import net.mcreator.target.init.TargetModKeyMappings;
import net.mcreator.target.init.TargetModMobEffects;
import net.mcreator.target.init.TargetModTags;
import net.mcreator.target.init.*;
import net.mcreator.target.item.gun.GunItem;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.network.message.*;
import net.mcreator.target.tools.SoundTool;
import net.mcreator.target.tools.TraceTool;
import net.minecraft.client.KeyMapping;
import net.minecraft.client.Minecraft;
@ -19,6 +19,7 @@ import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.block.state.BlockState;
@ -122,13 +123,29 @@ public class ClickHandler {
if (tag.getDouble("min_zoom") != 0 && tag.getDouble("max_zoom") != 0) {
TargetMod.PACKET_HANDLER.sendToServer(new AdjustZoomFovMessage(scroll));
}
double min_zoom = tag.getDouble("min_zoom") - tag.getDouble("zoom");
double max_zoom = tag.getDouble("max_zoom") - tag.getDouble("zoom");
if (tag.getDouble("custom_zoom") > min_zoom && tag.getDouble("custom_zoom") < max_zoom) {
SoundTool.playLocalSound(player, TargetModSounds.ADJUST_FOV.get(), 1f, 0.7f);
}
event.setCanceled(true);
}
Entity looking = TraceTool.findLookingEntity(player, 6);
if (looking == null) return;
if (looking instanceof MortarEntity && player.isShiftKeyDown()){
TargetMod.PACKET_HANDLER.sendToServer(new AdjustMortarAngleMessage(scroll));
double angle = 0;
var range = -looking.getXRot();
if (looking instanceof LivingEntity living){
angle = living.getAttribute(TargetModAttributes.MORTAR_PITCH.get()).getBaseValue();
}
SoundTool.playLocalSound(player, TargetModSounds.ADJUST_FOV.get(), 1f, 0.7f);
player.displayClientMessage(Component.literal("Angle:" + new java.text.DecimalFormat("##.#").format(angle) + " Range:" + new java.text.DecimalFormat("##.#").format((int) RangeHelper.getRange(range)) + "M"), true);
event.setCanceled(true);
}

View file

@ -43,17 +43,10 @@ public class AdjustMortarAngleMessage {
Entity looking = TraceTool.findLookingEntity(player, 6);
if (looking == null) return;
double angle = 0;
if (looking instanceof LivingEntity living){
living.getAttribute(TargetModAttributes.MORTAR_PITCH.get()).setBaseValue(Mth.clamp(living.getAttribute(TargetModAttributes.MORTAR_PITCH.get()).getBaseValue() + message.scroll,20,89));
angle = living.getAttribute(TargetModAttributes.MORTAR_PITCH.get()).getBaseValue();
}
var range = -looking.getXRot();
player.displayClientMessage(Component.literal("Angle:" + new java.text.DecimalFormat("##.#").format(angle) + " Range:" + new java.text.DecimalFormat("##.#").format((int) RangeHelper.getRange(range)) + "M"), true);
SoundTool.playLocalSound(player, TargetModSounds.ADJUST_FOV.get(), 1f, 0.7f);
});
context.get().setPacketHandled(true);
}

View file

@ -43,9 +43,6 @@ public class AdjustZoomFovMessage {
double min_zoom = tag.getDouble("min_zoom") - tag.getDouble("zoom");
double max_zoom = tag.getDouble("max_zoom") - tag.getDouble("zoom");
tag.putDouble("custom_zoom", Mth.clamp(tag.getDouble("custom_zoom") + 0.5 * message.scroll, min_zoom,max_zoom));
if (tag.getDouble("custom_zoom") > min_zoom && tag.getDouble("custom_zoom") < max_zoom) {
SoundTool.playLocalSound(player, TargetModSounds.ADJUST_FOV.get(), 1f, 0.7f);
}
});
context.get().setPacketHandled(true);
}