From 9e924a06021c790b04ec736a224239e3a75024df Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Thu, 13 Feb 2025 06:09:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BD=BD=E5=85=B7=E8=A1=80?= =?UTF-8?q?=E9=87=8FJade=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../compat/jade/SbwJadePlugin.java | 3 ++ .../jade/providers/VehicleHealthProvider.java | 34 +++++++++++++++++++ .../assets/superbwarfare/lang/en_us.json | 3 +- .../assets/superbwarfare/lang/zh_cn.json | 3 +- 4 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/VehicleHealthProvider.java 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 6a7a39b84..ea062a867 100644 --- a/src/main/java/com/atsuishio/superbwarfare/compat/jade/SbwJadePlugin.java +++ b/src/main/java/com/atsuishio/superbwarfare/compat/jade/SbwJadePlugin.java @@ -2,7 +2,9 @@ package com.atsuishio.superbwarfare.compat.jade; import com.atsuishio.superbwarfare.compat.jade.providers.EnergyVehicleProvider; +import com.atsuishio.superbwarfare.compat.jade.providers.VehicleHealthProvider; import com.atsuishio.superbwarfare.entity.vehicle.EnergyVehicleEntity; +import com.atsuishio.superbwarfare.entity.vehicle.VehicleEntity; import snownee.jade.api.IWailaClientRegistration; import snownee.jade.api.IWailaCommonRegistration; import snownee.jade.api.IWailaPlugin; @@ -18,6 +20,7 @@ public class SbwJadePlugin implements IWailaPlugin { @Override public void registerClient(IWailaClientRegistration registration) { + registration.registerEntityComponent(VehicleHealthProvider.INSTANCE, VehicleEntity.class); registration.registerEntityComponent(EnergyVehicleProvider.INSTANCE, EnergyVehicleEntity.class); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/VehicleHealthProvider.java b/src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/VehicleHealthProvider.java new file mode 100644 index 000000000..eb8db8764 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/compat/jade/providers/VehicleHealthProvider.java @@ -0,0 +1,34 @@ +package com.atsuishio.superbwarfare.compat.jade.providers; + +import com.atsuishio.superbwarfare.ModUtils; +import com.atsuishio.superbwarfare.entity.vehicle.VehicleEntity; +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; +import snownee.jade.impl.ui.HealthElement; + +public enum VehicleHealthProvider implements IEntityComponentProvider { + INSTANCE; + + private static final ResourceLocation ID = new ResourceLocation(ModUtils.MODID, "vehicle_health"); + + public void appendTooltip(ITooltip tooltip, EntityAccessor accessor, IPluginConfig config) { + // 对EntityHealthProvider的拙劣模仿 + + var vehicle = (VehicleEntity) accessor.getEntity(); + float health = vehicle.getHealth(); + float maxHealth = vehicle.getMaxHealth(); + tooltip.add(new HealthElement(maxHealth, health)); + } + + 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 726d2b823..a12827c6e 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -522,5 +522,6 @@ "jei.superbwarfare.ancient_cpu": "Mysterious ancient technology, can be found at ancient cities.", "jei.superbwarfare.charging_station": "Generates power by consuming fuel or food, and can also accept FE energy input. This block supplies FE energy to adjacent blocks, and can also charge rechargeable vehicles within range.", - "config.jade.plugin_superbwarfare.energy_vehicle": "Energy Vehicle" + "config.jade.plugin_superbwarfare.energy_vehicle": "Energy Vehicle", + "config.jade.plugin_superbwarfare.vehicle_health": "Vehicle Health" } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 092695168..cc4128ff5 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -522,5 +522,6 @@ "jei.superbwarfare.ancient_cpu": "神秘的古代科技,可以在古城找到。", "jei.superbwarfare.charging_station": "使用燃料或食物进行发电,也可以接收主动输入的FE能量。能够为相邻的方块提供FE能量,为周围一定范围内的可充能载具充能。", - "config.jade.plugin_superbwarfare.energy_vehicle": "能量载具" + "config.jade.plugin_superbwarfare.energy_vehicle": "能量载具", + "config.jade.plugin_superbwarfare.vehicle_health": "载具血量" } \ No newline at end of file