调整无人机数值,修复快速点击突破武器射速上限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.push("Drone Kamikaze");
|
||||||
|
|
||||||
builder.comment("The hit damage of 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");
|
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");
|
builder.comment("The explosion damage of Drone Kamikaze");
|
||||||
DRONE_KAMIKAZE_EXPLOSION_DAMAGE = builder.defineInRange("drone_kamikaze_explosion_damage", 160, 1, 10000000);
|
DRONE_KAMIKAZE_EXPLOSION_DAMAGE = builder.defineInRange("drone_kamikaze_explosion_damage", 160, 1, 10000000);
|
||||||
|
@ -84,7 +84,7 @@ public class ExplosionConfig {
|
||||||
builder.push("C4");
|
builder.push("C4");
|
||||||
|
|
||||||
builder.comment("The explosion damage of 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");
|
builder.comment("The explosion countdown of C4");
|
||||||
C4_EXPLOSION_COUNTDOWN = builder.defineInRange("c4_explosion_countdown", 514, 1, Integer.MAX_VALUE);
|
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 (lastTickSpeed > 0.12) {
|
||||||
if (this.entityData.get(KAMIKAZE_MODE) != 0 && 20 * lastTickSpeed > this.getHealth()) {
|
if (this.entityData.get(KAMIKAZE_MODE) != 0 && 20 * lastTickSpeed > this.getHealth()) {
|
||||||
if (this.entityData.get(KAMIKAZE_MODE) == 1) {
|
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) {
|
} 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())) {
|
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)) {
|
if (stack.is(ModItems.LUNGE_MINE.get()) && ((lungeAttack >= 18 && lungeAttack <= 21) || lungeSprint > 0)) {
|
||||||
Entity lookingEntity = TraceTool.findLookingEntity(player, player.getEntityReach() + 1.5);
|
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));
|
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()));
|
BlockState blockState = player.level().getBlockState(BlockPos.containing(looking.x(), looking.y(), looking.z()));
|
||||||
|
|
||||||
if (lookingEntity != null) {
|
if (lookingEntity != null) {
|
||||||
|
@ -302,7 +302,7 @@ public class ClientEventHandler {
|
||||||
lungeSprint = 0;
|
lungeSprint = 0;
|
||||||
lungeAttack = 0;
|
lungeAttack = 0;
|
||||||
lungeDraw = 30;
|
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));
|
ModUtils.PACKET_HANDLER.sendToServer(new LungeMineAttackMessage(1, player.getUUID(), result));
|
||||||
lungeSprint = 0;
|
lungeSprint = 0;
|
||||||
lungeAttack = 0;
|
lungeAttack = 0;
|
||||||
|
@ -451,7 +451,7 @@ public class ClientEventHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (mode != 0) {
|
if (mode != 0 && clientTimer.getProgress() >= cooldown) {
|
||||||
clientTimer.stop();
|
clientTimer.stop();
|
||||||
}
|
}
|
||||||
fireSpread = 0;
|
fireSpread = 0;
|
||||||
|
@ -686,12 +686,17 @@ public class ClientEventHandler {
|
||||||
if ((holdFireVehicle)) {
|
if ((holdFireVehicle)) {
|
||||||
if (!clientTimerVehicle.started()) {
|
if (!clientTimerVehicle.started()) {
|
||||||
clientTimerVehicle.start();
|
clientTimerVehicle.start();
|
||||||
|
// 首发瞬间发射
|
||||||
|
clientTimerVehicle.setProgress((cooldown + 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (clientTimerVehicle.getProgress() >= cooldown) {
|
||||||
ModUtils.PACKET_HANDLER.sendToServer(new VehicleFireMessage(0));
|
ModUtils.PACKET_HANDLER.sendToServer(new VehicleFireMessage(0));
|
||||||
playVehicleClientSounds(player, iVehicle);
|
playVehicleClientSounds(player, iVehicle);
|
||||||
|
clientTimerVehicle.setProgress((clientTimerVehicle.getProgress() - cooldown));
|
||||||
}
|
}
|
||||||
if (clientTimerVehicle.getProgress() >= cooldown) {
|
} else if (clientTimerVehicle.getProgress() >= cooldown) {
|
||||||
clientTimerVehicle.stop();
|
clientTimerVehicle.stop();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
clientTimerVehicle.stop();
|
clientTimerVehicle.stop();
|
||||||
|
|
Loading…
Add table
Reference in a new issue