diff --git a/src/main/java/com/atsuishio/superbwarfare/compat/jade/SbwJadePlugin.java b/src/main/java/com/atsuishio/superbwarfare/compat/jade/SbwJadePlugin.java index b74b165a6..79ef3da1b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/compat/jade/SbwJadePlugin.java +++ b/src/main/java/com/atsuishio/superbwarfare/compat/jade/SbwJadePlugin.java @@ -3,10 +3,8 @@ package com.atsuishio.superbwarfare.compat.jade; import com.atsuishio.superbwarfare.block.ContainerBlock; import com.atsuishio.superbwarfare.block.VehicleDeployerBlock; import com.atsuishio.superbwarfare.block.entity.VehicleDeployerBlockEntity; -import com.atsuishio.superbwarfare.compat.jade.providers.C4InfoProvider; -import com.atsuishio.superbwarfare.compat.jade.providers.ContainerEntityProvider; -import com.atsuishio.superbwarfare.compat.jade.providers.VehicleDeployerProvider; -import com.atsuishio.superbwarfare.compat.jade.providers.VehicleHealthProvider; +import com.atsuishio.superbwarfare.compat.jade.providers.*; +import com.atsuishio.superbwarfare.entity.DPSGeneratorEntity; import com.atsuishio.superbwarfare.entity.projectile.C4Entity; import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity; import snownee.jade.api.IWailaClientRegistration; @@ -26,6 +24,7 @@ public class SbwJadePlugin implements IWailaPlugin { public void registerClient(IWailaClientRegistration registration) { registration.registerEntityComponent(VehicleHealthProvider.INSTANCE, VehicleEntity.class); registration.registerEntityComponent(C4InfoProvider.INSTANCE, C4Entity.class); + registration.registerEntityComponent(DPSGeneratorProvider.INSTANCE, DPSGeneratorEntity.class); registration.registerBlockComponent(ContainerEntityProvider.INSTANCE, ContainerBlock.class); registration.registerBlockComponent(VehicleDeployerProvider.INSTANCE, VehicleDeployerBlock.class); } diff --git a/src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/DPSGeneratorProvider.java b/src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/DPSGeneratorProvider.java new file mode 100644 index 000000000..7b0891bf0 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/DPSGeneratorProvider.java @@ -0,0 +1,36 @@ +package com.atsuishio.superbwarfare.compat.jade.providers; + +import com.atsuishio.superbwarfare.Mod; +import com.atsuishio.superbwarfare.entity.DPSGeneratorEntity; +import net.minecraft.ChatFormatting; +import net.minecraft.network.chat.Component; +import net.minecraft.resources.ResourceLocation; +import snownee.jade.api.EntityAccessor; +import snownee.jade.api.IEntityComponentProvider; +import snownee.jade.api.ITooltip; +import snownee.jade.api.config.IPluginConfig; + +public enum DPSGeneratorProvider implements IEntityComponentProvider { + INSTANCE; + + private static final ResourceLocation ID = Mod.loc("dps_generator"); + + public void appendTooltip(ITooltip tooltip, EntityAccessor accessor, IPluginConfig config) { + var generator = (DPSGeneratorEntity) accessor.getEntity(); + + var level = generator.getGeneratorLevel(); + var health = generator.getMaxHealth() * Math.pow(2, level); + + tooltip.add(Component.translatable("des.jade_plugin_superbwarfare.dps_generator.level", level).withStyle(ChatFormatting.AQUA)); + tooltip.add(Component.translatable("des.jade_plugin_superbwarfare.dps_generator.health", health).withStyle(ChatFormatting.GRAY)); + } + + public ResourceLocation getUid() { + return ID; + } + + public int getDefaultPriority() { + return -4501; + } +} + diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 67812801b..64266d4d6 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -616,6 +616,9 @@ "config.jade.plugin_superbwarfare.c4_info": "C4 Info", "des.jade_plugin_superbwarfare.c4.remote_control": "Remote Controlled", "des.jade_plugin_superbwarfare.c4.time_left": "Time Before Explosion: %1$ss", + "config.jade.plugin_superbwarfare.dps_generator": "DPS Generator Info", + "des.jade_plugin_superbwarfare.dps_generator.level": "Generator Level: %1$s", + "des.jade_plugin_superbwarfare.dps_generator.health": "Maximum Health: %1$s", "config.jade.plugin_superbwarfare.vehicle_deployer": "Vehicle Deployer", "superbwarfare.advancement.main.root": "Superb Warfare", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index b1d844725..5a36ec3b7 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -616,6 +616,9 @@ "config.jade.plugin_superbwarfare.c4_info": "C4信息", "des.jade_plugin_superbwarfare.c4.remote_control": "远程遥控", "des.jade_plugin_superbwarfare.c4.time_left": "爆炸剩余时间:%1$s秒", + "config.jade.plugin_superbwarfare.dps_generator": "DPS发电机信息", + "des.jade_plugin_superbwarfare.dps_generator.level": "发电机等级:%1$s", + "des.jade_plugin_superbwarfare.dps_generator.health": "当前最大血量:%1$s", "config.jade.plugin_superbwarfare.vehicle_deployer": "载具部署器", "superbwarfare.advancement.main.root": "卓越前线",