diff --git a/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java b/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java index 33e71dbc9..03f89b959 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/overlay/AmmoBarOverlay.java @@ -202,7 +202,7 @@ public class AmmoBarOverlay { ); // 渲染弹药类型 - String ammoName = getGunAmmoTypeString(stack); + String ammoName = gunItem.getAmmoDisplayName(stack); event.getGuiGraphics().drawString( Minecraft.getInstance().font, ammoName, @@ -449,42 +449,4 @@ public class AmmoBarOverlay { return "∞"; } - - // TODO i18n - private static String getGunAmmoTypeString(ItemStack stack) { - if (stack.getItem() == ModItems.BOCEK.get()) { - return "Arrow"; - } - if (stack.getItem() == ModItems.M_79.get() || stack.getItem() == ModItems.SECONDARY_CATACLYSM.get()) { - return "40mm Grenade"; - } - if (stack.getItem() == ModItems.RPG.get()) { - return "Yassin105 TBG"; - } - if (stack.getItem() == ModItems.JAVELIN.get()) { - return "Javelin Missile"; - } - if (stack.getItem() == ModItems.TASER.get()) { - return "Electrode Rod"; - } - if (stack.getItem() == ModItems.MINIGUN.get()) { - return "Rifle Ammo"; - } - if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) { - return "Rifle Ammo"; - } - if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) { - return "Handgun Ammo"; - } - if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) { - return "Shotgun Ammo"; - } - if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) { - return "Sniper Ammo"; - } - if (stack.is(ModTags.Items.USE_HEAVY_AMMO)) { - return "Heavy Ammo"; - } - return ""; - } } diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java index df567855e..6296bb6a5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/GunItem.java @@ -413,6 +413,28 @@ public abstract class GunItem extends Item implements CustomRendererItem { return 0; } + /** + * 右下角弹药显示名称 + */ + public String getAmmoDisplayName(ItemStack stack) { + if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) { + return "Rifle Ammo"; + } + if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) { + return "Handgun Ammo"; + } + if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) { + return "Shotgun Ammo"; + } + if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) { + return "Sniper Ammo"; + } + if (stack.is(ModTags.Items.USE_HEAVY_AMMO)) { + return "Heavy Ammo"; + } + return ""; + } + public enum FireMode { SEMI(1), BURST(2), diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java index eab342a2a..af0126afe 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/JavelinItem.java @@ -231,6 +231,11 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon { return true; } + @Override + public String getAmmoDisplayName(ItemStack stack) { + return "Javelin Missile"; + } + private void fire(Player player) { Level level = player.level(); ItemStack stack = player.getMainHandItem(); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java index 60fbfc532..6efc51781 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/M79Item.java @@ -164,6 +164,11 @@ public class M79Item extends GunItem implements GeoItem, SpecialFireWeapon { return true; } + @Override + public String getAmmoDisplayName(ItemStack stack) { + return "40mm Grenade"; + } + @Override public void fireOnPress(Player player, final CompoundTag tag) { ItemStack stack = player.getMainHandItem(); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java index f3ef43730..b6c60efaa 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/RpgItem.java @@ -50,6 +50,11 @@ import java.util.Set; public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon { + @Override + public String getAmmoDisplayName(ItemStack stack) { + return "Yassin105 TBG"; + } + private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static ItemDisplayContext transformType; diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java index fdac68992..289ddb855 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/launcher/SecondaryCataclysm.java @@ -254,6 +254,11 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW return FireMode.SEMI.flag; } + @Override + public String getAmmoDisplayName(ItemStack stack) { + return "40mm Grenade"; + } + @Override public void fireOnPress(Player player, final CompoundTag tag) { ItemStack stack = player.getMainHandItem(); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java index cf62e21d6..267515aff 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/BocekItem.java @@ -163,6 +163,10 @@ public class BocekItem extends GunItem implements GeoItem, SpecialFireWeapon { return true; } + @Override + public String getAmmoDisplayName(ItemStack stack) { + return "Arrow"; + } @Override public void fireOnRelease(Player player, final CompoundTag tag) { diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java index 4ea5040c5..2ac691374 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java @@ -223,6 +223,11 @@ public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon, En return true; } + @Override + public String getAmmoDisplayName(ItemStack stack) { + return "Electrode Rod"; + } + @Override public void fireOnPress(Player player, final CompoundTag tag) { ItemStack stack = player.getMainHandItem();