From b430f5b8a5a18cb6736f5ba61a122ef5f87f7a84 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Tue, 11 Mar 2025 01:58:59 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=BD=BD=E5=85=B7=E6=AD=A6?= =?UTF-8?q?=E5=99=A8=E5=9B=BE=E6=A0=87=E7=BB=91=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/entity/vehicle/Ah6Entity.java | 4 ++-- .../entity/vehicle/AnnihilatorEntity.java | 6 +++--- .../superbwarfare/entity/vehicle/Bmp2Entity.java | 5 +++-- .../superbwarfare/entity/vehicle/Lav150Entity.java | 6 ++++-- .../entity/vehicle/SpeedboatEntity.java | 1 + .../superbwarfare/entity/vehicle/Yx100Entity.java | 3 ++- .../entity/vehicle/weapon/HeliRocketWeapon.java | 6 ++++++ .../entity/vehicle/weapon/LaserWeapon.java | 11 +++++++++++ .../entity/vehicle/weapon/ProjectileWeapon.java | 1 + .../vehicle/weapon/SmallCannonShellWeapon.java | 1 + .../entity/vehicle/weapon/WgMissileWeapon.java | 6 ++++++ .../{20mm_cannon.png => cannon_20mm.png} | Bin .../{30mm_cannon.png => cannon_30mm.png} | Bin .../{12.7mm_gun.png => gun_12_7mm.png} | Bin .../{7.62mm_gun.png => gun_7_62mm.png} | Bin .../vehicle_weapon/{9M113.png => missile_9m113.png} | Bin .../{70mm_rocket.png => rocket_70mm.png} | Bin 17 files changed, 40 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/LaserWeapon.java rename src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/{20mm_cannon.png => cannon_20mm.png} (100%) rename src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/{30mm_cannon.png => cannon_30mm.png} (100%) rename src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/{12.7mm_gun.png => gun_12_7mm.png} (100%) rename src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/{7.62mm_gun.png => gun_7_62mm.png} (100%) rename src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/{9M113.png => missile_9m113.png} (100%) rename src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/{70mm_rocket.png => rocket_70mm.png} (100%) diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java index e779b26ce..4684fb231 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java @@ -107,13 +107,13 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity .zoom(false) .heBullet(1) .bypassArmorRate(0.1f) - .sound(ModSounds.INTO_CANNON.get()), + .sound(ModSounds.INTO_CANNON.get()) + .icon(ModUtils.loc("textures/screens/vehicle_weapon/cannon_20mm.png")), new HeliRocketWeapon() .damage(VehicleConfig.AH_6_ROCKET_DAMAGE.get()) .explosionDamage(VehicleConfig.AH_6_ROCKET_EXPLOSION_DAMAGE.get()) .explosionRadius(VehicleConfig.AH_6_ROCKET_EXPLOSION_RADIUS.get()) .sound(ModSounds.INTO_MISSILE.get()), - } }; } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java index 8143e123a..a6f124ed8 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java @@ -6,7 +6,7 @@ import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.vehicle.base.CannonEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.EnergyVehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; -import com.atsuishio.superbwarfare.entity.vehicle.weapon.EmptyWeapon; +import com.atsuishio.superbwarfare.entity.vehicle.weapon.LaserWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.*; import com.atsuishio.superbwarfare.network.message.ShakeClientMessage; @@ -88,7 +88,7 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, public VehicleWeapon[][] getAllWeapons() { return new VehicleWeapon[][]{ new VehicleWeapon[]{ - new EmptyWeapon() + new LaserWeapon() } }; } @@ -496,7 +496,7 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, float offset = (float) VectorTool.calculateAngle(entity.getViewVector(1), barrelLookAt); entityData.set(YAW, passenger.getYHeadRot()); - entityData.set(PITCH, Mth.clamp(passenger.getXRot() - offset, -45f , 5f)); + entityData.set(PITCH, Mth.clamp(passenger.getXRot() - offset, -45f, 5f)); } float diffY = Mth.wrapDegrees(entityData.get(YAW) - this.getYRot()); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java index 07fd9d3b1..de6b0feec 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java @@ -104,12 +104,13 @@ public class Bmp2Entity extends ContainerMobileVehicleEntity implements GeoEntit .explosionDamage(VehicleConfig.BMP_2_CANNON_EXPLOSION_DAMAGE.get()) .explosionRadius(VehicleConfig.BMP_2_CANNON_EXPLOSION_RADIUS.get().floatValue()) .sound(ModSounds.INTO_MISSILE.get()) - , + .icon(ModUtils.loc("textures/screens/vehicle_weapon/cannon_30mm.png")), new ProjectileWeapon() .damage(9.5f) .headShot(2) .zoom(false) - .sound(ModSounds.INTO_CANNON.get()), + .sound(ModSounds.INTO_CANNON.get()) + .icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_7_62mm.png")), new WgMissileWeapon() .damage(ExplosionConfig.WIRE_GUIDE_MISSILE_DAMAGE.get()) .explosionDamage(ExplosionConfig.WIRE_GUIDE_MISSILE_EXPLOSION_DAMAGE.get()) 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 71ccb6a9a..23a934c52 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java @@ -101,12 +101,14 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt .damage(VehicleConfig.LAV_150_CANNON_DAMAGE.get()) .explosionDamage(VehicleConfig.LAV_150_CANNON_EXPLOSION_DAMAGE.get()) .explosionRadius(VehicleConfig.LAV_150_CANNON_EXPLOSION_RADIUS.get().floatValue()) - .sound(ModSounds.INTO_MISSILE.get()), + .sound(ModSounds.INTO_MISSILE.get()) + .icon(ModUtils.loc("textures/screens/vehicle_weapon/cannon_20mm.png")), new ProjectileWeapon() .damage(9.5f) .headShot(2) .zoom(false) - .sound(ModSounds.INTO_CANNON.get()), + .sound(ModSounds.INTO_CANNON.get()) + .icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_7_62mm.png")), } }; } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java index bed12123a..ce697481d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java @@ -93,6 +93,7 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo .damage(VehicleConfig.SPEEDBOAT_GUN_DAMAGE.get()) .headShot(2) .zoom(false) + .icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_12_7mm.png")) } }; } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java index 354f452b8..b88e5e3f7 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java @@ -144,7 +144,8 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti .headShot(2) .zoom(false) .bypassArmorRate(0.4f) - .ammo(ModItems.HEAVY_AMMO.get()), + .ammo(ModItems.HEAVY_AMMO.get()) + .icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_12_7mm.png")), } }; } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/HeliRocketWeapon.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/HeliRocketWeapon.java index f765efd99..03728c34a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/HeliRocketWeapon.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/HeliRocketWeapon.java @@ -1,11 +1,17 @@ package com.atsuishio.superbwarfare.entity.vehicle.weapon; +import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity; import net.minecraft.world.entity.LivingEntity; public class HeliRocketWeapon extends VehicleWeapon { + public float damage = 140, explosionDamage = 60, explosionRadius = 5; + public HeliRocketWeapon() { + this.icon = ModUtils.loc("textures/screens/vehicle_weapon/rocket_70mm.png"); + } + public HeliRocketWeapon damage(float damage) { this.damage = damage; return this; diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/LaserWeapon.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/LaserWeapon.java new file mode 100644 index 000000000..e85a6f3a9 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/LaserWeapon.java @@ -0,0 +1,11 @@ +package com.atsuishio.superbwarfare.entity.vehicle.weapon; + +import com.atsuishio.superbwarfare.ModUtils; + +public class LaserWeapon extends VehicleWeapon { + + public LaserWeapon() { + this.icon = ModUtils.loc("textures/screens/vehicle_weapon/laser.png"); + } + +} 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 b57de812d..1954ab7d3 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 @@ -4,6 +4,7 @@ import com.atsuishio.superbwarfare.entity.projectile.ProjectileEntity; import net.minecraft.world.entity.LivingEntity; public class ProjectileWeapon extends VehicleWeapon { + public float headShot, damage, bypassArmorRate; public boolean zoom; public int jhpLevel, heLevel; diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/SmallCannonShellWeapon.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/SmallCannonShellWeapon.java index 10186463c..fa90f3ae0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/SmallCannonShellWeapon.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/SmallCannonShellWeapon.java @@ -4,6 +4,7 @@ import com.atsuishio.superbwarfare.entity.projectile.SmallCannonShellEntity; import net.minecraft.world.entity.LivingEntity; public class SmallCannonShellWeapon extends VehicleWeapon { + public float damage = 40, explosionDamage = 80, explosionRadius = 5; public SmallCannonShellWeapon damage(float damage) { diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/WgMissileWeapon.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/WgMissileWeapon.java index 715cf6125..25932012d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/WgMissileWeapon.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/weapon/WgMissileWeapon.java @@ -1,11 +1,17 @@ package com.atsuishio.superbwarfare.entity.vehicle.weapon; +import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.entity.projectile.WgMissileEntity; import net.minecraft.world.entity.LivingEntity; public class WgMissileWeapon extends VehicleWeapon { + public float damage = 250, explosionDamage = 200, explosionRadius = 10; + public WgMissileWeapon() { + this.icon = ModUtils.loc("textures/screens/vehicle_weapon/missile_9m113.png"); + } + public WgMissileWeapon damage(float damage) { this.damage = damage; return this; diff --git a/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/20mm_cannon.png b/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/cannon_20mm.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/20mm_cannon.png rename to src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/cannon_20mm.png diff --git a/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/30mm_cannon.png b/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/cannon_30mm.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/30mm_cannon.png rename to src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/cannon_30mm.png diff --git a/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/12.7mm_gun.png b/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/gun_12_7mm.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/12.7mm_gun.png rename to src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/gun_12_7mm.png diff --git a/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/7.62mm_gun.png b/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/gun_7_62mm.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/7.62mm_gun.png rename to src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/gun_7_62mm.png diff --git a/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/9M113.png b/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/missile_9m113.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/9M113.png rename to src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/missile_9m113.png diff --git a/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/70mm_rocket.png b/src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/rocket_70mm.png similarity index 100% rename from src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/70mm_rocket.png rename to src/main/resources/assets/superbwarfare/textures/screens/vehicle_weapon/rocket_70mm.png