添加载具武器图标绑定

This commit is contained in:
17146 2025-03-11 01:58:59 +08:00
parent 491f610980
commit b430f5b8a5
17 changed files with 40 additions and 10 deletions

View file

@ -107,13 +107,13 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
.zoom(false) .zoom(false)
.heBullet(1) .heBullet(1)
.bypassArmorRate(0.1f) .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() new HeliRocketWeapon()
.damage(VehicleConfig.AH_6_ROCKET_DAMAGE.get()) .damage(VehicleConfig.AH_6_ROCKET_DAMAGE.get())
.explosionDamage(VehicleConfig.AH_6_ROCKET_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.AH_6_ROCKET_EXPLOSION_DAMAGE.get())
.explosionRadius(VehicleConfig.AH_6_ROCKET_EXPLOSION_RADIUS.get()) .explosionRadius(VehicleConfig.AH_6_ROCKET_EXPLOSION_RADIUS.get())
.sound(ModSounds.INTO_MISSILE.get()), .sound(ModSounds.INTO_MISSILE.get()),
} }
}; };
} }

View file

@ -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.CannonEntity;
import com.atsuishio.superbwarfare.entity.vehicle.base.EnergyVehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.EnergyVehicleEntity;
import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; 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.entity.vehicle.weapon.VehicleWeapon;
import com.atsuishio.superbwarfare.init.*; import com.atsuishio.superbwarfare.init.*;
import com.atsuishio.superbwarfare.network.message.ShakeClientMessage; import com.atsuishio.superbwarfare.network.message.ShakeClientMessage;
@ -88,7 +88,7 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity,
public VehicleWeapon[][] getAllWeapons() { public VehicleWeapon[][] getAllWeapons() {
return new VehicleWeapon[][]{ return new VehicleWeapon[][]{
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); float offset = (float) VectorTool.calculateAngle(entity.getViewVector(1), barrelLookAt);
entityData.set(YAW, passenger.getYHeadRot()); 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()); float diffY = Mth.wrapDegrees(entityData.get(YAW) - this.getYRot());

View file

@ -104,12 +104,13 @@ public class Bmp2Entity extends ContainerMobileVehicleEntity implements GeoEntit
.explosionDamage(VehicleConfig.BMP_2_CANNON_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.BMP_2_CANNON_EXPLOSION_DAMAGE.get())
.explosionRadius(VehicleConfig.BMP_2_CANNON_EXPLOSION_RADIUS.get().floatValue()) .explosionRadius(VehicleConfig.BMP_2_CANNON_EXPLOSION_RADIUS.get().floatValue())
.sound(ModSounds.INTO_MISSILE.get()) .sound(ModSounds.INTO_MISSILE.get())
, .icon(ModUtils.loc("textures/screens/vehicle_weapon/cannon_30mm.png")),
new ProjectileWeapon() new ProjectileWeapon()
.damage(9.5f) .damage(9.5f)
.headShot(2) .headShot(2)
.zoom(false) .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() new WgMissileWeapon()
.damage(ExplosionConfig.WIRE_GUIDE_MISSILE_DAMAGE.get()) .damage(ExplosionConfig.WIRE_GUIDE_MISSILE_DAMAGE.get())
.explosionDamage(ExplosionConfig.WIRE_GUIDE_MISSILE_EXPLOSION_DAMAGE.get()) .explosionDamage(ExplosionConfig.WIRE_GUIDE_MISSILE_EXPLOSION_DAMAGE.get())

View file

@ -101,12 +101,14 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt
.damage(VehicleConfig.LAV_150_CANNON_DAMAGE.get()) .damage(VehicleConfig.LAV_150_CANNON_DAMAGE.get())
.explosionDamage(VehicleConfig.LAV_150_CANNON_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.LAV_150_CANNON_EXPLOSION_DAMAGE.get())
.explosionRadius(VehicleConfig.LAV_150_CANNON_EXPLOSION_RADIUS.get().floatValue()) .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() new ProjectileWeapon()
.damage(9.5f) .damage(9.5f)
.headShot(2) .headShot(2)
.zoom(false) .zoom(false)
.sound(ModSounds.INTO_CANNON.get()), .sound(ModSounds.INTO_CANNON.get())
.icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_7_62mm.png")),
} }
}; };
} }

View file

@ -93,6 +93,7 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo
.damage(VehicleConfig.SPEEDBOAT_GUN_DAMAGE.get()) .damage(VehicleConfig.SPEEDBOAT_GUN_DAMAGE.get())
.headShot(2) .headShot(2)
.zoom(false) .zoom(false)
.icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_12_7mm.png"))
} }
}; };
} }

View file

@ -144,7 +144,8 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
.headShot(2) .headShot(2)
.zoom(false) .zoom(false)
.bypassArmorRate(0.4f) .bypassArmorRate(0.4f)
.ammo(ModItems.HEAVY_AMMO.get()), .ammo(ModItems.HEAVY_AMMO.get())
.icon(ModUtils.loc("textures/screens/vehicle_weapon/gun_12_7mm.png")),
} }
}; };
} }

View file

@ -1,11 +1,17 @@
package com.atsuishio.superbwarfare.entity.vehicle.weapon; package com.atsuishio.superbwarfare.entity.vehicle.weapon;
import com.atsuishio.superbwarfare.ModUtils;
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity; import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
public class HeliRocketWeapon extends VehicleWeapon { public class HeliRocketWeapon extends VehicleWeapon {
public float damage = 140, explosionDamage = 60, explosionRadius = 5; 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) { public HeliRocketWeapon damage(float damage) {
this.damage = damage; this.damage = damage;
return this; return this;

View file

@ -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");
}
}

View file

@ -4,6 +4,7 @@ import com.atsuishio.superbwarfare.entity.projectile.ProjectileEntity;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
public class ProjectileWeapon extends VehicleWeapon { public class ProjectileWeapon extends VehicleWeapon {
public float headShot, damage, bypassArmorRate; public float headShot, damage, bypassArmorRate;
public boolean zoom; public boolean zoom;
public int jhpLevel, heLevel; public int jhpLevel, heLevel;

View file

@ -4,6 +4,7 @@ import com.atsuishio.superbwarfare.entity.projectile.SmallCannonShellEntity;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
public class SmallCannonShellWeapon extends VehicleWeapon { public class SmallCannonShellWeapon extends VehicleWeapon {
public float damage = 40, explosionDamage = 80, explosionRadius = 5; public float damage = 40, explosionDamage = 80, explosionRadius = 5;
public SmallCannonShellWeapon damage(float damage) { public SmallCannonShellWeapon damage(float damage) {

View file

@ -1,11 +1,17 @@
package com.atsuishio.superbwarfare.entity.vehicle.weapon; package com.atsuishio.superbwarfare.entity.vehicle.weapon;
import com.atsuishio.superbwarfare.ModUtils;
import com.atsuishio.superbwarfare.entity.projectile.WgMissileEntity; import com.atsuishio.superbwarfare.entity.projectile.WgMissileEntity;
import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.LivingEntity;
public class WgMissileWeapon extends VehicleWeapon { public class WgMissileWeapon extends VehicleWeapon {
public float damage = 250, explosionDamage = 200, explosionRadius = 10; 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) { public WgMissileWeapon damage(float damage) {
this.damage = damage; this.damage = damage;
return this; return this;