From a8acf1fdf8357efa1200c636eefbfc4a33e913d1 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Thu, 8 May 2025 18:40:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=89=8B=E5=86=8C=E5=90=88?= =?UTF-8?q?=E6=88=90=E6=96=B9=E5=BC=8F=EF=BC=8C=E6=B7=BB=E5=8A=A0lav?= =?UTF-8?q?=E6=96=87=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/server/VehicleConfig.java | 8 ++++-- .../entity/vehicle/Lav150Entity.java | 3 ++- .../vehicle/weapon/ProjectileWeapon.java | 5 ++++ .../assets/superbwarfare/lang/en_us.json | 7 ++++- .../assets/superbwarfare/lang/zh_cn.json | 9 +++++-- .../en_us/entries/vehicle/lav_150.json | 26 +++++++++++++++++++ .../superb_warfare_manual_crafting.json | 12 +++++++++ 7 files changed, 64 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/assets/superbwarfare/patchouli_books/superb_warfare_manual/en_us/entries/vehicle/lav_150.json create mode 100644 src/main/resources/data/superbwarfare/recipe/superb_warfare_manual_crafting.json diff --git a/src/main/java/com/atsuishio/superbwarfare/config/server/VehicleConfig.java b/src/main/java/com/atsuishio/superbwarfare/config/server/VehicleConfig.java index 33e5e1a1a..3c990167c 100644 --- a/src/main/java/com/atsuishio/superbwarfare/config/server/VehicleConfig.java +++ b/src/main/java/com/atsuishio/superbwarfare/config/server/VehicleConfig.java @@ -72,6 +72,7 @@ public class VehicleConfig { public static ModConfigSpec.IntValue LAV_150_CANNON_DAMAGE; public static ModConfigSpec.IntValue LAV_150_CANNON_EXPLOSION_DAMAGE; public static ModConfigSpec.DoubleValue LAV_150_CANNON_EXPLOSION_RADIUS; + public static ModConfigSpec.DoubleValue LAV_150_MACHINE_GUN_DAMAGE; public static ModConfigSpec.IntValue TOM_6_HP; public static ModConfigSpec.IntValue TOM_6_MAX_ENERGY; @@ -313,12 +314,15 @@ public class VehicleConfig { builder.comment("The cannon damage of LAV-150"); LAV_150_CANNON_DAMAGE = builder.defineInRange("lav_150_cannon_damage", 45, 1, 10000000); - builder.comment("The rocket explosion damage of LAV-150"); + builder.comment("The cannon explosion damage of LAV-150"); LAV_150_CANNON_EXPLOSION_DAMAGE = builder.defineInRange("lav_150_cannon_explosion_damage", 12, 1, 10000000); - builder.comment("The rocket explosion radius of LAV-150"); + builder.comment("The cannon explosion radius of LAV-150"); LAV_150_CANNON_EXPLOSION_RADIUS = builder.defineInRange("lav_150_cannon_explosion_radius", 4d, 1d, 10000000d); + builder.comment("The machine gun damage of LAV-150"); + LAV_150_MACHINE_GUN_DAMAGE = builder.defineInRange("lav_150_machine_gun_damage", 9.5, 1d, 10000000d); + builder.pop(); builder.push("Tom-6"); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java index cd1ed7fd1..d7e569a71 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java @@ -64,6 +64,7 @@ import java.util.Comparator; import static com.atsuishio.superbwarfare.tools.ParticleTool.sendParticle; public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEntity, LandArmorEntity, WeaponVehicleEntity { + private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public Lav150Entity(EntityType type, Level world) { @@ -90,7 +91,7 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt .sound3pFar(ModSounds.LAV_CANNON_FAR.get()) .sound3pVeryFar(ModSounds.LAV_CANNON_VERYFAR.get()), new ProjectileWeapon() - .damage(9.5f) + .damage(VehicleConfig.LAV_150_MACHINE_GUN_DAMAGE.get()) .headShot(2) .zoom(false) .sound(ModSounds.INTO_CANNON.get()) diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/ProjectileWeapon.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/ProjectileWeapon.java index 1954ab7d3..194575bfc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/ProjectileWeapon.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/ProjectileWeapon.java @@ -19,6 +19,11 @@ public class ProjectileWeapon extends VehicleWeapon { return this; } + public ProjectileWeapon damage(double damage) { + this.damage = (float) damage; + return this; + } + public ProjectileWeapon bypassArmorRate(float bypassArmorRate) { this.bypassArmorRate = bypassArmorRate; return this; diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index 3cbc15d52..5aae16dea 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -660,5 +660,10 @@ "superbwarfare.entry.vehicle.control": "载具驾驶", "superbwarfare.page.vehicle.control1": "$(o)“司机一定要会开车!”$()$(br)——作者$(p)本章节会对卓越前线的载具操作进行简单的介绍,让你了解如何驾驶载具。", "superbwarfare.page.vehicle.control2": "$(l)基础操作:$()$(p)$(thing)$(k:key.use)$() - 上车$(br)$(thing)$(k:key.superbwarfare.dismount)$() - 离开载具,离开移动中的载具需要双击此按键$(br)$(thing)$(k:key.forward)$() - 油门/前进$(br)$(thing)$(k:key.back)$() - 刹车/后退$(br)$(thing)$(k:key.left) / $(k:key.right)$() - 转向/滚转$(br)$(thing)$(k:key.jump)$() - 刹车$(br)$(thing)$(k:key.inventory)$() - 打开载具物品栏$(p)对于可以换座位的载具:$(br)$(thing)$(k:key.sneak) + $(k:key.hotbar.1) ~ $(k:key.hotbar.9)$() - 更换座位", - "superbwarfare.page.vehicle.control3": "$(l)武器操作:$()$(p)$(thing)$(k:key.superbwarfare.fire)$() - 开火$(br)$(thing)$(k:key.superbwarfare.hold_zoom) / $(k:key.superbwarfare.switch_zoom)$() - 瞄准$(br)$(thing)滚轮切换 / $(k:key.hotbar.1) ~ $(k:key.hotbar.9)$() - 切换武器$(p)部分载具可用功能:$(br)$(thing)$(k:key.superbwarfare.release_decoy)$() - 释放诱饵/烟雾$(br)$(thing)$(k:key.superbwarfare.free_camera)$() - 切换自由视角$(br)$(thing)$(k:key.jump)$() - 投弹" + "superbwarfare.page.vehicle.control3": "$(l)武器操作:$()$(p)$(thing)$(k:key.superbwarfare.fire)$() - 开火$(br)$(thing)$(k:key.superbwarfare.hold_zoom) / $(k:key.superbwarfare.switch_zoom)$() - 瞄准$(br)$(thing)滚轮切换 / $(k:key.hotbar.1) ~ $(k:key.hotbar.9)$() - 切换武器$(p)部分载具可用功能:$(br)$(thing)$(k:key.superbwarfare.release_decoy)$() - 释放诱饵/烟雾$(br)$(thing)$(k:key.superbwarfare.free_camera)$() - 切换自由视角$(br)$(thing)$(k:key.jump)$() - 投弹", + "superbwarfare.entry.vehicle.lav_150": "LAV-150 轮式步兵战车", + "superbwarfare.page.vehicle.lav_1501": "$(thing)LAV-150$()是一款轻型步兵战车,可搭载5人,具备浮渡能力。$(p)战车搭载了能够干扰锁定的烟雾,每隔一段时间自动补充。", + "superbwarfare.page.vehicle.lav_1502": "需要至少 5 x 5 x 4 的空间放置。", + "superbwarfare.page.vehicle.lav_1503": "$(l)基础属性:$()$(p)耐久值 - 250$(br)最大乘员数 - 5$(br)爬坡高度 - 1.5m$(br)最大能量 - 5,000,000FE$(br)能耗 - 64FE/tick$(br)封闭载具", + "superbwarfare.page.vehicle.lav_1504": "$(l)武器属性:$()$(p)1号位:$(p)(1) 20mm机炮$(br)射速 - 300RPM$(br)伤害 - 45$(br)弹药 - $(item)小口径炮弹$()$(p)(2) 7.62mm机枪$(br)射速 - 600RPM$(br)伤害 - 9.5$(br)弹药 - $(item)步枪弹药$()" } \ 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 80ce02a37..98b98aa41 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -452,7 +452,7 @@ "entity.superbwarfare.swarm_drone": "蜂群无人机", "entity.superbwarfare.smoke_decoy": "烟雾", "entity.superbwarfare.hpj_11": "H/PJ-11近防炮", - "entity.superbwarfare.a_10a": "A-10“雷电Ⅱ”攻击机", + "entity.superbwarfare.a_10a": "A-10 “雷电II” 攻击机", "key.categories.superbwarfare": "卓越前线", "key.superbwarfare.hold_zoom": "瞄准(按住)", @@ -660,5 +660,10 @@ "superbwarfare.entry.vehicle.control": "载具驾驶", "superbwarfare.page.vehicle.control1": "$(o)“司机一定要会开车!”$()$(br)——作者$(p)本章节会对卓越前线的载具操作进行简单的介绍,让你了解如何驾驶载具。", "superbwarfare.page.vehicle.control2": "$(l)基础操作:$()$(p)$(thing)$(k:key.use)$() - 上车$(br)$(thing)$(k:key.superbwarfare.dismount)$() - 离开载具,离开移动中的载具需要双击此按键$(br)$(thing)$(k:key.forward)$() - 油门/前进$(br)$(thing)$(k:key.back)$() - 刹车/后退$(br)$(thing)$(k:key.left) / $(k:key.right)$() - 转向/滚转$(br)$(thing)$(k:key.jump)$() - 刹车$(br)$(thing)$(k:key.inventory)$() - 打开载具物品栏$(p)对于可以换座位的载具:$(br)$(thing)$(k:key.sneak) + $(k:key.hotbar.1) ~ $(k:key.hotbar.9)$() - 更换座位", - "superbwarfare.page.vehicle.control3": "$(l)武器操作:$()$(p)$(thing)$(k:key.superbwarfare.fire)$() - 开火$(br)$(thing)$(k:key.superbwarfare.hold_zoom) / $(k:key.superbwarfare.switch_zoom)$() - 瞄准$(br)$(thing)滚轮切换 / $(k:key.hotbar.1) ~ $(k:key.hotbar.9)$() - 切换武器$(p)部分载具可用功能:$(br)$(thing)$(k:key.superbwarfare.release_decoy)$() - 释放诱饵/烟雾$(br)$(thing)$(k:key.superbwarfare.free_camera)$() - 切换自由视角$(br)$(thing)$(k:key.jump)$() - 投弹" + "superbwarfare.page.vehicle.control3": "$(l)武器操作:$()$(p)$(thing)$(k:key.superbwarfare.fire)$() - 开火$(br)$(thing)$(k:key.superbwarfare.hold_zoom) / $(k:key.superbwarfare.switch_zoom)$() - 瞄准$(br)$(thing)滚轮切换 / $(k:key.hotbar.1) ~ $(k:key.hotbar.9)$() - 切换武器$(p)部分载具可用功能:$(br)$(thing)$(k:key.superbwarfare.release_decoy)$() - 释放诱饵/烟雾$(br)$(thing)$(k:key.superbwarfare.free_camera)$() - 切换自由视角$(br)$(thing)$(k:key.jump)$() - 投弹", + "superbwarfare.entry.vehicle.lav_150": "LAV-150 轮式步兵战车", + "superbwarfare.page.vehicle.lav_1501": "$(thing)LAV-150$()是一款轻型步兵战车,可搭载5人,具备浮渡能力。$(p)战车搭载了能够干扰锁定的烟雾,每隔一段时间自动补充。", + "superbwarfare.page.vehicle.lav_1502": "需要至少 5 x 5 x 4 的空间放置。", + "superbwarfare.page.vehicle.lav_1503": "$(l)基础属性:$()$(p)耐久值 - 250$(br)最大乘员数 - 5$(br)爬坡高度 - 1.5m$(br)最大能量 - 5,000,000FE$(br)能耗 - 64FE/tick$(br)封闭载具", + "superbwarfare.page.vehicle.lav_1504": "$(l)武器属性:$()$(p)1号位:$(p)(1) 20mm机炮$(br)射速 - 300RPM$(br)伤害 - 45$(br)弹药 - $(item)小口径炮弹$()$(p)(2) 7.62mm机枪$(br)射速 - 600RPM$(br)伤害 - 9.5$(br)弹药 - $(item)步枪弹药$()" } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/patchouli_books/superb_warfare_manual/en_us/entries/vehicle/lav_150.json b/src/main/resources/assets/superbwarfare/patchouli_books/superb_warfare_manual/en_us/entries/vehicle/lav_150.json new file mode 100644 index 000000000..d0c1893c6 --- /dev/null +++ b/src/main/resources/assets/superbwarfare/patchouli_books/superb_warfare_manual/en_us/entries/vehicle/lav_150.json @@ -0,0 +1,26 @@ +{ + "name": "superbwarfare.entry.vehicle.lav_150", + "icon": "superbwarfare:container", + "category": "superbwarfare:vehicle", + "pages": [ + { + "type": "patchouli:text", + "text": "superbwarfare.page.vehicle.lav_1501" + }, + { + "type": "patchouli:crafting", + "recipe": "superbwarfare:lav_150_crafting", + "text": "superbwarfare.page.vehicle.lav_1502" + }, + { + "type": "patchouli:text", + "text": "superbwarfare.page.vehicle.lav_1503" + }, + { + "type": "patchouli:text", + "recipe": "superbwarfare:charging_station_crafting", + "text": "superbwarfare.page.vehicle.lav_1504" + } + ], + "sortnum": 20101 +} \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/recipe/superb_warfare_manual_crafting.json b/src/main/resources/data/superbwarfare/recipe/superb_warfare_manual_crafting.json new file mode 100644 index 000000000..31b2916a1 --- /dev/null +++ b/src/main/resources/data/superbwarfare/recipe/superb_warfare_manual_crafting.json @@ -0,0 +1,12 @@ +{ + "type": "patchouli:shapeless_book_recipe", + "ingredients": [ + { + "item": "minecraft:book" + }, + { + "item": "superbwarfare:empty_perk" + } + ], + "book": "superbwarfare:superb_warfare_manual" +} \ No newline at end of file