diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java index c45ec2dc0..0ec5169d9 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ClickHandler.java @@ -457,7 +457,7 @@ public class ClickHandler { if (ModList.get().isLoaded(CompatHolder.CLOTH_CONFIG)) { CompatHolder.hasMod(CompatHolder.CLOTH_CONFIG, () -> Minecraft.getInstance().setScreen(ClothConfigHelper.getConfigScreen(null))); } else { - player.displayClientMessage(Component.translatable("des.superbwarfare.no_cloth_config").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.no_cloth_config").withStyle(ChatFormatting.RED), true); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java index 3186f0e04..13f2dddc8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/CannonHudOverlay.java @@ -90,15 +90,15 @@ public class CannonHudOverlay { entityRange = player.distanceTo(living); } if (lookAtEntity) { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal(new DecimalFormat("##.#").format(entityRange) + "M " + lookingEntity.getDisplayName().getString())), w / 2 + 14, h / 2 - 20, -1, false); } else { if (blockRange > 511) { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal("---M")), w / 2 + 14, h / 2 - 20, -1, false); } else { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal(new DecimalFormat("##.#").format(blockRange) + "M")), w / 2 + 14, h / 2 - 20, -1, false); } @@ -113,7 +113,7 @@ public class CannonHudOverlay { RenderHelper.preciseBlit(event.getGuiGraphics(), ModUtils.loc("textures/screens/cannon/cannon_crosshair_notzoom.png"), k, l, 0, 0.0F, i, j, i, j); } - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.mortar.pitch") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.pitch") .append(Component.literal(new DecimalFormat("##.#").format(-cannon.getXRot()) + "°")), w / 2 + 14, h / 2 - 29, -1, false); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/DroneUIOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/DroneUIOverlay.java index 499d71994..7b049f320 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/DroneUIOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/DroneUIOverlay.java @@ -93,37 +93,37 @@ public class DroneUIOverlay { int color = -1; if (distance > MAX_DISTANCE - 48) { - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.warning"), + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.warning"), w / 2 - 18, h / 2 - 47, -65536, false); color = -65536; } - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.distance") + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.distance") .append(Component.literal(new DecimalFormat("##.#").format(distance) + "M")), w / 2 + 10, h / 2 + 33, color, false); - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.health") + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.health") .append(Component.literal(new DecimalFormat("##.#").format(entity.getHealth()) + "/" + new DecimalFormat("##.#").format(entity.getMaxHealth()))), w / 2 - 77, h / 2 + 33, -1, false); if (!entity.getEntityData().get(KAMIKAZE)) { - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.ammo") + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.ammo") .append(Component.literal(new DecimalFormat("##.#").format(entity.getEntityData().get(AMMO)) + " / 6")), w / 2 + 12, h / 2 - 37, -1, false); } else { - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.kamikaze"), + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.kamikaze"), w / 2 + 12, h / 2 - 37, -65536, false); } if (lookAtEntity) { - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.range") + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal(new DecimalFormat("##.#").format(entityRange) + "M " + lookingEntity.getDisplayName().getString())), w / 2 + 12, h / 2 - 28, color, false); } else { if (blockRange > 512) { - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.range") + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal("---M")), w / 2 + 12, h / 2 - 28, color, false); } else { - guiGraphics.drawString(mc.font, Component.translatable("des.superbwarfare.drone.range") + guiGraphics.drawString(mc.font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal(new DecimalFormat("##.#").format(blockRange) + "M")), w / 2 + 12, h / 2 - 28, color, false); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/MortarInfoOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/MortarInfoOverlay.java index db05df1aa..5ddd84069 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/MortarInfoOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/MortarInfoOverlay.java @@ -27,10 +27,10 @@ public class MortarInfoOverlay { lookingEntity = TraceTool.findLookingEntity(player, 6); } if (lookingEntity instanceof MortarEntity mortar) { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.mortar.yaw") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.yaw") .append(Component.literal(new DecimalFormat("##.#").format(mortar.getEntityData().get(MortarEntity.Y_ROT)) + "°")), w / 2 + 12, h / 2 - 36, -1, false); - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.mortar.pitch") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.mortar.pitch") .append(Component.literal(new DecimalFormat("##.#").format(mortar.getEntityData().get(MortarEntity.PITCH)) + "°")), w / 2 + 12, h / 2 - 28, -1, false); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/SpyglassRangeOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/SpyglassRangeOverlay.java index 9a5858da3..7d07756f2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/SpyglassRangeOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/SpyglassRangeOverlay.java @@ -39,15 +39,15 @@ public class SpyglassRangeOverlay { } if (lookAtEntity) { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal(new DecimalFormat("##.#").format(entityRange) + "M " + lookingEntity.getDisplayName().getString())), w / 2 + 12, h / 2 - 28, -1, false); } else { if (blockRange > 512) { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal("---M")), w / 2 + 12, h / 2 - 28, -1, false); } else { - event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("des.superbwarfare.drone.range") + event.getGuiGraphics().drawString(Minecraft.getInstance().font, Component.translatable("tips.superbwarfare.drone.range") .append(Component.literal(new DecimalFormat("##.#").format(blockRange) + "M")), w / 2 + 12, h / 2 - 28, -1, false); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientBocekImageTooltip.java b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientBocekImageTooltip.java index 2d38a34fc..4a7b70b4d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientBocekImageTooltip.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientBocekImageTooltip.java @@ -29,12 +29,12 @@ public class ClientBocekImageTooltip extends ClientGunImageTooltip { double total = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack); if (slug) { - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(total) + (TooltipTool.heBullet(stack) ? " + " + new DecimalFormat("##.#") .format(0.8 * total * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN)); } else { - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(total * 0.1) + " * 10").withStyle(ChatFormatting.GREEN)) .append(Component.literal(" / ").withStyle(ChatFormatting.RESET)) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientGunImageTooltip.java b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientGunImageTooltip.java index 6e26b8393..3f0025a82 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientGunImageTooltip.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientGunImageTooltip.java @@ -91,7 +91,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent { */ protected Component getDamageComponent() { double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack); - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + " + new DecimalFormat("##.#").format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN)); @@ -102,7 +102,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent { */ protected Component getRpmComponent() { if (this.stack.getItem() instanceof GunItem gunItem && gunItem.autoWeapon(this.stack)) { - return Component.translatable("des.superbwarfare.tips.rpm").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.rpm").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##").format(GunsTool.getGunIntTag(stack, "RPM", 0))) .withStyle(ChatFormatting.GREEN)); @@ -139,7 +139,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent { formatting = ChatFormatting.RED; } - return Component.translatable("des.superbwarfare.tips.level").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.level").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(level + "").withStyle(formatting).withStyle(ChatFormatting.BOLD)) .append(Component.literal("").withStyle(ChatFormatting.RESET)) @@ -151,7 +151,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent { */ protected Component getUpgradePointComponent() { int upgradePoint = Mth.floor(GunsTool.getGunDoubleTag(stack, "UpgradePoint", 0)); - return Component.translatable("des.superbwarfare.tips.upgrade_point").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.upgrade_point").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(String.valueOf(upgradePoint)).withStyle(ChatFormatting.WHITE).withStyle(ChatFormatting.BOLD)); } @@ -178,7 +178,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent { } double bypassRate = Math.max(GunsTool.getGunDoubleTag(stack, "BypassesArmor", 0) + perkBypassArmorRate, 0); - return Component.translatable("des.superbwarfare.tips.bypass").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.bypass").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.##").format(bypassRate * 100) + "%").withStyle(ChatFormatting.GOLD)); } @@ -188,7 +188,7 @@ public class ClientGunImageTooltip implements ClientTooltipComponent { */ protected Component getHeadshotComponent() { double headshot = GunsTool.getGunDoubleTag(stack, "Headshot", 0); - return Component.translatable("des.superbwarfare.tips.headshot").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.headshot").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(headshot) + "x").withStyle(ChatFormatting.AQUA)); } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientLauncherImageTooltip.java b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientLauncherImageTooltip.java index d62f97c33..6aca0bc4b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientLauncherImageTooltip.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientLauncherImageTooltip.java @@ -19,7 +19,7 @@ public class ClientLauncherImageTooltip extends ClientGunImageTooltip { double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack); double explosionDamage = GunsTool.getGunDoubleTag(stack, "ExplosionDamage", 0); - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN) .append(Component.literal("").withStyle(ChatFormatting.RESET)) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientSentinelImageTooltip.java b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientSentinelImageTooltip.java index 0e5802840..065eed372 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientSentinelImageTooltip.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientSentinelImageTooltip.java @@ -28,14 +28,14 @@ public class ClientSentinelImageTooltip extends ClientEnergyImageTooltip { double damage = (GunsTool.getGunDoubleTag(stack, "Damage", 0) + GunsTool.getGunDoubleTag(stack, "ChargedDamage", 0)) * TooltipTool.perkDamage(stack); - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + " + new DecimalFormat("##.#") .format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")) .withStyle(ChatFormatting.AQUA).withStyle(ChatFormatting.BOLD)); } else { double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack); - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? new DecimalFormat("##.#") .format(0.4 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN)); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientShotgunImageTooltip.java b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientShotgunImageTooltip.java index bd3620f05..44947ed93 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientShotgunImageTooltip.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/tooltip/ClientShotgunImageTooltip.java @@ -28,13 +28,13 @@ public class ClientShotgunImageTooltip extends ClientGunImageTooltip { if (slug) { double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * GunsTool.getGunIntTag(stack, "ProjectileAmount", 1) * TooltipTool.perkDamage(stack); - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage) + (TooltipTool.heBullet(stack) ? " + " + new DecimalFormat("##.#") .format(0.8 * damage * (1 + 0.1 * TooltipTool.heBulletLevel(stack))) : "")).withStyle(ChatFormatting.GREEN)); } else { double damage = GunsTool.getGunDoubleTag(stack, "Damage", 0) * TooltipTool.perkDamage(stack); - return Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + return Component.translatable("des.superbwarfare.guns.damage").withStyle(ChatFormatting.GRAY) .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage) + " * " + new DecimalFormat("##").format(GunsTool.getGunIntTag(stack, "ProjectileAmount", 1))).withStyle(ChatFormatting.GREEN)); } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/DroneEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/DroneEntity.java index 4c8e694f4..bd98cfb42 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/DroneEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/DroneEntity.java @@ -282,7 +282,7 @@ public class DroneEntity extends LivingEntity implements GeoEntity { if (!player.isCrouching()) { if (!this.entityData.get(LINKED)) { if (stack.getOrCreateTag().getBoolean("Linked")) { - player.displayClientMessage(Component.translatable("des.superbwarfare.monitor.monitor_already_linked").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.monitor.already_linked").withStyle(ChatFormatting.RED), true); return InteractionResult.sidedSuccess(this.level().isClientSide()); } @@ -290,18 +290,18 @@ public class DroneEntity extends LivingEntity implements GeoEntity { this.entityData.set(CONTROLLER, player.getStringUUID()); Monitor.link(stack, this.getStringUUID()); - player.displayClientMessage(Component.translatable("des.superbwarfare.monitor.linked").withStyle(ChatFormatting.GREEN), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.monitor.linked").withStyle(ChatFormatting.GREEN), true); if (player instanceof ServerPlayer serverPlayer) { serverPlayer.level().playSound(null, serverPlayer.getOnPos(), SoundEvents.ARROW_HIT_PLAYER, SoundSource.PLAYERS, 0.5F, 1); } } else { - player.displayClientMessage(Component.translatable("des.superbwarfare.monitor.already_linked").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.drone.already_linked").withStyle(ChatFormatting.RED), true); } } else { if (this.entityData.get(LINKED)) { if (!stack.getOrCreateTag().getBoolean("Linked")) { - player.displayClientMessage(Component.translatable("des.superbwarfare.monitor.already_linked").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.drone.already_linked").withStyle(ChatFormatting.RED), true); return InteractionResult.sidedSuccess(this.level().isClientSide()); } @@ -309,7 +309,7 @@ public class DroneEntity extends LivingEntity implements GeoEntity { this.entityData.set(LINKED, false); Monitor.disLink(stack); - player.displayClientMessage(Component.translatable("des.superbwarfare.monitor.unlinked").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.monitor.unlinked").withStyle(ChatFormatting.RED), true); if (player instanceof ServerPlayer serverPlayer) { serverPlayer.level().playSound(null, serverPlayer.getOnPos(), SoundEvents.ARROW_HIT_PLAYER, SoundSource.PLAYERS, 0.5F, 1); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/MortarEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/MortarEntity.java index 693b8732f..859a115c2 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/MortarEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/MortarEntity.java @@ -178,7 +178,7 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { player.swing(InteractionHand.MAIN_HAND); return InteractionResult.SUCCESS; } else { - player.displayClientMessage(Component.translatable("des.superbwarfare.mortar.warn").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.warn").withStyle(ChatFormatting.RED), true); return InteractionResult.FAIL; } } @@ -187,7 +187,7 @@ public class MortarEntity extends Entity implements GeoEntity, AnimatedEntity { player.swing(InteractionHand.OFF_HAND); return InteractionResult.SUCCESS; } else { - player.displayClientMessage(Component.translatable("des.superbwarfare.mortar.warn").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.warn").withStyle(ChatFormatting.RED), true); return InteractionResult.FAIL; } } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java index 596ef0fb0..7c1f55097 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/TargetEntity.java @@ -128,7 +128,7 @@ public class TargetEntity extends LivingEntity implements GeoEntity, AnimatedEnt if (sourceEntity == null) return; if (sourceEntity instanceof Player player) { - player.displayClientMessage(Component.translatable("des.superbwarfare.target.down", + player.displayClientMessage(Component.translatable("tips.superbwarfare.target.down", new java.text.DecimalFormat("##.#").format((entity.position()).distanceTo((sourceEntity.position()))) + "M"), true); SoundTool.playLocalSound(player, ModSounds.TARGET_DOWN.get(), 1, 1); targetEntity.entityData.set(DOWN_TIME, 40); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/ProjectileEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/ProjectileEntity.java index 32b8dd9e0..1a9a48ed4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/ProjectileEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/ProjectileEntity.java @@ -392,8 +392,8 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa } player.displayClientMessage(Component.literal(String.valueOf(score)) - .append(Component.translatable("des.superbwarfare.shoot.rings")) - .append(Component.literal(new DecimalFormat("##.#").format(distance) + "m")), false); + .append(Component.translatable("tips.superbwarfare.shoot.rings")) + .append(Component.literal(" " + new DecimalFormat("##.#").format(distance) + "m")), false); if (!this.shooter.level().isClientSide() && this.shooter instanceof ServerPlayer serverPlayer) { var holder = score == 10 ? Holder.direct(ModSounds.HEADSHOT.get()) : Holder.direct(ModSounds.INDICATION.get()); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java index b43b266f1..ece6dc63c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java @@ -351,7 +351,7 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, } if (this.getEnergy() < SHOOT_COST) { - player.displayClientMessage(Component.translatable("des.superbwarfare.annihilator.energy_not_enough").withStyle(ChatFormatting.RED), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.annihilator.energy_not_enough").withStyle(ChatFormatting.RED), true); return; } diff --git a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java index 8732fc51e..78de89a09 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/LivingEventHandler.java @@ -150,7 +150,7 @@ public class LivingEventHandler { damage = Math.max(damage - armorValue, 0); } - //计算防弹护具减伤 + // 计算防弹护具减伤 if (source.is(ModTags.DamageTypes.PROJECTILE) || source.is(DamageTypes.MOB_PROJECTILE)) { damage *= 1 - 0.8 * Mth.clamp(entity.getAttributeValue(ModAttributes.BULLET_RESISTANCE.get()), 0, 1); } @@ -167,8 +167,9 @@ public class LivingEventHandler { event.setAmount((float) damage); if (entity instanceof TargetEntity && sourceEntity instanceof Player player) { - player.displayClientMessage(Component.translatable("des.superbwarfare.target.damage", new DecimalFormat("##.##").format(damage), - new DecimalFormat("##.#").format(entity.position().distanceTo(sourceEntity.position())) + "M"), false); + player.displayClientMessage(Component.translatable("tips.superbwarfare.target.damage", + new DecimalFormat("##.##").format(damage), + new DecimalFormat("##.#").format(entity.position().distanceTo(sourceEntity.position())) + "m"), false); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/item/FiringParameters.java b/src/main/java/com/atsuishio/superbwarfare/item/FiringParameters.java index 275fb07c8..5cd268a89 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/FiringParameters.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/FiringParameters.java @@ -39,7 +39,7 @@ public class FiringParameters extends Item { @Override public void appendHoverText(ItemStack pStack, @Nullable Level pLevel, List pTooltipComponents, TooltipFlag pIsAdvanced) { - pTooltipComponents.add(Component.translatable("des.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY) + pTooltipComponents.add(Component.translatable("tips.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY) .append(Component.literal("[" + pStack.getOrCreateTag().getInt("TargetX") + "," + pStack.getOrCreateTag().getInt("TargetY") + "," + pStack.getOrCreateTag().getInt("TargetZ") + "]"))); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java b/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java index 360adfa44..520eeab55 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/Monitor.java @@ -110,7 +110,8 @@ public class Monitor extends Item { DroneEntity drone = EntityFindUtil.findDrone(player.level(), stack.getOrCreateTag().getString(LINKED_DRONE)); if (drone == null) return; - list.add(Component.translatable("des.superbwarfare.tips.distance", new DecimalFormat("##.#").format(player.distanceTo(drone))).withStyle(ChatFormatting.GRAY)); + list.add(Component.translatable("des.superbwarfare.monitor", + new DecimalFormat("##.#").format(player.distanceTo(drone)) + "m").withStyle(ChatFormatting.GRAY)); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/AdjustMortarAngleMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/AdjustMortarAngleMessage.java index 1e8ad5e0f..03069800c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/AdjustMortarAngleMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/AdjustMortarAngleMessage.java @@ -12,6 +12,7 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraftforge.network.NetworkEvent; +import java.text.DecimalFormat; import java.util.function.Supplier; import static com.atsuishio.superbwarfare.entity.MortarEntity.PITCH; @@ -49,11 +50,11 @@ public class AdjustMortarAngleMessage { angle = mortar.getEntityData().get(PITCH); } - player.displayClientMessage(Component.translatable("des.superbwarfare.mortar.angle", new java.text.DecimalFormat("##.##").format(angle), - new java.text.DecimalFormat("##.#").format((int) RangeHelper.getRange(angle)) + "M"), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.angle", + new DecimalFormat("##.##").format(angle) + "°", + new DecimalFormat("##.#").format((int) RangeHelper.getRange(angle)) + "m"), true); SoundTool.playLocalSound(player, ModSounds.ADJUST_FOV.get(), 1f, 0.7f); }); context.get().setPacketHandled(true); } - } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/DroneFireMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/DroneFireMessage.java index 2b478c530..504c6b515 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/DroneFireMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/DroneFireMessage.java @@ -66,7 +66,7 @@ public class DroneFireMessage { offStack.getOrCreateTag().putInt("TargetZ", (int) looking.z()); } - player.displayClientMessage(Component.translatable("des.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY) + player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY) .append(Component.literal("[" + offStack.getOrCreateTag().getInt("TargetX") + "," + offStack.getOrCreateTag().getInt("TargetY") + "," + offStack.getOrCreateTag().getInt("TargetZ") + "]")), true); diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/SensitivityMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/SensitivityMessage.java index 8bcb4d530..1e684944f 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/SensitivityMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/SensitivityMessage.java @@ -42,7 +42,7 @@ public class SensitivityMessage { } else { stack.getOrCreateTag().putInt("sensitivity", Math.max(-10, stack.getOrCreateTag().getInt("sensitivity") - 1)); } - player.displayClientMessage(Component.translatable("des.superbwarfare.sensitivity", stack.getOrCreateTag().getInt("sensitivity")), true); + player.displayClientMessage(Component.translatable("tips.superbwarfare.sensitivity", stack.getOrCreateTag().getInt("sensitivity")), true); }); context.get().setPacketHandled(true); } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/SetFiringParametersMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/SetFiringParametersMessage.java index 282a5179a..d240cb027 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/SetFiringParametersMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/SetFiringParametersMessage.java @@ -55,7 +55,7 @@ public class SetFiringParametersMessage { stack.getOrCreateTag().putInt("TargetZ", (int) looking.z()); } - player.displayClientMessage(Component.translatable("des.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY) + player.displayClientMessage(Component.translatable("tips.superbwarfare.mortar.target_pos").withStyle(ChatFormatting.GRAY) .append(Component.literal("[" + stack.getOrCreateTag().getInt("TargetX") + "," + stack.getOrCreateTag().getInt("TargetY") + "," + stack.getOrCreateTag().getInt("TargetZ") + "]")), true); diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 08d50e411..9642ae61b 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -47,13 +47,12 @@ "item.superbwarfare.mosin_nagant": "Mosin Nagant", "item.superbwarfare.javelin": "FGM-148 Javelin", - "des.superbwarfare.tips.damage": "Damage: ", - "des.superbwarfare.tips.level": "Level: ", - "des.superbwarfare.tips.bypass": "Armor Piercing: ", - "des.superbwarfare.tips.distance": "Drone Distance: %1$s M", - "des.superbwarfare.tips.upgrade_point": "Upgrade Point: ", - "des.superbwarfare.tips.rpm": "Rpm: ", - "des.superbwarfare.tips.headshot": "Headshot: ", + "des.superbwarfare.guns.damage": "Damage: ", + "des.superbwarfare.guns.level": "Level: ", + "des.superbwarfare.guns.bypass": "Armor Piercing: ", + "des.superbwarfare.guns.upgrade_point": "Upgrade Point: ", + "des.superbwarfare.guns.rpm": "Rpm: ", + "des.superbwarfare.guns.headshot": "Headshot: ", "item.superbwarfare.ammo_box": "Ammo Box", "des.superbwarfare.tips.rifle_ammo": "Storage Rifle Ammo: ", @@ -68,9 +67,6 @@ "des.superbwarfare.tips.ammo_type.sniper": "Sniper Ammo Chosen", "des.superbwarfare.use_tip.ammo_box": "When sneaking, left-click to switch ammo types, right-click to store that type of ammo. Right-click with out sneaking to take out the corresponding type of ammo ", - "des.superbwarfare.tips.shortcut_pack": "Really?", - "des.superbwarfare.use_tip.shortcut_pack": "Synthesize firearms and shortcut kits at the anvil for one upgrade point", - "item.superbwarfare.vector_blueprint": "VECTOR Blueprint", "item.superbwarfare.m_60_blueprint": "M60 Blueprint", "item.superbwarfare.hk_416_blueprint": "Hk-416 Blueprint", @@ -185,6 +181,7 @@ "item.superbwarfare.cell": "Cell", "item.superbwarfare.drone": "Drone", "item.superbwarfare.monitor": "Monitor", + "des.superbwarfare.monitor": "Drone Distance: %1$s", "item.superbwarfare.propeller": "Propeller", "item.superbwarfare.motor": "Motor", "item.superbwarfare.hand_grenade": "Hand Grenade", @@ -310,6 +307,8 @@ "item.superbwarfare.empty_perk": "Empty Perk", "item.superbwarfare.shortcut_pack": "Shortcut Pack", + "des.superbwarfare.tips.shortcut_pack": "Really?", + "des.superbwarfare.use_tip.shortcut_pack": "Synthesize firearms and shortcut kits at the anvil for one upgrade point", "perk.superbwarfare.tips": "[Perks]", "perk.superbwarfare.slot": "Type: ", @@ -407,31 +406,32 @@ "item.minecraft.splash_potion.effect.superbwarfare_long_shock": "Splash Potion of Shock", "item.minecraft.lingering_potion.effect.superbwarfare_long_shock": "Lingering Potion of Shock", - "commands.ammo.get": "Current %s ammo: %s", + "commands.ammo.get": "Current %1$s ammo: %2$s", "commands.ammo.set": "Set %s ammo to %s for %s players", "commands.ammo.add": "Added %s ammo of amount %s for %s players", + "commands.ammo.no_permission": "Permission denied", - "des.superbwarfare.sensitivity": "Current Sensitivity of This Gun: %1$s", - "des.superbwarfare.monitor.linked": "Connect!", - "des.superbwarfare.monitor.monitor_already_linked": "This monitor has been connected!", - "des.superbwarfare.monitor.already_linked": "This device has been connected!", - "des.superbwarfare.monitor.unlinked": "Disconnect!", - "des.superbwarfare.no_cloth_config": "您尚未安装 Cloth Config API,无法打开配置界面", - "des.superbwarfare.drone.distance": "DISTANCE:", - "des.superbwarfare.drone.health": "HEALTH:", - "des.superbwarfare.drone.ammo": "AMMO:", - "des.superbwarfare.drone.range": "RANGE:", - "des.superbwarfare.drone.kamikaze": "KAMIKAZE", - "des.superbwarfare.drone.warning": "WARNING!", - "des.superbwarfare.shoot.rings": "Rings ", - "des.superbwarfare.annihilator.energy_not_enough": "Energy is Not Enough", - "des.superbwarfare.target.down": "Target Down %1$s", - "des.superbwarfare.target.damage": "Damage: %1$s Distance: %2$s", - "des.superbwarfare.mortar.angle": "Angle: %1$s Range: %2$s", - "des.superbwarfare.mortar.yaw": "Yaw:", - "des.superbwarfare.mortar.pitch": "Pitch:", - "des.superbwarfare.mortar.target_pos": "Target Position:", - "des.superbwarfare.mortar.warn": "迫击炮无法瞄准该位置", + "tips.superbwarfare.sensitivity": "Current Sensitivity of This Gun: %1$s", + "tips.superbwarfare.monitor.linked": "Connect!", + "tips.superbwarfare.monitor.already_linked": "This monitor has been connected!", + "tips.superbwarfare.drone.already_linked": "This device has been connected!", + "tips.superbwarfare.monitor.unlinked": "Disconnect!", + "tips.superbwarfare.no_cloth_config": "您尚未安装 Cloth Config API,无法打开配置界面", + "tips.superbwarfare.drone.distance": "DISTANCE:", + "tips.superbwarfare.drone.health": "HEALTH:", + "tips.superbwarfare.drone.ammo": "AMMO:", + "tips.superbwarfare.drone.range": "RANGE:", + "tips.superbwarfare.drone.kamikaze": "KAMIKAZE", + "tips.superbwarfare.drone.warning": "WARNING!", + "tips.superbwarfare.shoot.rings": "Rings", + "tips.superbwarfare.annihilator.energy_not_enough": "Energy is Not Enough", + "tips.superbwarfare.target.down": "Target Down %1$s", + "tips.superbwarfare.target.damage": "Damage: %1$s Distance: %2$s", + "tips.superbwarfare.mortar.angle": "Angle: %1$s Range: %2$s", + "tips.superbwarfare.mortar.yaw": "Yaw:", + "tips.superbwarfare.mortar.pitch": "Pitch:", + "tips.superbwarfare.mortar.target_pos": "Target Position:", + "tips.superbwarfare.mortar.warn": "迫击炮无法瞄准该位置", "entity.minecraft.villager.superbwarfare.armory": "Armory", @@ -474,7 +474,6 @@ "des.superbwarfare.perk_slug": "Slug", "des.superbwarfare.tips.edit": "Press %1$s key to edit this weapon", - "commands.ammo.no_permission": "Permission denied", "des.superbwarfare.revolver.da": "DA", "des.superbwarfare.revolver.sa": "SA", "des.superbwarfare.tips.ammo_type.ap": "AP SHELL", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index e96608dea..e7b403fba 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -47,13 +47,12 @@ "item.superbwarfare.mosin_nagant": "莫辛纳甘", "item.superbwarfare.javelin": "FGM-148标枪导弹", - "des.superbwarfare.tips.upgrade_point": "升级点数: ", - "des.superbwarfare.tips.damage": "伤害: ", - "des.superbwarfare.tips.level": "等级: ", - "des.superbwarfare.tips.bypass": "护甲穿透: ", - "des.superbwarfare.tips.distance": "无人机距离你: %1$s 米", - "des.superbwarfare.tips.rpm": "射速: ", - "des.superbwarfare.tips.headshot": "爆头倍率: ", + "des.superbwarfare.guns.upgrade_point": "升级点数: ", + "des.superbwarfare.guns.damage": "伤害: ", + "des.superbwarfare.guns.level": "等级: ", + "des.superbwarfare.guns.bypass": "护甲穿透: ", + "des.superbwarfare.guns.rpm": "射速: ", + "des.superbwarfare.guns.headshot": "爆头倍率: ", "item.superbwarfare.ammo_box": "弹药盒", "des.superbwarfare.tips.rifle_ammo": "已存储的步枪弹药: ", @@ -68,9 +67,6 @@ "des.superbwarfare.tips.ammo_type.sniper": "已选择狙击弹药", "des.superbwarfare.use_tip.ammo_box": "潜行时,左击选择弹药类型,右击存入该类型的弹药,非潜行时右击取出对应类型的弹药", - "des.superbwarfare.tips.shortcut_pack": "真的吗?", - "des.superbwarfare.use_tip.shortcut_pack": "将枪械和捷径包在铁砧合成,可直接获得一个升级点数", - "item.superbwarfare.vector_blueprint": "短剑冲锋枪蓝图", "item.superbwarfare.m_60_blueprint": "M60通用机枪蓝图", "item.superbwarfare.hk_416_blueprint": "Hk-416突击步枪蓝图", @@ -185,6 +181,7 @@ "item.superbwarfare.cell": "电池", "item.superbwarfare.drone": "无人机", "item.superbwarfare.monitor": "遥控器", + "des.superbwarfare.monitor": "无人机距离你: %1$s", "item.superbwarfare.propeller": "螺旋桨", "item.superbwarfare.motor": "马达", "item.superbwarfare.hand_grenade": "M67手榴弹", @@ -310,6 +307,8 @@ "item.superbwarfare.empty_perk": "空白模组", "item.superbwarfare.shortcut_pack": "捷径包", + "des.superbwarfare.tips.shortcut_pack": "真的吗?", + "des.superbwarfare.use_tip.shortcut_pack": "将枪械和捷径包在铁砧合成,可直接获得一个升级点数", "perk.superbwarfare.tips": "[武器模组]", "perk.superbwarfare.slot": "类型: ", @@ -407,31 +406,32 @@ "item.minecraft.splash_potion.effect.superbwarfare_long_shock": "喷溅型电击药水", "item.minecraft.lingering_potion.effect.superbwarfare_long_shock": "滞留型电击药水", - "commands.ammo.get": "当前%s弹药数量: %s", + "commands.ammo.get": "当前%1$s弹药数量: %2$s", "commands.ammo.set": "为%3$s位玩家的%1$s弹药数量设置为%2$s", "commands.ammo.add": "为%3$s位玩家添加了%2$s发%1$s弹药", + "commands.ammo.no_permission": "权限不足", - "des.superbwarfare.sensitivity": "当前枪械的灵敏度为:%1$s", - "des.superbwarfare.monitor.linked": "连接成功!", - "des.superbwarfare.monitor.monitor_already_linked": "这个遥控器已连接到一个设备!", - "des.superbwarfare.monitor.already_linked": "这个设备已被连接!", - "des.superbwarfare.monitor.unlinked": "断开连接!", - "des.superbwarfare.no_cloth_config": "您尚未安装 Cloth Config API,无法打开配置界面", - "des.superbwarfare.drone.distance": "飞手距离:", - "des.superbwarfare.drone.health": "耐久值:", - "des.superbwarfare.drone.ammo": "弹药:", - "des.superbwarfare.drone.range": "测距:", - "des.superbwarfare.drone.kamikaze": "自爆模式", - "des.superbwarfare.drone.warning": "警告!", - "des.superbwarfare.shoot.rings": "环 ", - "des.superbwarfare.annihilator.energy_not_enough": "能量不足", - "des.superbwarfare.target.down": "目标倒下 %1$s", - "des.superbwarfare.target.damage": "伤害:%1$s 距离:%2$s", - "des.superbwarfare.mortar.angle": "角度:%1$s 射程:%2$s", - "des.superbwarfare.mortar.yaw": "水平朝向:", - "des.superbwarfare.mortar.pitch": "俯仰角度:", - "des.superbwarfare.mortar.target_pos": "目标坐标:", - "des.superbwarfare.mortar.warn": "迫击炮无法瞄准该位置", + "tips.superbwarfare.sensitivity": "当前枪械的灵敏度为:%1$s", + "tips.superbwarfare.monitor.linked": "连接成功!", + "tips.superbwarfare.monitor.already_linked": "这个遥控器已连接到一个设备!", + "tips.superbwarfare.drone.already_linked": "这个设备已被连接!", + "tips.superbwarfare.monitor.unlinked": "断开连接!", + "tips.superbwarfare.no_cloth_config": "您尚未安装 Cloth Config API,无法打开配置界面", + "tips.superbwarfare.drone.distance": "飞手距离:", + "tips.superbwarfare.drone.health": "耐久值:", + "tips.superbwarfare.drone.ammo": "弹药:", + "tips.superbwarfare.drone.range": "测距:", + "tips.superbwarfare.drone.kamikaze": "自爆模式", + "tips.superbwarfare.drone.warning": "警告!", + "tips.superbwarfare.shoot.rings": "环", + "tips.superbwarfare.annihilator.energy_not_enough": "能量不足", + "tips.superbwarfare.target.down": "目标倒下 %1$s", + "tips.superbwarfare.target.damage": "伤害:%1$s 距离:%2$s", + "tips.superbwarfare.mortar.angle": "角度:%1$s 射程:%2$s", + "tips.superbwarfare.mortar.yaw": "水平朝向:", + "tips.superbwarfare.mortar.pitch": "俯仰角度:", + "tips.superbwarfare.mortar.target_pos": "目标坐标:", + "tips.superbwarfare.mortar.warn": "迫击炮无法瞄准该位置", "entity.minecraft.villager.superbwarfare.armory": "军械师", @@ -474,7 +474,6 @@ "des.superbwarfare.perk_slug": "独头弹", "des.superbwarfare.tips.edit": "按下 %1$s 键进行改装", - "commands.ammo.no_permission": "权限不足", "des.superbwarfare.revolver.da": "双动", "des.superbwarfare.revolver.sa": "单动", "des.superbwarfare.tips.ammo_type.ap": "AP SHELL",