From e7971c812f49307c7ad5164fa5284f3bab10da33 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Fri, 3 Jan 2025 23:31:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=9B=B4=E5=8D=87=E6=9C=BA?= =?UTF-8?q?=E7=9A=84=E7=81=AB=E7=AE=AD=E5=BC=B9=E5=8F=91=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/entity/Ah6Entity.java | 132 +++++++++++++----- .../entity/MultiWeaponVehicleEntity.java | 6 + .../event/ClientEventHandler.java | 8 +- .../superbwarfare/init/ModSounds.java | 2 + .../network/message/FireModeMessage.java | 6 + .../assets/superbwarfare/sounds.json | 16 +++ .../sounds/helicopter/heli_rocket_fire_1p.ogg | Bin 0 -> 12127 bytes .../sounds/helicopter/heli_rocket_fire_3p.ogg | Bin 0 -> 16654 bytes 8 files changed, 135 insertions(+), 35 deletions(-) create mode 100644 src/main/java/com/atsuishio/superbwarfare/entity/MultiWeaponVehicleEntity.java create mode 100644 src/main/resources/assets/superbwarfare/sounds/helicopter/heli_rocket_fire_1p.ogg create mode 100644 src/main/resources/assets/superbwarfare/sounds/helicopter/heli_rocket_fire_3p.ogg diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/Ah6Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/Ah6Entity.java index 29e7c0eb4..917d7d5d0 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/Ah6Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/Ah6Entity.java @@ -2,6 +2,7 @@ package com.atsuishio.superbwarfare.entity; import com.atsuishio.superbwarfare.ModUtils; import com.atsuishio.superbwarfare.config.server.ExplosionDestroyConfig; +import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.entity.projectile.ProjectileEntity; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModEntities; @@ -29,6 +30,7 @@ import net.minecraft.world.level.Explosion; import net.minecraft.world.level.Level; import net.minecraft.world.phys.AABB; import net.minecraft.world.phys.Vec3; +import net.minecraftforge.event.ForgeEventFactory; import net.minecraftforge.network.NetworkHooks; import net.minecraftforge.network.PacketDistributor; import net.minecraftforge.network.PlayMessages; @@ -44,18 +46,21 @@ import software.bernie.geckolib.util.GeckoLibUtil; import java.util.Comparator; -public class Ah6Entity extends MobileVehicleEntity implements GeoEntity, IHelicopterEntity { +public class Ah6Entity extends MobileVehicleEntity implements GeoEntity, IHelicopterEntity, MultiWeaponVehicleEntity { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); public static final float MAX_HEALTH = 200; public static final int MAX_ENERGY = 4000000; public static final EntityDataAccessor DELTA_ROT = SynchedEntityData.defineId(Ah6Entity.class, EntityDataSerializers.FLOAT); public static final EntityDataAccessor PROPELLER_ROT = SynchedEntityData.defineId(Ah6Entity.class, EntityDataSerializers.FLOAT); + public static final EntityDataAccessor WEAPON_TYPE = SynchedEntityData.defineId(Ah6Entity.class, EntityDataSerializers.INT); public boolean engineStart; public boolean engineStartOver; public float propellerRot; public float propellerRotO; + public int fireIndex; + public Ah6Entity(PlayMessages.SpawnEntity packet, Level world) { this(ModEntities.AH_6.get(), world); } @@ -69,6 +74,7 @@ public class Ah6Entity extends MobileVehicleEntity implements GeoEntity, IHelico protected void defineSynchedData() { super.defineSynchedData(); this.entityData.define(DELTA_ROT, 0f); + this.entityData.define(WEAPON_TYPE, 0); this.entityData.define(PROPELLER_ROT, 0f); } @@ -297,7 +303,7 @@ public class Ah6Entity extends MobileVehicleEntity implements GeoEntity, IHelico ModDamageTypes.causeCustomExplosionDamage(this.level().registryAccess(), attacker == null ? this : attacker, attacker == null ? this : attacker), 25.0f, this.getX(), this.getY(), this.getZ(), 5f, ExplosionDestroyConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).setDamageMultiplier(1); explosion.explode(); - net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); + ForgeEventFactory.onExplosionStart(this.level(), explosion); explosion.finalizeExplosion(false); ParticleTool.spawnMediumExplosionParticles(this.level(), this.position()); this.discard(); @@ -327,43 +333,88 @@ public class Ah6Entity extends MobileVehicleEntity implements GeoEntity, IHelico public void vehicleShoot(Player player) { Matrix4f transform = getVehicleTransform(); - float x = 1f; - float y = 0.62f; - float z = 0.8f; + float x; + float y; + float z; - Vector4f worldPositionRight = transformPosition(transform, -x, y, z); - ProjectileEntity projectileRight = new ProjectileEntity(player.level()) - .shooter(player) - .damage(20) - .headShot(2f) - .zoom(false); + Vector4f worldPositionRight; + Vector4f worldPositionLeft; - projectileRight.heBullet(true, 8); - projectileRight.bypassArmorRate(1); - projectileRight.setPos(worldPositionRight.x, worldPositionRight.y, worldPositionRight.z); - projectileRight.shoot(player, this.getLookAngle().x, this.getLookAngle().y+ 0.03, this.getLookAngle().z, 20, - (float) 0.2); - this.level().addFreshEntity(projectileRight); + if (entityData.get(WEAPON_TYPE) == 0) { + x = 1f; + y = 0.62f; + z = 0.8f; - Vector4f worldPositionLeft = transformPosition(transform, x, y, z); - ProjectileEntity projectileLeft = new ProjectileEntity(player.level()) - .shooter(player) - .damage(20) - .headShot(2f) - .zoom(false); + worldPositionRight = transformPosition(transform, -x, y, z); + worldPositionLeft = transformPosition(transform, x, y, z); - projectileLeft.heBullet(true, 8); - projectileLeft.bypassArmorRate(1); - projectileLeft.setPos(worldPositionLeft.x, worldPositionLeft.y, worldPositionLeft.z); - projectileLeft.shoot(player, this.getLookAngle().x, this.getLookAngle().y + 0.03, this.getLookAngle().z, 20, - (float) 0.2); - this.level().addFreshEntity(projectileLeft); + ProjectileEntity projectileRight = new ProjectileEntity(player.level()) + .shooter(player) + .damage(25) + .headShot(2f) + .zoom(false); - if (!player.level().isClientSide) { - if (player instanceof ServerPlayer serverPlayer) { - serverPlayer.playSound(ModSounds.HELICOPTER_CANNON_FIRE_3P.get(), 4, 1); - serverPlayer.playSound(ModSounds.HELICOPTER_CANNON_FAR.get(), 12, 1); - serverPlayer.playSound(ModSounds.HELICOPTER_CANNON_VERYFAR.get(), 24, 1); + projectileRight.heBullet(true, 5); + projectileRight.bypassArmorRate(1); + projectileRight.setPos(worldPositionRight.x, worldPositionRight.y, worldPositionRight.z); + projectileRight.shoot(player, this.getLookAngle().x, this.getLookAngle().y+ 0.03, this.getLookAngle().z, 20, + (float) 0.2); + this.level().addFreshEntity(projectileRight); + + ProjectileEntity projectileLeft = new ProjectileEntity(player.level()) + .shooter(player) + .damage(25) + .headShot(2f) + .zoom(false); + + projectileLeft.heBullet(true, 5); + projectileLeft.bypassArmorRate(1); + projectileLeft.setPos(worldPositionLeft.x, worldPositionLeft.y, worldPositionLeft.z); + projectileLeft.shoot(player, this.getLookAngle().x, this.getLookAngle().y + 0.03, this.getLookAngle().z, 20, + (float) 0.2); + this.level().addFreshEntity(projectileLeft); + + if (!player.level().isClientSide) { + if (player instanceof ServerPlayer serverPlayer) { + serverPlayer.playSound(ModSounds.HELICOPTER_CANNON_FIRE_3P.get(), 4, 1); + serverPlayer.playSound(ModSounds.HELICOPTER_CANNON_FAR.get(), 12, 1); + serverPlayer.playSound(ModSounds.HELICOPTER_CANNON_VERYFAR.get(), 24, 1); + } + } + } else if (entityData.get(WEAPON_TYPE) == 1) { + x = 1.15f; + y = 0.62f; + z = 0.8f; + + worldPositionRight = transformPosition(transform, -x, y, z); + worldPositionLeft = transformPosition(transform, x, y, z); + + if (fireIndex == 0) { + GunGrenadeEntity gunGrenadeEntity = new GunGrenadeEntity(player, player.level(), + 110, + 40, + 6); + + gunGrenadeEntity.setPos(worldPositionRight.x, worldPositionRight.y, worldPositionRight.z); + gunGrenadeEntity.shoot(this.getLookAngle().x, this.getLookAngle().y+ 0.03, this.getLookAngle().z, 8, 0.25f); + player.level().addFreshEntity(gunGrenadeEntity); + fireIndex = 1; + } else if (fireIndex == 1){ + GunGrenadeEntity gunGrenadeEntityLeft = new GunGrenadeEntity(player, player.level(), + 110, + 40, + 5); + + gunGrenadeEntityLeft.setPos(worldPositionLeft.x, worldPositionLeft.y, worldPositionLeft.z); + gunGrenadeEntityLeft.shoot(this.getLookAngle().x, this.getLookAngle().y+ 0.03, this.getLookAngle().z, 8, 0.25f); + player.level().addFreshEntity(gunGrenadeEntityLeft); + fireIndex = 0; + } + + if (!player.level().isClientSide) { + if (player instanceof ServerPlayer serverPlayer) { + serverPlayer.playSound(ModSounds.HELICOPTER_ROCKET_FIRE_3P.get(), 6, 1); + } } } @@ -417,4 +468,17 @@ public class Ah6Entity extends MobileVehicleEntity implements GeoEntity, IHelico public float getPower() { return this.entityData.get(POWER); } + + @Override + public void changeWeapon() { + entityData.set(WEAPON_TYPE, entityData.get(WEAPON_TYPE) + 1); + if (entityData.get(WEAPON_TYPE) == 2) { + entityData.set(WEAPON_TYPE, 0); + } + } + + @Override + public int getWeaponType() { + return entityData.get(WEAPON_TYPE); + } } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/MultiWeaponVehicleEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/MultiWeaponVehicleEntity.java new file mode 100644 index 000000000..71f13f3d2 --- /dev/null +++ b/src/main/java/com/atsuishio/superbwarfare/entity/MultiWeaponVehicleEntity.java @@ -0,0 +1,6 @@ +package com.atsuishio.superbwarfare.entity; + +public interface MultiWeaponVehicleEntity { + void changeWeapon(); + int getWeaponType(); +} diff --git a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java index 15cf2fcb4..0fcb6b695 100644 --- a/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java +++ b/src/main/java/com/atsuishio/superbwarfare/event/ClientEventHandler.java @@ -55,6 +55,7 @@ import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import java.util.concurrent.atomic.AtomicBoolean; import java.util.function.Supplier; +import static com.atsuishio.superbwarfare.entity.Ah6Entity.WEAPON_TYPE; import static com.atsuishio.superbwarfare.entity.SpeedboatEntity.HEAT; @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT) @@ -649,7 +650,12 @@ public class ClientEventHandler { player.playSound(ModSounds.SHELL_CASING_50CAL.get(), 0.3f, 1); } if (iVehicle instanceof Ah6Entity ah6Entity) { - player.playSound(ModSounds.HELICOPTER_CANNON_FIRE_1P.get(), 1f, 1); + if (ah6Entity.getEntityData().get(WEAPON_TYPE) == 0) { + player.playSound(ModSounds.HELICOPTER_CANNON_FIRE_1P.get(), 1f, 1); + } else if (ah6Entity.getEntityData().get(WEAPON_TYPE) == 1) { + player.playSound(ModSounds.HELICOPTER_ROCKET_FIRE_1P.get(), 1f, 1); + } + } } diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java index 6593c9f10..b5845810b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModSounds.java @@ -363,5 +363,7 @@ public class ModSounds { public static final RegistryObject HELICOPTER_CANNON_FIRE_3P = REGISTRY.register("heli_cannon_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("heli_cannon_fire_3p"))); public static final RegistryObject HELICOPTER_CANNON_FAR = REGISTRY.register("heli_cannon_far", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("heli_cannon_far"))); public static final RegistryObject HELICOPTER_CANNON_VERYFAR = REGISTRY.register("heli_cannon_veryfar", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("heli_cannon_veryfar"))); + public static final RegistryObject HELICOPTER_ROCKET_FIRE_1P = REGISTRY.register("heli_rocket_fire_1p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("heli_rocket_fire_1p"))); + public static final RegistryObject HELICOPTER_ROCKET_FIRE_3P = REGISTRY.register("heli_rocket_fire_3p", () -> SoundEvent.createVariableRangeEvent(ModUtils.loc("heli_rocket_fire_3p"))); } diff --git a/src/main/java/com/atsuishio/superbwarfare/network/message/FireModeMessage.java b/src/main/java/com/atsuishio/superbwarfare/network/message/FireModeMessage.java index d56b35290..dd6dd08a4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/network/message/FireModeMessage.java +++ b/src/main/java/com/atsuishio/superbwarfare/network/message/FireModeMessage.java @@ -1,5 +1,7 @@ package com.atsuishio.superbwarfare.network.message; +import com.atsuishio.superbwarfare.entity.IArmedVehicleEntity; +import com.atsuishio.superbwarfare.entity.MultiWeaponVehicleEntity; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.gun.GunItem; @@ -125,6 +127,10 @@ public class FireModeMessage { GunsTool.setGunBooleanTag(stack, "NeedBoltAction", true); } } + return; + } + if (player.getVehicle() instanceof IArmedVehicleEntity iArmedVehicle && iArmedVehicle.isDriver(player) && iArmedVehicle instanceof MultiWeaponVehicleEntity multiWeaponVehicle) { + multiWeaponVehicle.changeWeapon(); } } diff --git a/src/main/resources/assets/superbwarfare/sounds.json b/src/main/resources/assets/superbwarfare/sounds.json index 091110cf1..6c464bc51 100644 --- a/src/main/resources/assets/superbwarfare/sounds.json +++ b/src/main/resources/assets/superbwarfare/sounds.json @@ -2553,5 +2553,21 @@ "stream": false } ] + }, + "heli_rocket_fire_1p": { + "sounds": [ + { + "name": "superbwarfare:helicopter/heli_rocket_fire_1p", + "stream": false + } + ] + }, + "heli_rocket_fire_3p": { + "sounds": [ + { + "name": "superbwarfare:helicopter/heli_rocket_fire_3p", + "stream": false + } + ] } } \ No newline at end of file diff --git a/src/main/resources/assets/superbwarfare/sounds/helicopter/heli_rocket_fire_1p.ogg b/src/main/resources/assets/superbwarfare/sounds/helicopter/heli_rocket_fire_1p.ogg new file mode 100644 index 0000000000000000000000000000000000000000..76d9e1b8653318c8692d756f07e5d1c9dfe3ab6e GIT binary patch literal 12127 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 literal 0 HcmV?d00001