调整无人机数值,修复快速点击突破武器射速上限bug
This commit is contained in:
parent
163f29be7d
commit
537b845b09
3 changed files with 19 additions and 12 deletions
|
@ -68,10 +68,10 @@ public class ExplosionConfig {
|
|||
builder.push("Drone Kamikaze");
|
||||
|
||||
builder.comment("The hit damage of Drone Kamikaze");
|
||||
DRONE_KAMIKAZE_HIT_DAMAGE = builder.defineInRange("drone_kamikaze_hit_damage", 300, 1, 10000000);
|
||||
DRONE_KAMIKAZE_HIT_DAMAGE = builder.defineInRange("drone_kamikaze_hit_damage", 200, 1, 10000000);
|
||||
|
||||
builder.comment("The hit damage of Drone Kamikaze with C4");
|
||||
DRONE_KAMIKAZE_HIT_DAMAGE_C4 = builder.defineInRange("drone_kamikaze_hit_damage_c4", 700, 1, 10000000);
|
||||
DRONE_KAMIKAZE_HIT_DAMAGE_C4 = builder.defineInRange("drone_kamikaze_hit_damage_c4", 150, 1, 10000000);
|
||||
|
||||
builder.comment("The explosion damage of Drone Kamikaze");
|
||||
DRONE_KAMIKAZE_EXPLOSION_DAMAGE = builder.defineInRange("drone_kamikaze_explosion_damage", 160, 1, 10000000);
|
||||
|
@ -84,7 +84,7 @@ public class ExplosionConfig {
|
|||
builder.push("C4");
|
||||
|
||||
builder.comment("The explosion damage of C4");
|
||||
C4_EXPLOSION_DAMAGE = builder.defineInRange("c4_explosion_damage", 500, 1, Integer.MAX_VALUE);
|
||||
C4_EXPLOSION_DAMAGE = builder.defineInRange("c4_explosion_damage", 300, 1, Integer.MAX_VALUE);
|
||||
|
||||
builder.comment("The explosion countdown of C4");
|
||||
C4_EXPLOSION_COUNTDOWN = builder.defineInRange("c4_explosion_countdown", 514, 1, Integer.MAX_VALUE);
|
||||
|
|
|
@ -477,9 +477,11 @@ public class DroneEntity extends MobileVehicleEntity implements GeoEntity {
|
|||
if (lastTickSpeed > 0.12) {
|
||||
if (this.entityData.get(KAMIKAZE_MODE) != 0 && 20 * lastTickSpeed > this.getHealth()) {
|
||||
if (this.entityData.get(KAMIKAZE_MODE) == 1) {
|
||||
target.hurt(ModDamageTypes.causeCustomExplosionDamage(this.level().registryAccess(), this, controller), ExplosionConfig.DRONE_KAMIKAZE_HIT_DAMAGE.get());
|
||||
target.hurt(ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, controller), ExplosionConfig.DRONE_KAMIKAZE_HIT_DAMAGE.get());
|
||||
target.invulnerableTime = 0;
|
||||
} else if (this.entityData.get(KAMIKAZE_MODE) == 2) {
|
||||
target.hurt(ModDamageTypes.causeCustomExplosionDamage(this.level().registryAccess(), this, controller), ExplosionConfig.DRONE_KAMIKAZE_HIT_DAMAGE_C4.get());
|
||||
target.hurt(ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, controller), ExplosionConfig.DRONE_KAMIKAZE_HIT_DAMAGE_C4.get());
|
||||
target.invulnerableTime = 0;
|
||||
}
|
||||
|
||||
if (controller != null && controller.getMainHandItem().is(ModItems.MONITOR.get())) {
|
||||
|
|
|
@ -291,10 +291,10 @@ public class ClientEventHandler {
|
|||
if (stack.is(ModItems.LUNGE_MINE.get()) && ((lungeAttack >= 18 && lungeAttack <= 21) || lungeSprint > 0)) {
|
||||
Entity lookingEntity = TraceTool.findLookingEntity(player, player.getEntityReach() + 1.5);
|
||||
|
||||
BlockHitResult result = player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(player.getBlockReach() + 1.5)),
|
||||
BlockHitResult result = player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(player.getBlockReach() + 0.5)),
|
||||
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player));
|
||||
|
||||
Vec3 looking = Vec3.atLowerCornerOf(player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(player.getBlockReach() + 1.5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos());
|
||||
Vec3 looking = Vec3.atLowerCornerOf(player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(player.getLookAngle().scale(player.getBlockReach() + 0.5)), ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos());
|
||||
BlockState blockState = player.level().getBlockState(BlockPos.containing(looking.x(), looking.y(), looking.z()));
|
||||
|
||||
if (lookingEntity != null) {
|
||||
|
@ -302,7 +302,7 @@ public class ClientEventHandler {
|
|||
lungeSprint = 0;
|
||||
lungeAttack = 0;
|
||||
lungeDraw = 30;
|
||||
} else if (blockState.canOcclude() || blockState.getBlock() instanceof DoorBlock || blockState.getBlock() instanceof CrossCollisionBlock || blockState.getBlock() instanceof BellBlock) {
|
||||
} else if ((blockState.canOcclude() || blockState.getBlock() instanceof DoorBlock || blockState.getBlock() instanceof CrossCollisionBlock || blockState.getBlock() instanceof BellBlock) && lungeSprint == 0) {
|
||||
ModUtils.PACKET_HANDLER.sendToServer(new LungeMineAttackMessage(1, player.getUUID(), result));
|
||||
lungeSprint = 0;
|
||||
lungeAttack = 0;
|
||||
|
@ -451,7 +451,7 @@ public class ClientEventHandler {
|
|||
}
|
||||
|
||||
} else {
|
||||
if (mode != 0) {
|
||||
if (mode != 0 && clientTimer.getProgress() >= cooldown) {
|
||||
clientTimer.stop();
|
||||
}
|
||||
fireSpread = 0;
|
||||
|
@ -686,12 +686,17 @@ public class ClientEventHandler {
|
|||
if ((holdFireVehicle)) {
|
||||
if (!clientTimerVehicle.started()) {
|
||||
clientTimerVehicle.start();
|
||||
// 首发瞬间发射
|
||||
clientTimerVehicle.setProgress((cooldown + 1));
|
||||
}
|
||||
|
||||
if (clientTimerVehicle.getProgress() >= cooldown) {
|
||||
ModUtils.PACKET_HANDLER.sendToServer(new VehicleFireMessage(0));
|
||||
playVehicleClientSounds(player, iVehicle);
|
||||
clientTimerVehicle.setProgress((clientTimerVehicle.getProgress() - cooldown));
|
||||
}
|
||||
if (clientTimerVehicle.getProgress() >= cooldown) {
|
||||
clientTimerVehicle.stop();
|
||||
}
|
||||
} else if (clientTimerVehicle.getProgress() >= cooldown) {
|
||||
clientTimerVehicle.stop();
|
||||
}
|
||||
} else {
|
||||
clientTimerVehicle.stop();
|
||||
|
|
Loading…
Add table
Reference in a new issue