修复波塞克弹药显示bug,规范化命名迫击炮UI按钮,调整动画,修复望远镜实体测距副手不起作用bug,调整先辈脑袋高度,加入打腿判定
This commit is contained in:
parent
01ae132521
commit
791bab7409
14 changed files with 114 additions and 101 deletions
|
@ -21,12 +21,12 @@ public class MortarGUIScreen extends AbstractContainerScreen<MortarGUIMenu> {
|
|||
private final static HashMap<String, Object> GUI_STATE = MortarGUIMenu.GUI_STATE;
|
||||
private final int x, y, z;
|
||||
private final Player entity;
|
||||
Button button_zeng_da_yang_jiao;
|
||||
Button button_empty;
|
||||
Button button_10;
|
||||
Button button_101;
|
||||
Button button_05;
|
||||
Button button_051;
|
||||
Button button_angle_add_1;
|
||||
Button button_angle_reduce_1;
|
||||
Button button_angle_add_10;
|
||||
Button button_angle_reduce_10;
|
||||
Button button_angle_reduce_05;
|
||||
Button button_angle_add_05;
|
||||
|
||||
public MortarGUIScreen(MortarGUIMenu container, Inventory inventory, Component text) {
|
||||
super(container, inventory, text);
|
||||
|
@ -97,41 +97,41 @@ public class MortarGUIScreen extends AbstractContainerScreen<MortarGUIMenu> {
|
|||
@Override
|
||||
public void init() {
|
||||
super.init();
|
||||
button_zeng_da_yang_jiao = Button.builder(Component.translatable("gui.target.mortar_gui.button_zeng_da_yang_jiao"), e -> {
|
||||
button_angle_add_1 = Button.builder(Component.translatable("gui.target.mortar_gui.button_angle_add_1"), e -> {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(0, x, y, z));
|
||||
MortarGUIButtonMessage.handleButtonAction(entity, 0);
|
||||
}).bounds(this.leftPos + 42, this.topPos + 124, 29, 20).build();
|
||||
GUI_STATE.put("button:button_zeng_da_yang_jiao", button_zeng_da_yang_jiao);
|
||||
this.addRenderableWidget(button_zeng_da_yang_jiao);
|
||||
button_empty = Button.builder(Component.translatable("gui.target.mortar_gui.button_empty"), e -> {
|
||||
GUI_STATE.put("button:button_angle_add_1", button_angle_add_1);
|
||||
this.addRenderableWidget(button_angle_add_1);
|
||||
button_angle_reduce_1 = Button.builder(Component.translatable("gui.target.mortar_gui.button_angle_reduce_1"), e -> {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(1, x, y, z));
|
||||
MortarGUIButtonMessage.handleButtonAction(entity, 1);
|
||||
}).bounds(this.leftPos - 73, this.topPos + 124, 30, 20).build();
|
||||
GUI_STATE.put("button:button_empty", button_empty);
|
||||
this.addRenderableWidget(button_empty);
|
||||
button_10 = Button.builder(Component.translatable("gui.target.mortar_gui.button_10"), e -> {
|
||||
GUI_STATE.put("button:button_angle_reduce_1", button_angle_reduce_1);
|
||||
this.addRenderableWidget(button_angle_reduce_1);
|
||||
button_angle_add_10 = Button.builder(Component.translatable("gui.target.mortar_gui.button_angle_add_10"), e -> {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(2, x, y, z));
|
||||
MortarGUIButtonMessage.handleButtonAction(entity, 2);
|
||||
}).bounds(this.leftPos + 43, this.topPos + 151, 28, 20).build();
|
||||
GUI_STATE.put("button:button_10", button_10);
|
||||
this.addRenderableWidget(button_10);
|
||||
button_101 = Button.builder(Component.translatable("gui.target.mortar_gui.button_101"), e -> {
|
||||
GUI_STATE.put("button:button_angle_add_10", button_angle_add_10);
|
||||
this.addRenderableWidget(button_angle_add_10);
|
||||
button_angle_reduce_10 = Button.builder(Component.translatable("gui.target.mortar_gui.button_angle_reduce_10"), e -> {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(3, x, y, z));
|
||||
MortarGUIButtonMessage.handleButtonAction(entity, 3);
|
||||
}).bounds(this.leftPos - 73, this.topPos + 151, 30, 20).build();
|
||||
GUI_STATE.put("button:button_101", button_101);
|
||||
this.addRenderableWidget(button_101);
|
||||
button_05 = Button.builder(Component.translatable("gui.target.mortar_gui.button_05"), e -> {
|
||||
GUI_STATE.put("button:button_angle_reduce_10", button_angle_reduce_10);
|
||||
this.addRenderableWidget(button_angle_reduce_10);
|
||||
button_angle_reduce_05 = Button.builder(Component.translatable("gui.target.mortar_gui.button_angle_reduce_05"), e -> {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(4, x, y, z));
|
||||
MortarGUIButtonMessage.handleButtonAction(entity, 4);
|
||||
}).bounds(this.leftPos - 73, this.topPos + 97, 30, 20).build();
|
||||
GUI_STATE.put("button:button_05", button_05);
|
||||
this.addRenderableWidget(button_05);
|
||||
button_051 = Button.builder(Component.translatable("gui.target.mortar_gui.button_051"), e -> {
|
||||
GUI_STATE.put("button:button_angle_reduce_05", button_angle_reduce_05);
|
||||
this.addRenderableWidget(button_angle_reduce_05);
|
||||
button_angle_add_05 = Button.builder(Component.translatable("gui.target.mortar_gui.button_angle_add_05"), e -> {
|
||||
TargetMod.PACKET_HANDLER.sendToServer(new MortarGUIButtonMessage(5, x, y, z));
|
||||
MortarGUIButtonMessage.handleButtonAction(entity, 5);
|
||||
}).bounds(this.leftPos + 42, this.topPos + 97, 29, 20).build();
|
||||
GUI_STATE.put("button:button_051", button_051);
|
||||
this.addRenderableWidget(button_051);
|
||||
GUI_STATE.put("button:button_angle_add_05", button_angle_add_05);
|
||||
this.addRenderableWidget(button_angle_add_05);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -66,8 +66,8 @@ public class M870ItemModel extends GeoModel<M870Item> {
|
|||
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
|
||||
shen.setPosY(0.4f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(3.6f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.12f * (float) (fp + fr));
|
||||
shen.setPosZ(5.6f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.28f * (float) (fp + fr));
|
||||
shen.setRotZ(0f);
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.025f * (float) fr);
|
||||
|
@ -76,8 +76,8 @@ public class M870ItemModel extends GeoModel<M870Item> {
|
|||
}
|
||||
} else {
|
||||
shen.setPosY(0.7f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(4.2f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.15f * (float) (0.18f * fp + fr));
|
||||
shen.setPosZ(6.2f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.3f * (float) (0.18f * fp + fr));
|
||||
shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr));
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.045f * (float) fr);
|
||||
|
|
|
@ -41,7 +41,7 @@ public class M98bItemModel extends GeoModel<M98bItem> {
|
|||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
|
||||
shen.setPosY(0.4f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(3.6f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.12f * (float) (fp + fr));
|
||||
shen.setRotX(0.18f * (float) (fp + fr));
|
||||
shen.setRotZ(0f);
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.025f * (float) fr);
|
||||
|
@ -51,7 +51,7 @@ public class M98bItemModel extends GeoModel<M98bItem> {
|
|||
} else {
|
||||
shen.setPosY(0.7f * (float) (fp + 2 * fr));
|
||||
shen.setPosZ(4.2f * (float) (fp + 0.54f * fr));
|
||||
shen.setRotX(0.15f * (float) (0.18f * fp + fr));
|
||||
shen.setRotX(0.25f * (float) (0.18f * fp + fr));
|
||||
shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr));
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).recoilHorizon > 0) {
|
||||
shen.setRotY(0.045f * (float) fr);
|
||||
|
|
|
@ -160,18 +160,21 @@ public class AmmoBarOverlay {
|
|||
return (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleAmmo;
|
||||
}
|
||||
|
||||
if (stack.getItem() == TargetModItems.BOCEK.get()) {
|
||||
return stack.getOrCreateTag().getInt("max_ammo");
|
||||
}
|
||||
|
||||
return stack.getOrCreateTag().getInt("ammo");
|
||||
}
|
||||
|
||||
private static String getPlayerAmmoCount(Player player) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
|
||||
if (stack.getItem() == TargetModItems.MINIGUN.get()) {
|
||||
if (stack.getItem() == TargetModItems.MINIGUN.get() || stack.getItem() == TargetModItems.BOCEK.get()) {
|
||||
return "";
|
||||
}
|
||||
|
||||
if (stack.getItem() == TargetModItems.BOCEK.get() || stack.getItem() == TargetModItems.M_79.get()
|
||||
|| stack.getItem() == TargetModItems.RPG.get() || stack.getItem() == TargetModItems.TASER.get()) {
|
||||
if (stack.getItem() == TargetModItems.M_79.get() || stack.getItem() == TargetModItems.RPG.get() || stack.getItem() == TargetModItems.TASER.get()) {
|
||||
return "" + stack.getOrCreateTag().getInt("max_ammo");
|
||||
}
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ public class SpyglassRangeOverlay {
|
|||
int w = event.getWindow().getGuiScaledWidth();
|
||||
int h = event.getWindow().getGuiScaledHeight();
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player != null && player.getMainHandItem().getItem() == Items.SPYGLASS && player.isUsingItem()) {
|
||||
if (player != null && (player.getMainHandItem().getItem() == Items.SPYGLASS || player.getOffhandItem().getItem() == Items.SPYGLASS ) && player.isUsingItem()) {
|
||||
event.getGuiGraphics().drawString(
|
||||
Minecraft.getInstance().font,
|
||||
getDistanceString(player),
|
||||
|
|
|
@ -207,30 +207,10 @@ public class ClaymoreEntity extends TamableAnimal implements GeoEntity, Animated
|
|||
if (!this.level().isClientSide()) this.discard();
|
||||
}
|
||||
|
||||
if (data.getDouble("def") >= 100) {
|
||||
if (!this.level().isClientSide()) this.discard();
|
||||
|
||||
if (!level.isClientSide()) {
|
||||
level.playSound(null, BlockPos.containing(x, y, z), SoundEvents.SHIELD_BREAK, SoundSource.PLAYERS, 1, 1);
|
||||
} else {
|
||||
level.playLocalSound(x, y, z, SoundEvents.SHIELD_BREAK, SoundSource.PLAYERS, 1, 1, false);
|
||||
}
|
||||
|
||||
if (level instanceof ServerLevel server) {
|
||||
ItemEntity entityToSpawn = new ItemEntity(server, x, y, z, new ItemStack(TargetModItems.CLAYMORE_MINE.get()));
|
||||
entityToSpawn.setPickUpDelay(10);
|
||||
server.addFreshEntity(entityToSpawn);
|
||||
}
|
||||
}
|
||||
|
||||
this.removeAllEffects();
|
||||
this.clearFire();
|
||||
|
||||
if (data.getInt("trigger") <= 60) {
|
||||
data.putInt("trigger", data.getInt("trigger") + 1);
|
||||
}
|
||||
|
||||
if (data.getInt("trigger") >= 40) {
|
||||
if (this.tickCount >= 40) {
|
||||
final Vec3 center = new Vec3(x + 1.5 * this.getLookAngle().x, y + 1.5 * this.getLookAngle().y, z + 1.5 * this.getLookAngle().z);
|
||||
for (Entity target : level.getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(2.5 / 2d), e -> true).stream().sorted(Comparator.comparingDouble(e -> e.distanceToSqr(center))).toList()) {
|
||||
var condition = this.getOwner() != target
|
||||
|
|
|
@ -54,6 +54,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
protected int shooterId;
|
||||
private float damage = 1f;
|
||||
private float headShot = 1f;
|
||||
private float legShot = 0.4f;
|
||||
private boolean beast = false;
|
||||
|
||||
public ProjectileEntity(EntityType<? extends ProjectileEntity> p_i50159_1_, Level p_i50159_2_) {
|
||||
|
@ -83,6 +84,11 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
return this;
|
||||
}
|
||||
|
||||
public ProjectileEntity legShot(float legShot) {
|
||||
this.legShot = legShot;
|
||||
return this;
|
||||
}
|
||||
|
||||
public ProjectileEntity beast() {
|
||||
this.beast = true;
|
||||
return this;
|
||||
|
@ -93,6 +99,7 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
Vec3 hitVec = null;
|
||||
Entity hitEntity = null;
|
||||
boolean headshot = false;
|
||||
boolean legshot = false;
|
||||
List<Entity> entities = this.level()
|
||||
.getEntities(this,
|
||||
this.getBoundingBox()
|
||||
|
@ -118,9 +125,10 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
hitEntity = entity;
|
||||
closestDistance = distanceToHit;
|
||||
headshot = result.isHeadshot();
|
||||
legshot = result.isLegshot();
|
||||
}
|
||||
}
|
||||
return hitEntity != null ? new EntityResult(hitEntity, hitVec, headshot) : null;
|
||||
return hitEntity != null ? new EntityResult(hitEntity, hitVec, headshot, legshot) : null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
|
@ -180,12 +188,17 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
}
|
||||
Vec3 hitBoxPos = hitPos.subtract(entity.position());
|
||||
boolean headshot = false;
|
||||
boolean legshot = false;
|
||||
float eyeHeight = entity.getEyeHeight();
|
||||
if ((eyeHeight - 0.35) < hitBoxPos.y && hitBoxPos.y < (eyeHeight + 0.35)) {
|
||||
float BodyHeight = entity.getBbHeight();
|
||||
if ((eyeHeight - 0.3) < hitBoxPos.y && hitBoxPos.y < (eyeHeight + 0.4)) {
|
||||
headshot = true;
|
||||
}
|
||||
if (hitBoxPos.y < (0.33 * BodyHeight)) {
|
||||
legshot = true;
|
||||
}
|
||||
|
||||
return new EntityResult(entity, hitPos, headshot);
|
||||
return new EntityResult(entity, hitPos, headshot, legshot);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -298,12 +311,12 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
}
|
||||
}
|
||||
|
||||
this.onHitEntity(entity, entityHitResult.isHeadshot());
|
||||
this.onHitEntity(entity, entityHitResult.isHeadshot(), entityHitResult.isLegshot());
|
||||
entity.invulnerableTime = 0;
|
||||
}
|
||||
}
|
||||
|
||||
protected void onHitEntity(Entity entity, boolean headshot) {
|
||||
protected void onHitEntity(Entity entity, boolean headshot, boolean legshot) {
|
||||
if (entity == null) return;
|
||||
|
||||
if (entity instanceof PartEntity<?> part) {
|
||||
|
@ -350,7 +363,16 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(1, 5));
|
||||
}
|
||||
entity.hurt(TargetModDamageTypes.causeGunFireHeadshotDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.headShot);
|
||||
} else {
|
||||
} else if (legshot) {
|
||||
if (!this.shooter.level().isClientSide() && this.shooter instanceof ServerPlayer player) {
|
||||
var holder = Holder.direct(TargetModSounds.INDICATION.get());
|
||||
player.connection.send(new ClientboundSoundPacket(holder, SoundSource.PLAYERS, player.getX(), player.getY(), player.getZ(), 1f, 1f, player.level().random.nextLong()));
|
||||
|
||||
TargetMod.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> player), new ClientIndicatorMessage(0, 5));
|
||||
}
|
||||
entity.hurt(TargetModDamageTypes.causeGunFireDamage(this.level().registryAccess(), this, this.shooter), this.damage * this.legShot);
|
||||
}
|
||||
else {
|
||||
if (!this.shooter.level().isClientSide() && this.shooter instanceof ServerPlayer player) {
|
||||
var holder = Holder.direct(TargetModSounds.INDICATION.get());
|
||||
player.connection.send(new ClientboundSoundPacket(holder, SoundSource.PLAYERS, player.getX(), player.getY(), player.getZ(), 1f, 1f, player.level().random.nextLong()));
|
||||
|
@ -492,11 +514,13 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
private final Entity entity;
|
||||
private final Vec3 hitVec;
|
||||
private final boolean headshot;
|
||||
private final boolean legshot;
|
||||
|
||||
public EntityResult(Entity entity, Vec3 hitVec, boolean headshot) {
|
||||
public EntityResult(Entity entity, Vec3 hitVec, boolean headshot, boolean legshot) {
|
||||
this.entity = entity;
|
||||
this.hitVec = hitVec;
|
||||
this.headshot = headshot;
|
||||
this.legshot = legshot;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -519,5 +543,9 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa
|
|||
public boolean isHeadshot() {
|
||||
return this.headshot;
|
||||
}
|
||||
|
||||
public boolean isLegshot() {
|
||||
return this.legshot;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -72,13 +72,15 @@ public class RpgRocketEntity extends ThrowableItemProjectile {
|
|||
}
|
||||
}
|
||||
|
||||
if (this.level() instanceof ServerLevel level) {
|
||||
level.explode(this, this.getX(), this.getY(), this.getZ(), 5, Level.ExplosionInteraction.NONE);
|
||||
if (this.tickCount > 2) {
|
||||
if (this.level() instanceof ServerLevel level) {
|
||||
level.explode(this, this.getX(), this.getY(), this.getZ(), 5, Level.ExplosionInteraction.NONE);
|
||||
|
||||
if (!entity.level().isClientSide()) {
|
||||
ParticleTool.spawnMediumExplosionParticles(this.level(), this.position());
|
||||
if (!entity.level().isClientSide()) {
|
||||
ParticleTool.spawnMediumExplosionParticles(this.level(), this.position());
|
||||
}
|
||||
this.discard();
|
||||
}
|
||||
this.discard();
|
||||
}
|
||||
|
||||
if (entity instanceof LivingEntity) {
|
||||
|
@ -136,9 +138,11 @@ public class RpgRocketEntity extends ThrowableItemProjectile {
|
|||
public void onHitBlock(BlockHitResult blockHitResult) {
|
||||
super.onHitBlock(blockHitResult);
|
||||
|
||||
if (this.level() instanceof ServerLevel level) {
|
||||
level.explode(this, this.getX(), this.getY(), this.getZ(), 5, Level.ExplosionInteraction.NONE);
|
||||
ParticleTool.spawnMediumExplosionParticles(this.level(), this.position());
|
||||
if (this.tickCount > 2) {
|
||||
if (this.level() instanceof ServerLevel level) {
|
||||
level.explode(this, this.getX(), this.getY(), this.getZ(), 5, Level.ExplosionInteraction.NONE);
|
||||
ParticleTool.spawnMediumExplosionParticles(this.level(), this.position());
|
||||
}
|
||||
}
|
||||
|
||||
this.discard();
|
||||
|
@ -148,12 +152,12 @@ public class RpgRocketEntity extends ThrowableItemProjectile {
|
|||
public void tick() {
|
||||
super.tick();
|
||||
|
||||
if (this.tickCount == 4) {
|
||||
if (this.tickCount == 2) {
|
||||
if (!this.level().isClientSide() && this.level() instanceof ServerLevel serverLevel) {
|
||||
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(), 50, 0.8, 0.8, 0.8, 0.01, true);
|
||||
}
|
||||
}
|
||||
if (this.tickCount > 4) {
|
||||
if (this.tickCount > 2) {
|
||||
this.setDeltaMovement(new Vec3((1.04 * this.getDeltaMovement().x()), (1.04 * this.getDeltaMovement().y() - 0.02), (1.04 * this.getDeltaMovement().z())));
|
||||
|
||||
if (!this.level().isClientSide() && this.level() instanceof ServerLevel serverLevel) {
|
||||
|
|
|
@ -72,6 +72,11 @@ public class SenpaiEntity extends Spider implements GeoEntity, AnimatedEntity {
|
|||
this.entityData.define(ANIMATION, "undefined");
|
||||
}
|
||||
|
||||
@Override
|
||||
protected float getStandingEyeHeight(Pose poseIn, EntityDimensions sizeIn) {
|
||||
return 1.75F;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Packet<ClientGamePacketListener> getAddEntityPacket() {
|
||||
return NetworkHooks.getEntitySpawningPacket(this);
|
||||
|
@ -141,7 +146,7 @@ public class SenpaiEntity extends Spider implements GeoEntity, AnimatedEntity {
|
|||
double target = this.getPersistentData().getInt("find_target");
|
||||
if (target == 1) {
|
||||
final Vec3 center = new Vec3(this.getX(), this.getY(), this.getZ());
|
||||
this.level().getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(1024 / 2d), e -> true)
|
||||
this.level().getEntitiesOfClass(Entity.class, new AABB(center, center).inflate(256 / 2d), e -> true)
|
||||
.stream()
|
||||
.sorted(Comparator.comparingDouble(e -> e.distanceToSqr(center)))
|
||||
.filter(e -> e instanceof Player player && !player.isCreative())
|
||||
|
|
|
@ -41,7 +41,7 @@ public class MouseHandlerMixin {
|
|||
if (!player.getMainHandItem().isEmpty() && mc.options.getCameraType() == CameraType.FIRST_PERSON) {
|
||||
if (stack.is(TargetModTags.Items.GUN)) {
|
||||
if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
|
||||
additionalAdsSensitivity = (float) Mth.clamp((1 + 0.1f * custom_sens) * (1.25F * fov / original_fov) * (1 + 0.05f * Math.pow((original_fov / fov), 2)), 0.125F, 2F);
|
||||
additionalAdsSensitivity = (float) Mth.clamp((1 + 0.1f * custom_sens) * (1.25F * fov / original_fov) * (1 + 0.2f * Math.pow((original_fov / fov), 1.25)), 0.125F, 2F);
|
||||
} else {
|
||||
additionalAdsSensitivity = Mth.clamp((1 + 0.1f * custom_sens) * 1.25F, 0.125F, 2F);
|
||||
}
|
||||
|
|
|
@ -8,13 +8,18 @@ import net.minecraft.world.phys.EntityHitResult;
|
|||
*/
|
||||
public class ExtendedEntityRayTraceResult extends EntityHitResult {
|
||||
private final boolean headshot;
|
||||
private final boolean legshot;
|
||||
|
||||
public ExtendedEntityRayTraceResult(ProjectileEntity.EntityResult result) {
|
||||
super(result.getEntity(), result.getHitPos());
|
||||
this.headshot = result.isHeadshot();
|
||||
this.legshot = result.isLegshot();
|
||||
}
|
||||
|
||||
public boolean isHeadshot() {
|
||||
return this.headshot;
|
||||
}
|
||||
public boolean isLegshot() {
|
||||
return this.legshot;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -161,22 +161,16 @@
|
|||
"death.attack.arrow_in_brain.entity": "%2$s's arrow shot into %1$s's brain",
|
||||
"death.attack.arrow_in_brain.item": "%2$s used %3$s to make an arrow shot into %1$s's brain",
|
||||
"death.attack.beast_gun": "%1$s was killed by %2$s using BEAST guns",
|
||||
"death.attack.mine": "%1$s不慎踩到了阔剑地雷",
|
||||
"death.attack.mine": "%1$s step on Claymore",
|
||||
"death.attack.mine.entity": "%1$s step on %2$s's Claymore",
|
||||
"death.attack.mine.item": "%1$s踩到了%2$s的阔剑地雷",
|
||||
"death.attack.mine.item": "%1$s step on %2$s's Claymore",
|
||||
|
||||
"Shell Estimated Range": "Estimated Range:",
|
||||
"gui.target.mortar_gui.label_proc_range": "Estimated Range:",
|
||||
"gui.target.mortar_gui.button_051": "+0.5",
|
||||
"gui.target.mortar_gui.button_05": "-0.5",
|
||||
"gui.target.mortar_gui.button_zeng_da_yang_jiao": "+1",
|
||||
"gui.target.mortar_gui.button_empty": "-1",
|
||||
"gui.target.mortar_gui.button_10": "+10",
|
||||
"gui.target.mortar_gui.button_101": "-10",
|
||||
"gui.target.mortar_gui.label_empty": "",
|
||||
"gui.target.mortar_gui.pitch": "",
|
||||
"gui.target.mortar_gui.test": "Add",
|
||||
"gui.target.mortar_gui.label_range2090": "Range:20~90",
|
||||
"gui.target.mortar_gui.button_angle_add_05": "+0.5",
|
||||
"gui.target.mortar_gui.button_angle_reduce_05": "-0.5",
|
||||
"gui.target.mortar_gui.button_angle_add_1": "+1",
|
||||
"gui.target.mortar_gui.button_angle_reduce_1": "-1",
|
||||
"gui.target.mortar_gui.button_angle_add_10": "+10",
|
||||
"gui.target.mortar_gui.button_angle_reduce_10": "-10",
|
||||
"gui.target.gun_recycle_gui.tooltip_if_guns_level_10you_will_get": "If gun\u0027s level \u003e 10,you will get soul nuggets",
|
||||
"gui.target.gun_recycle_gui.button_dismantle": "Dismantle",
|
||||
"gui.target.mortar_gui.button_set": "Confirm",
|
||||
|
|
|
@ -165,18 +165,12 @@
|
|||
"death.attack.mine.entity": "%1$s踩到了%2$s的阔剑地雷",
|
||||
"death.attack.mine.item": "%1$s踩到了%2$s的阔剑地雷",
|
||||
|
||||
"Shell Estimated Range": "炮弹预估射程:",
|
||||
"gui.target.mortar_gui.label_proc_range": "预估射程:",
|
||||
"gui.target.mortar_gui.button_051": "+0.5",
|
||||
"gui.target.mortar_gui.button_05": "-0.5",
|
||||
"gui.target.mortar_gui.button_zeng_da_yang_jiao": "+1",
|
||||
"gui.target.mortar_gui.button_empty": "-1",
|
||||
"gui.target.mortar_gui.button_10": "+10",
|
||||
"gui.target.mortar_gui.button_101": "-10",
|
||||
"gui.target.mortar_gui.label_empty": "",
|
||||
"gui.target.mortar_gui.pitch": "",
|
||||
"gui.target.mortar_gui.test": "增加",
|
||||
"gui.target.mortar_gui.label_range2090": "范围:20~90",
|
||||
"gui.target.mortar_gui.button_angle_add_05": "+0.5",
|
||||
"gui.target.mortar_gui.button_angle_reduce_05": "-0.5",
|
||||
"gui.target.mortar_gui.button_angle_add_1": "+1",
|
||||
"gui.target.mortar_gui.button_angle_reduce_1": "-1",
|
||||
"gui.target.mortar_gui.button_angle_add_10": "+10",
|
||||
"gui.target.mortar_gui.button_angle_reduce_10": "-10",
|
||||
"gui.target.gun_recycle_gui.tooltip_if_guns_level_10you_will_get": "如果枪械熟练度大于10级,你将会获得魂钢粒",
|
||||
"gui.target.gun_recycle_gui.button_dismantle": "拆解",
|
||||
"gui.target.mortar_gui.button_set": "确认",
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"dev": 7,
|
||||
"recoil_x": 0.004,
|
||||
"recoil_y": 0.03,
|
||||
"damage": 40,
|
||||
"damage": 65,
|
||||
"headshot": 3,
|
||||
"velocity": 38,
|
||||
"mag": 1,
|
||||
|
|
Loading…
Add table
Reference in a new issue