From 8a729db826ba79576ae92deb299f3189bbe4ef1f Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Thu, 8 Aug 2024 05:48:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E9=83=A8=E5=88=86=E9=99=84=E9=AD=94?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=BAperk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/LivingEventHandler.java | 22 +++++++++---------- .../event/ReloadEventHandler.java | 6 ++--- .../superbwarfare/init/ModEnchantments.java | 3 --- .../mcreator/superbwarfare/init/ModTabs.java | 10 ++++++++- .../assets/superbwarfare/lang/en_us.json | 11 +++++----- .../assets/superbwarfare/lang/zh_cn.json | 11 +++++----- 6 files changed, 32 insertions(+), 31 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java index 87c1938ca..e2a23ed6a 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/LivingEventHandler.java @@ -53,7 +53,7 @@ public class LivingEventHandler { } killIndication(event.getSource().getEntity()); - handleGunEnchantmentsWhenDeath(event); + handleGunPerksWhenDeath(event); handlePlayerKillEntity(event); } @@ -200,7 +200,7 @@ public class LivingEventHandler { newStack.getOrCreateTag().putBoolean("sentinel_is_charging", false); newStack.getOrCreateTag().putInt("sentinel_charge_time", 0); - int level = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.KILLING_TALLY.get(), newStack); + int level = PerkHelper.getItemPerkLevel(ModPerks.KILLING_TALLY.get(), newStack); if (level != 0) { newStack.getOrCreateTag().putInt("KillingTally", 0); } @@ -299,7 +299,7 @@ public class LivingEventHandler { } } - private static void handleGunEnchantmentsWhenDeath(LivingDeathEvent event) { + private static void handleGunPerksWhenDeath(LivingDeathEvent event) { DamageSource source = event.getSource(); Player attacker = null; @@ -320,7 +320,7 @@ public class LivingEventHandler { } if (DamageTypeTool.isGunDamage(source) || source.is(ModDamageTypes.PROJECTILE_BOOM)) { - handleClipEnchantments(stack); + handleClipPerks(stack); } if (DamageTypeTool.isGunDamage(source)) { @@ -328,8 +328,8 @@ public class LivingEventHandler { } } - private static void handleClipEnchantments(ItemStack stack) { - int healClipLevel = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.HEAL_CLIP.get(), stack); + private static void handleClipPerks(ItemStack stack) { + int healClipLevel = PerkHelper.getItemPerkLevel(ModPerks.HEAL_CLIP.get(), stack); if (healClipLevel != 0) { stack.getOrCreateTag().putInt("HealClipTime", 80 + healClipLevel * 20); } @@ -352,16 +352,16 @@ public class LivingEventHandler { } private static void handleGutshotStraightDamage(ItemStack stack, LivingHurtEvent event) { - int enchantmentLevel = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.GUTSHOT_STRAIGHT.get(), stack); - if (enchantmentLevel == 0) { + int level = PerkHelper.getItemPerkLevel(ModPerks.GUTSHOT_STRAIGHT.get(), stack); + if (level == 0) { return; } - event.setAmount(event.getAmount() * (1.15f + 0.05f * enchantmentLevel)); + event.setAmount(event.getAmount() * (1.15f + 0.05f * level)); } private static void handleKillingTallyDamage(ItemStack stack, LivingHurtEvent event) { - int level = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.KILLING_TALLY.get(), stack); + int level = PerkHelper.getItemPerkLevel(ModPerks.KILLING_TALLY.get(), stack); if (level == 0) { return; } @@ -375,7 +375,7 @@ public class LivingEventHandler { } private static void handleKillingTallyAddCount(ItemStack stack) { - int level = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.KILLING_TALLY.get(), stack); + int level = PerkHelper.getItemPerkLevel(ModPerks.KILLING_TALLY.get(), stack); if (level != 0) { stack.getOrCreateTag().putInt("KillingTally", Math.min(3, stack.getOrCreateTag().getInt("KillingTally") + 1)); } diff --git a/src/main/java/net/mcreator/superbwarfare/event/ReloadEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/ReloadEventHandler.java index 54eb4a7a4..b3edbc783 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/ReloadEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/ReloadEventHandler.java @@ -1,13 +1,11 @@ package net.mcreator.superbwarfare.event; import net.mcreator.superbwarfare.event.modevent.ReloadEvent; -import net.mcreator.superbwarfare.init.ModEnchantments; import net.mcreator.superbwarfare.init.ModPerks; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.perk.PerkHelper; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.enchantment.EnchantmentHelper; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; @@ -64,7 +62,7 @@ public class ReloadEventHandler { return; } - int healClipLevel = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.HEAL_CLIP.get(), stack); + int healClipLevel = PerkHelper.getItemPerkLevel(ModPerks.HEAL_CLIP.get(), stack); if (healClipLevel == 0) { healClipLevel = 1; } @@ -96,7 +94,7 @@ public class ReloadEventHandler { } private static void handleKillingTallyPre(ItemStack stack) { - int level = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.KILLING_TALLY.get(), stack); + int level = PerkHelper.getItemPerkLevel(ModPerks.KILLING_TALLY.get(), stack); if (level == 0) { return; } diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java b/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java index dde37a506..5b68efc5a 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModEnchantments.java @@ -15,8 +15,5 @@ public class ModEnchantments { public static final RegistryObject SUPER_RECHARGE = REGISTRY.register("super_recharge", SuperRecharge::new); public static final RegistryObject LONGER_WIRE = REGISTRY.register("longer_wire", LongerWire::new); public static final RegistryObject MONSTER_HUNTER = REGISTRY.register("monster_hunter", MonsterHunter::new); - public static final RegistryObject HEAL_CLIP = REGISTRY.register("heal_clip", HealClip::new); - public static final RegistryObject GUTSHOT_STRAIGHT = REGISTRY.register("gutshot_straight", GutshotStraight::new); - public static final RegistryObject KILLING_TALLY = REGISTRY.register("killing_tally", KillingTally::new); public static final RegistryObject FOURTH_TIMES_CHARM = REGISTRY.register("fourth_times_charm", FourthTimesCharm::new); } diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java index 5e3f2c637..4eb2586a3 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModTabs.java @@ -55,11 +55,19 @@ public class ModTabs { ) .build()); + public static final RegistryObject PERK_TAB = TABS.register("perk", + () -> CreativeModeTab.builder() + .title(Component.translatable("item_group.superbwarfare.perk")) + .icon(() -> new ItemStack(ModItems.TRACHELIUM_BLUEPRINT.get())) + .withTabsBefore(GUN_TAB.getKey()) + .displayItems((param, output) -> ModItems.PERKS.getEntries().forEach(registryObject -> output.accept(registryObject.get()))) + .build()); + public static final RegistryObject AMMO_TAB = TABS.register("ammo", () -> CreativeModeTab.builder() .title(Component.translatable("item_group.superbwarfare.ammo")) .icon(() -> new ItemStack(ModItems.SHOTGUN_AMMO_BOX.get())) - .withTabsBefore(GUN_TAB.getKey()) + .withTabsBefore(PERK_TAB.getKey()) .displayItems((param, output) -> ModItems.AMMO.getEntries().forEach(registryObject -> output.accept(registryObject.get()))) .build()); diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 095c70903..13f5ceb10 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -1,5 +1,6 @@ { "item_group.superbwarfare.guns": "Superb Warfare Guns", + "item_group.superbwarfare.perk": "Superb Warfare Perks", "item_group.superbwarfare.item": "Superb Warfare Items", "item_group.superbwarfare.block": "Superb Warfare Blocks", "item_group.superbwarfare.ammo": "Superb Warfare Ammo", @@ -179,6 +180,10 @@ "des.superbwarfare.kill_clip": "Increases the damage of weapon after dealing a final blow", "item.superbwarfare.heal_clip": "Heal Clip", "des.superbwarfare.heal_clip": "Reloading after dealing a final blow will heal you and your nearby allies", + "item.superbwarfare.killing_tally": "Killing Tally", + "des.superbwarfare.killing_tally": "Kill increases the weapon's damage until it is stowed or reloaded", + "item.superbwarfare.gutshot_straight": "Gutshot Straight", + "des.superbwarfare.gutshot_straight": "Aiming down sights increases body shot damage", "perk.superbwarfare.tips": "[Perks]", "perk.superbwarfare.slot": "Type: ", @@ -268,12 +273,6 @@ "enchantment.superbwarfare.longer_wire.desc": "Increases the range of TaserGun", "enchantment.superbwarfare.monster_hunter": "Monster Hunter", "enchantment.superbwarfare.monster_hunter.desc": "Increases bullet damage against monsters", - "enchantment.superbwarfare.heal_clip": "Heal Clip", - "enchantment.superbwarfare.heal_clip.desc": "Reloading after dealing a final blow will heal you and your nearby allies", - "enchantment.superbwarfare.gutshot_straight": "Gutshot Straight", - "enchantment.superbwarfare.gutshot_straight.desc": "Aiming down sights increases body shot damage", - "enchantment.superbwarfare.killing_tally": "Killing Tally", - "enchantment.superbwarfare.killing_tally.desc": "Kill increases the weapon's damage until it is stowed or reloaded", "enchantment.superbwarfare.fourth_times_charm": "Fourth Time's The Charm", "enchantment.superbwarfare.fourth_times_charm.desc": "Rapidly landing precision hits will return two rounds to the magazine", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index cfe180f93..9ff8cb105 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -1,5 +1,6 @@ { "item_group.superbwarfare.guns": "卓越前线:枪械", + "item_group.superbwarfare.perk": "卓越前线:模组", "item_group.superbwarfare.item": "卓越前线:物品", "item_group.superbwarfare.block": "卓越前线:方块", "item_group.superbwarfare.ammo": "卓越前线:弹药", @@ -179,6 +180,10 @@ "des.superbwarfare.kill_clip": "完成击杀后填装可提升武器伤害", "item.superbwarfare.heal_clip": "治疗弹匣", "des.superbwarfare.heal_clip": "最后一击后短时间内填装,可治疗自身和附近队友", + "item.superbwarfare.killing_tally": "击杀记录", + "des.superbwarfare.killing_tally": "完成击杀可提高此武器的伤害,效果持续至切换或填装武器", + "item.superbwarfare.gutshot_straight": "直击要害", + "des.superbwarfare.gutshot_straight": "瞄准时增加身体射击伤害", "perk.superbwarfare.tips": "[武器模组]", "perk.superbwarfare.slot": "类型: ", @@ -268,12 +273,6 @@ "enchantment.superbwarfare.longer_wire.desc": "增加泰瑟枪的射程", "enchantment.superbwarfare.monster_hunter": "怪物猎人", "enchantment.superbwarfare.monster_hunter.desc": "增加对怪物的子弹伤害", - "enchantment.superbwarfare.heal_clip": "治疗弹匣", - "enchantment.superbwarfare.heal_clip.desc": "最后一击后短时间内填装,可治疗自身和附近队友", - "enchantment.superbwarfare.gutshot_straight": "直击要害", - "enchantment.superbwarfare.gutshot_straight.desc": "瞄准时增加身体射击伤害", - "enchantment.superbwarfare.killing_tally": "击杀记录", - "enchantment.superbwarfare.killing_tally.desc": "完成击杀可提高此武器的伤害,效果持续至切换或填装武器", "enchantment.superbwarfare.fourth_times_charm": "事不过四", "enchantment.superbwarfare.fourth_times_charm.desc": "快速精准命中目标会向弹匣中返还两枚弹药",