diff --git a/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java b/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java index 4a458a255..093bf5628 100644 --- a/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java +++ b/src/main/java/net/mcreator/superbwarfare/client/model/item/TaserItemModel.java @@ -19,8 +19,6 @@ import java.util.concurrent.atomic.AtomicInteger; public class TaserItemModel extends GeoModel { - public static final String TAG_POWER = "Power"; - @Override public ResourceLocation getAnimationResource(TaserItem animatable) { return new ResourceLocation(ModUtils.MODID, "animations/taser.animation.json"); diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java index 1b7c36a9b..39f7ddd75 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModItems.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModItems.java @@ -236,6 +236,9 @@ public class ModItems { /** * 单独注册,用于Tab图标,不要删 */ + + public static final RegistryObject EMPTY_PERK = PERKS.register("empty_perk", () -> new Item(new Item.Properties())); + public static final RegistryObject AP_BULLET = PERKS.register("ap_bullet", () -> new PerkItem(ModPerks.AP_BULLET)); public static void register(IEventBus bus) { diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java index b4974e438..cc789561b 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/JavelinItem.java @@ -16,6 +16,7 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; @@ -31,6 +32,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.TooltipFlag; import net.minecraft.world.level.Level; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; @@ -42,6 +44,7 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; +import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -222,6 +225,11 @@ public class JavelinItem extends GunItem implements GeoItem, AnimatedItem { return "FGM-148"; } + @Override + public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { + TooltipTool.addLauncherTips(list, stack); + } + @Override public boolean canApplyPerk(Perk perk) { return PerkHelper.LAUNCHER_PERKS.test(perk); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java index 081d128e5..423d73717 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/M79Item.java @@ -13,10 +13,12 @@ import net.mcreator.superbwarfare.perk.Perk; import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; +import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -28,10 +30,7 @@ import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.*; import net.minecraft.world.level.Level; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; @@ -43,6 +42,7 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; +import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -197,6 +197,11 @@ public class M79Item extends GunItem implements GeoItem, AnimatedItem { return "M79 LAUNCHER"; } + @Override + public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { + TooltipTool.addLauncherTips(list, stack); + } + @Override public boolean canApplyPerk(Perk perk) { return PerkHelper.LAUNCHER_PERKS.test(perk); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java index e8336ba82..eade4d378 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/launcher/RpgItem.java @@ -13,10 +13,12 @@ import net.mcreator.superbwarfare.perk.Perk; import net.mcreator.superbwarfare.perk.PerkHelper; import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.PoseTool; +import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -28,10 +30,7 @@ import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemDisplayContext; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.*; import net.minecraft.world.level.Level; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; @@ -43,6 +42,7 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; +import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -203,6 +203,11 @@ public class RpgItem extends GunItem implements GeoItem, AnimatedItem { return " RPG-7"; } + @Override + public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { + TooltipTool.addLauncherTips(list, stack); + } + @Override public boolean canApplyPerk(Perk perk) { return PerkHelper.LAUNCHER_PERKS.test(perk); diff --git a/src/main/java/net/mcreator/superbwarfare/tools/TooltipTool.java b/src/main/java/net/mcreator/superbwarfare/tools/TooltipTool.java index 37df979ab..6a2348100 100644 --- a/src/main/java/net/mcreator/superbwarfare/tools/TooltipTool.java +++ b/src/main/java/net/mcreator/superbwarfare/tools/TooltipTool.java @@ -202,6 +202,7 @@ public class TooltipTool { .append(Component.literal("").withStyle(ChatFormatting.RESET)) .append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN))); + addLevelTips(tooltip, stack); addPerkTips(tooltip, stack); stack.getCapability(ForgeCapabilities.ENERGY).ifPresent( @@ -209,6 +210,21 @@ public class TooltipTool { ); } + public static void addLauncherTips(List tooltip, ItemStack stack) { + tooltip.add(Component.literal("")); + + double damage = ItemNBTTool.getDouble(stack, "damage", 0) + * ItemNBTTool.getDouble(stack, "levelDamageMultiple", 1); + + tooltip.add(Component.translatable("des.superbwarfare.tips.damage").withStyle(ChatFormatting.GRAY) + .append(Component.literal("").withStyle(ChatFormatting.RESET)) + .append(Component.literal(new DecimalFormat("##.#").format(damage)).withStyle(ChatFormatting.GREEN))); + + addLevelTips(tooltip, stack); + addPerkTips(tooltip, stack); + + } + public static void addMonitorTips(List tooltip, String id) { if (id.equals("none")) return; diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 2a31df8c2..98b6b5b76 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -232,6 +232,8 @@ "item.superbwarfare.volt_overload": "Volt Overload", "des.superbwarfare.volt_overload": "Increases the shock damage of Taser Gun", + "item.superbwarfare.empty_perk": "Empty Perk", + "perk.superbwarfare.tips": "[Perks]", "perk.superbwarfare.slot": "Type: ", "perk.superbwarfare.slot_Ammo": "Bullet Perk", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 9d1c1d60f..4d630c2dd 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -237,6 +237,7 @@ "perk.superbwarfare.slot_Ammo": "子弹模组", "perk.superbwarfare.slot_Functional": "功能模组", "perk.superbwarfare.slot_Damage": "伤害模组", + "item.superbwarfare.empty_perk": "空白模组", "death.attack.gunfire": "%1$s被%2$s射爆了", "death.attack.gunfire.entity": "%1$s被%2$s射爆了", diff --git a/src/main/resources/assets/superbwarfare/models/item/empty_perk.json b/src/main/resources/assets/superbwarfare/models/item/empty_perk.json new file mode 100644 index 000000000..ece63f8c0 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/empty_perk.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/empty_perk" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/longer_wire.json b/src/main/resources/assets/superbwarfare/models/item/longer_wire.json new file mode 100644 index 000000000..8606841f9 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/longer_wire.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/longer_wire" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/monster_hunter.json b/src/main/resources/assets/superbwarfare/models/item/monster_hunter.json new file mode 100644 index 000000000..b5797b21d --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/monster_hunter.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/monster_hunter" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/super_recharge.json b/src/main/resources/assets/superbwarfare/models/item/super_recharge.json new file mode 100644 index 000000000..c19a9dec5 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/super_recharge.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/super_recharge" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/models/item/volt_overload.json b/src/main/resources/assets/superbwarfare/models/item/volt_overload.json new file mode 100644 index 000000000..a98980d14 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/models/item/volt_overload.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "superbwarfare:item/perk/volt_overload" + } +} \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/empty_perk.png b/src/main/resources/assets/superbwarfare/textures/item/perk/empty_perk.png new file mode 100644 index 000000000..af172e92f Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/perk/empty_perk.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/longer_wire.png b/src/main/resources/assets/superbwarfare/textures/item/perk/longer_wire.png new file mode 100644 index 000000000..061ca5c4f Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/perk/longer_wire.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/monster_hunter.png b/src/main/resources/assets/superbwarfare/textures/item/perk/monster_hunter.png new file mode 100644 index 000000000..00bb5f47d Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/perk/monster_hunter.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/super_recharge.png b/src/main/resources/assets/superbwarfare/textures/item/perk/super_recharge.png new file mode 100644 index 000000000..c192ec58a Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/perk/super_recharge.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/perk/volt_overload.png b/src/main/resources/assets/superbwarfare/textures/item/perk/volt_overload.png new file mode 100644 index 000000000..01bd2faf7 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/item/perk/volt_overload.png differ diff --git a/src/main/resources/data/superbwarfare/recipes/empty_perk_crafting.json b/src/main/resources/data/superbwarfare/recipes/empty_perk_crafting.json new file mode 100644 index 000000000..e968aeeac --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipes/empty_perk_crafting.json @@ -0,0 +1,24 @@ +{ + "type": "minecraft:crafting_shaped", + "category": "equipment", + "pattern": [ + "cbc", + "bab", + "cbc" + ], + "key": { + "a": { + "item": "minecraft:paper" + }, + "b": { + "item": "minecraft:lapis_lazuli" + }, + "c": { + "item": "minecraft:iron_ingot" + } + }, + "result": { + "item": "superbwarfare:empty_perk", + "count": 1 + } +} \ No newline at end of file