From a94a8ffde86aa74d63d3a314c57fd7ba637518f4 Mon Sep 17 00:00:00 2001 From: Atsuishio <842960157@qq.com> Date: Mon, 14 Jul 2025 13:27:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E7=81=AB=E7=AE=AD=E7=82=AE?= =?UTF-8?q?=E9=9F=B3=E6=95=88=E5=92=8CUI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/overlay/Type63InfoOverlay.java | 121 +++++++++++++++--- .../entity/vehicle/Type63Entity.java | 17 ++- .../superbwarfare/init/ModSounds.java | 1 + .../assets/superbwarfare/lang/en_us.json | 3 + .../assets/superbwarfare/lang/zh_cn.json | 6 +- .../assets/superbwarfare/sounds.json | 12 +- .../superbwarfare/sounds/type63/rot1.ogg | Bin 6685 -> 5713 bytes .../superbwarfare/sounds/type63/rot2.ogg | Bin 8560 -> 0 bytes .../sounds/type63/type_63_reload.ogg | Bin 0 -> 16987 bytes 9 files changed, 135 insertions(+), 25 deletions(-) delete mode 100644 src/main/resources/assets/superbwarfare/sounds/type63/rot2.ogg create mode 100644 src/main/resources/assets/superbwarfare/sounds/type63/type_63_reload.ogg diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/Type63InfoOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/Type63InfoOverlay.java index 1cc47386f..81dea02d0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/Type63InfoOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/Type63InfoOverlay.java @@ -1,22 +1,33 @@ package com.atsuishio.superbwarfare.client.overlay; import com.atsuishio.superbwarfare.Mod; +import com.atsuishio.superbwarfare.component.ModDataComponents; import com.atsuishio.superbwarfare.entity.vehicle.Type63Entity; -import com.atsuishio.superbwarfare.tools.FormatTool; -import com.atsuishio.superbwarfare.tools.RangeTool; -import com.atsuishio.superbwarfare.tools.TraceTool; +import com.atsuishio.superbwarfare.item.FiringParameters; +import com.atsuishio.superbwarfare.tools.*; +import com.mojang.blaze3d.vertex.PoseStack; +import net.minecraft.ChatFormatting; +import net.minecraft.client.Camera; import net.minecraft.client.DeltaTracker; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiGraphics; import net.minecraft.client.gui.LayeredDraw; +import net.minecraft.commands.arguments.EntityAnchorArgument; +import net.minecraft.core.BlockPos; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; +import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.phys.Vec3; +import net.neoforged.neoforge.capabilities.Capabilities; import org.jetbrains.annotations.NotNull; import static com.atsuishio.superbwarfare.entity.vehicle.Type63Entity.SHOOT_PITCH; import static com.atsuishio.superbwarfare.entity.vehicle.Type63Entity.SHOOT_YAW; +import static com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity.getXRotFromVector; +import static com.atsuishio.superbwarfare.tools.RangeTool.calculateLaunchVector; public class Type63InfoOverlay implements LayeredDraw.Layer { @@ -26,23 +37,101 @@ public class Type63InfoOverlay implements LayeredDraw.Layer { public void render(GuiGraphics guiGraphics, @NotNull DeltaTracker deltaTracker) { Minecraft mc = Minecraft.getInstance(); Player player = mc.player; + Camera camera = mc.gameRenderer.getMainCamera(); + Vec3 cameraPos = camera.getPosition(); + Vec3 viewVec = new Vec3(camera.getLookVector()); + PoseStack poseStack = guiGraphics.pose(); + var screenWidth = guiGraphics.guiWidth(); var screenHeight = guiGraphics.guiHeight(); + var partialTick = deltaTracker.getGameTimeDeltaPartialTick(true); - Entity lookingEntity = null; + Entity lookingEntity; if (player != null) { - lookingEntity = TraceTool.findLookingEntity(player, 6); - } - if (lookingEntity instanceof Type63Entity type63Entity) { - guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.pitch") - .append(Component.literal(FormatTool.format2D(type63Entity.getEntityData().get(SHOOT_PITCH), "°"))), - screenWidth / 2 - 90, screenHeight / 2 - 26, -1, false); - guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.yaw") - .append(Component.literal(FormatTool.format2D(type63Entity.getEntityData().get(SHOOT_YAW), "°"))), - screenWidth / 2 - 90, screenHeight / 2 - 16, -1, false); - guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.range") - .append(Component.literal(FormatTool.format1D((int) RangeTool.getRange(type63Entity.getEntityData().get(SHOOT_PITCH), 10, 0.05), "m"))), - screenWidth / 2 - 90, screenHeight / 2 - 6, -1, false); + lookingEntity = TraceTool.findLookingEntity(player, player.entityInteractionRange()); + + if (lookingEntity instanceof Type63Entity type63Entity) { + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.pitch") + .append(Component.literal(FormatTool.format2D(type63Entity.getEntityData().get(SHOOT_PITCH), "°"))), + screenWidth / 2 - 130, screenHeight / 2 - 26, -1, false); + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.yaw") + .append(Component.literal(FormatTool.format2D(type63Entity.getEntityData().get(SHOOT_YAW), "°"))), + screenWidth / 2 - 130, screenHeight / 2 - 16, -1, false); + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.range") + .append(Component.literal(FormatTool.format1D((int) RangeTool.getRange(type63Entity.getEntityData().get(SHOOT_PITCH), 10, 0.05), "m"))), + screenWidth / 2 - 130, screenHeight / 2 - 6, -1, false); + + var itemHandler = type63Entity.getCapability(Capabilities.ItemHandler.ENTITY); + + // TODO 正确读取item + + for (int i = 0; i < type63Entity.barrel.length; i++) { + if (OBB.getLookingObb(player, player.entityInteractionRange()) == type63Entity.barrel[i]) { + ItemStack stack = itemHandler.getStackInSlot(i); + + Vec3 pos = new Vec3(type63Entity.barrel[i].center()); + Vec3 point = VectorUtil.worldToScreen(pos, cameraPos); + if (point == null) return; + + poseStack.pushPose(); + float x = (float) point.x; + float y = (float) point.y; + poseStack.translate(x, y, 0); + + String info = stack.getDisplayName().getString(); + int width = Minecraft.getInstance().font.width(info); + + guiGraphics.drawString(Minecraft.getInstance().font, Component.literal(stack.getDisplayName().getString()), + -width / 2, -4, -1, false); + + poseStack.popPose(); + + + } + } + + ItemStack stack = player.getOffhandItem(); + if (stack.getItem() instanceof FiringParameters) { + var parameters = stack.get(ModDataComponents.FIRING_PARAMETERS); + if (parameters == null) { + parameters = new FiringParameters.Parameters(new BlockPos(0, 0, 0)); + } + double targetX = parameters.pos().getX(); + double targetY = parameters.pos().getY() - 1; + double targetZ = parameters.pos().getZ(); + boolean isDepressed = parameters.isDepressed(); + + Vec3 targetPos = new Vec3(targetX, targetY, targetZ); + Vec3 launchVector = calculateLaunchVector(type63Entity.getShootPos(partialTick), targetPos, 10, -0.05, isDepressed); + + Vec3 vec3 = EntityAnchorArgument.Anchor.EYES.apply(lookingEntity); + double d0 = (targetPos.x - vec3.x) * 0.2; + double d2 = (targetPos.z - vec3.z) * 0.2; + double targetYaw = Mth.wrapDegrees((float) (Mth.atan2(d2, d0) * 57.2957763671875) - 90.0F); + + float angle = 0; + + if (launchVector != null) { + angle = (float) getXRotFromVector(launchVector); + } + + if (angle > -5 && angle < 60) { + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.target.pitch") + .append(Component.literal(FormatTool.format2D(angle, "°"))), + screenWidth / 2 + 90, screenHeight / 2 - 26, -1, false); + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.target.yaw") + .append(Component.literal(FormatTool.format2D(targetYaw, "°"))), + screenWidth / 2 + 90, screenHeight / 2 - 16, -1, false); + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.target_pos") + .append(Component.literal(FormatTool.format0D(targetX) + " " + FormatTool.format0D(targetY) + " " + FormatTool.format0D(targetZ))), + screenWidth / 2 + 90, screenHeight / 2 - 6, -1, false); + } else { + guiGraphics.drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.warn", lookingEntity.getDisplayName()).withStyle(ChatFormatting.RED), + screenWidth / 2 + 90, screenHeight / 2 - 26, -1, false); + } + } + } + } } } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java index 814ebce70..3ad769242 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Type63Entity.java @@ -58,6 +58,7 @@ public class Type63Entity extends ContainerMobileVehicleEntity implements GeoEnt public static final EntityDataAccessor SHOOT_PITCH = SynchedEntityData.defineId(Type63Entity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor SHOOT_YAW = SynchedEntityData.defineId(Type63Entity.class, EntityDataSerializers.FLOAT); + public static final EntityDataAccessor> LOADED_AMMO = SynchedEntityData.defineId(Type63Entity.class, ModSerializers.INT_LIST_SERIALIZER.get()); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); @@ -172,11 +173,14 @@ public class Type63Entity extends ContainerMobileVehicleEntity implements GeoEnt if (stack.getItem() instanceof MediumRocketItem) { for (int i = 0; i < this.barrel.length; i++) { - if (OBB.getLookingObb(player, player.entityInteractionRange()) == this.barrel[i] && items.get(i).isEmpty() && level() instanceof ServerLevel) { + if (OBB.getLookingObb(player, player.entityInteractionRange()) == this.barrel[i] && items.get(i).isEmpty() && level() instanceof ServerLevel serverLevel && cooldown == 0) { this.setItem(i, stack.copyWithCount(1)); if (!player.isCreative()) { stack.shrink(1); } + Vec3 vec3 = new Vec3(this.barrel[i].center()); + serverLevel.playSound(null, vec3.x, vec3.y, vec3.z, ModSounds.TYPE_63_RELOAD.get(), SoundSource.PLAYERS, 1f, random.nextFloat() * 0.1f + 0.9f); + cooldown = 5; setChanged(); } player.swing(InteractionHand.MAIN_HAND); @@ -215,8 +219,9 @@ public class Type63Entity extends ContainerMobileVehicleEntity implements GeoEnt if (level() instanceof ServerLevel serverLevel) { interactionTick++; interactionTick += 0.5; - if (tickCount % 2 == 0) { - serverLevel.playSound(null, vec3.x, vec3.y, vec3.z, ModSounds.HAND_WHEEL_ROT.get(), SoundSource.PLAYERS, 1f, random.nextFloat() * 0.1f + 0.9f); + if (cooldown == 0) { + cooldown = 6; + serverLevel.playSound(null, vec3.x, vec3.y, vec3.z, ModSounds.HAND_WHEEL_ROT.get(), SoundSource.PLAYERS, 1f, random.nextFloat() * 0.05f + 0.975f); } } } @@ -366,6 +371,12 @@ public class Type63Entity extends ContainerMobileVehicleEntity implements GeoEnt return new Vec3(rootPosition.x, rootPosition.y, rootPosition.z).vectorTo(new Vec3(targetPosition.x, targetPosition.y, targetPosition.z)); } + public Vec3 getShootPos(float pPartialTicks) { + Matrix4f transform = getBarrelTransform(pPartialTicks); + Vector4f rootPosition = transformPosition(transform, 0, 0.000625f, -0.44625f); + return new Vec3(rootPosition.x, rootPosition.y, rootPosition.z); + } + @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { } diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java index a6a4b101d..94a18b248 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java @@ -498,6 +498,7 @@ public class ModSounds { public static final DeferredHolder HAND_WHEEL_ROT = REGISTRY.register("hand_wheel_rot", () -> SoundEvent.createVariableRangeEvent(Mod.loc("hand_wheel_rot"))); public static final DeferredHolder MEDIUM_ROCKET_FIRE = REGISTRY.register("medium_rocket_fire", () -> SoundEvent.createVariableRangeEvent(Mod.loc("medium_rocket_fire"))); + public static final DeferredHolder TYPE_63_RELOAD = REGISTRY.register("ty63_reload", () -> SoundEvent.createVariableRangeEvent(Mod.loc("ty63_reload"))); } diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index acdf23fea..361bcbdb9 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -597,6 +597,9 @@ "tips.superbwarfare.mortar.target_pos.depressed_trajectory": "Depressed Trajectory", "tips.superbwarfare.mortar.target_pos.lofted_trajectory": "Lofted Trajectory", "tips.superbwarfare.mortar.warn": "%1$s cannot aim at this position", + "tips.superbwarfare.target.yaw": "Target Yaw: ", + "tips.superbwarfare.target.pitch": "Target Pitch: ", + "container.superbwarfare.reforging_table": "Gun Reforge Table", "container.superbwarfare.charging_station": "Charging Station", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index abfc64c38..c5d8d5a93 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -590,13 +590,15 @@ "tips.superbwarfare.target.damage": "伤害:%1$s 距离:%2$s", "tips.superbwarfare.dps_generator.dps": "DPS: %1$s", "tips.superbwarfare.mortar.range": "射程:", - "tips.superbwarfare.mortar.yaw": "水平朝向:", - "tips.superbwarfare.mortar.pitch": "俯仰角度:", + "tips.superbwarfare.mortar.yaw": "偏航角:", + "tips.superbwarfare.mortar.pitch": "俯仰角:", "tips.superbwarfare.mortar.target_pos": "目标坐标:", "tips.superbwarfare.mortar.target_pos.radius": "打击半径:%1$s", "tips.superbwarfare.mortar.target_pos.depressed_trajectory": "低伸弹道", "tips.superbwarfare.mortar.target_pos.lofted_trajectory": "传统弹道", "tips.superbwarfare.mortar.warn": "%1$s无法瞄准该位置", + "tips.superbwarfare.target.yaw": "目标偏航角: ", + "tips.superbwarfare.target.pitch": "目标俯仰角: ", "container.superbwarfare.reforging_table": "枪械重铸台", "container.superbwarfare.charging_station": "充电站", diff --git a/src/main/resources/assets/superbwarfare/sounds.json b/src/main/resources/assets/superbwarfare/sounds.json index c14e3ba19..3ed708aa4 100644 --- a/src/main/resources/assets/superbwarfare/sounds.json +++ b/src/main/resources/assets/superbwarfare/sounds.json @@ -3400,10 +3400,6 @@ { "name": "superbwarfare:type63/rot1", "stream": true - }, - { - "name": "superbwarfare:type63/rot2", - "stream": true } ] }, @@ -3426,5 +3422,13 @@ "stream": false } ] + }, + "ty63_reload": { + "sounds": [ + { + "name": "superbwarfare:type63/ty63_reload", + "stream": false + } + ] } } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/sounds/type63/rot1.ogg b/src/main/resources/assets/superbwarfare/sounds/type63/rot1.ogg index 08076e505d2e9adf75c916b1b84799aefa53be1e..8967fbe20d8483d234eefe305df95d653f21183f 100644 GIT binary patch literal 5713 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 diff --git a/src/main/resources/assets/superbwarfare/sounds/type63/type_63_reload.ogg b/src/main/resources/assets/superbwarfare/sounds/type63/type_63_reload.ogg new file mode 100644 index 0000000000000000000000000000000000000000..111dd33052ed24d99c23860f2914ab7203151f52 GIT binary patch literal 16987 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 literal 0 HcmV?d00001