From 791bab74094e8c507fced41f3e323ddddffbe7a9 Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Tue, 4 Jun 2024 12:04:07 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B3=A2=E5=A1=9E=E5=85=8B?= =?UTF-8?q?=E5=BC=B9=E8=8D=AF=E6=98=BE=E7=A4=BAbug=EF=BC=8C=E8=A7=84?= =?UTF-8?q?=E8=8C=83=E5=8C=96=E5=91=BD=E5=90=8D=E8=BF=AB=E5=87=BB=E7=82=AE?= =?UTF-8?q?UI=E6=8C=89=E9=92=AE=EF=BC=8C=E8=B0=83=E6=95=B4=E5=8A=A8?= =?UTF-8?q?=E7=94=BB=EF=BC=8C=E4=BF=AE=E5=A4=8D=E6=9C=9B=E8=BF=9C=E9=95=9C?= =?UTF-8?q?=E5=AE=9E=E4=BD=93=E6=B5=8B=E8=B7=9D=E5=89=AF=E6=89=8B=E4=B8=8D?= =?UTF-8?q?=E8=B5=B7=E4=BD=9C=E7=94=A8bug=EF=BC=8C=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E5=85=88=E8=BE=88=E8=84=91=E8=A2=8B=E9=AB=98=E5=BA=A6=EF=BC=8C?= =?UTF-8?q?=E5=8A=A0=E5=85=A5=E6=89=93=E8=85=BF=E5=88=A4=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../target/client/gui/MortarGUIScreen.java | 48 +++++++++---------- .../client/model/item/M870ItemModel.java | 8 ++-- .../client/model/item/M98bItemModel.java | 4 +- .../target/client/screens/AmmoBarOverlay.java | 9 ++-- .../client/screens/SpyglassRangeOverlay.java | 2 +- .../target/entity/ClaymoreEntity.java | 22 +-------- .../target/entity/ProjectileEntity.java | 42 +++++++++++++--- .../target/entity/RpgRocketEntity.java | 24 ++++++---- .../mcreator/target/entity/SenpaiEntity.java | 7 ++- .../target/mixins/MouseHandlerMixin.java | 2 +- .../tools/ExtendedEntityRayTraceResult.java | 5 ++ .../resources/assets/target/lang/en_us.json | 22 ++++----- .../resources/assets/target/lang/zh_cn.json | 18 +++---- .../data/target/guns/hunting_rifle.json | 2 +- 14 files changed, 114 insertions(+), 101 deletions(-) diff --git a/src/main/java/net/mcreator/target/client/gui/MortarGUIScreen.java b/src/main/java/net/mcreator/target/client/gui/MortarGUIScreen.java index f30bad934..649e54069 100644 --- a/src/main/java/net/mcreator/target/client/gui/MortarGUIScreen.java +++ b/src/main/java/net/mcreator/target/client/gui/MortarGUIScreen.java @@ -21,12 +21,12 @@ public class MortarGUIScreen extends AbstractContainerScreen { private final static HashMap 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 { @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); } } diff --git a/src/main/java/net/mcreator/target/client/model/item/M870ItemModel.java b/src/main/java/net/mcreator/target/client/model/item/M870ItemModel.java index 8d03d8153..953a9cfeb 100644 --- a/src/main/java/net/mcreator/target/client/model/item/M870ItemModel.java +++ b/src/main/java/net/mcreator/target/client/model/item/M870ItemModel.java @@ -66,8 +66,8 @@ public class M870ItemModel extends GeoModel { 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 { } } 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); diff --git a/src/main/java/net/mcreator/target/client/model/item/M98bItemModel.java b/src/main/java/net/mcreator/target/client/model/item/M98bItemModel.java index 396bddd70..4b9764cef 100644 --- a/src/main/java/net/mcreator/target/client/model/item/M98bItemModel.java +++ b/src/main/java/net/mcreator/target/client/model/item/M98bItemModel.java @@ -41,7 +41,7 @@ public class M98bItemModel extends GeoModel { 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 { } 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); diff --git a/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java b/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java index 5dabfddaa..a37c1ac84 100644 --- a/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java +++ b/src/main/java/net/mcreator/target/client/screens/AmmoBarOverlay.java @@ -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"); } diff --git a/src/main/java/net/mcreator/target/client/screens/SpyglassRangeOverlay.java b/src/main/java/net/mcreator/target/client/screens/SpyglassRangeOverlay.java index fb3d80bd6..8ac60adb3 100644 --- a/src/main/java/net/mcreator/target/client/screens/SpyglassRangeOverlay.java +++ b/src/main/java/net/mcreator/target/client/screens/SpyglassRangeOverlay.java @@ -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), diff --git a/src/main/java/net/mcreator/target/entity/ClaymoreEntity.java b/src/main/java/net/mcreator/target/entity/ClaymoreEntity.java index a79f857fd..141a666cc 100644 --- a/src/main/java/net/mcreator/target/entity/ClaymoreEntity.java +++ b/src/main/java/net/mcreator/target/entity/ClaymoreEntity.java @@ -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 diff --git a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java index 77055849c..760b444fd 100644 --- a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java @@ -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 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 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; + } } } diff --git a/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java b/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java index 7b5f729c0..a166cef35 100644 --- a/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java +++ b/src/main/java/net/mcreator/target/entity/RpgRocketEntity.java @@ -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) { diff --git a/src/main/java/net/mcreator/target/entity/SenpaiEntity.java b/src/main/java/net/mcreator/target/entity/SenpaiEntity.java index d7266f5cf..a79afef19 100644 --- a/src/main/java/net/mcreator/target/entity/SenpaiEntity.java +++ b/src/main/java/net/mcreator/target/entity/SenpaiEntity.java @@ -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 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()) diff --git a/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java b/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java index 229158768..f12eaaa72 100644 --- a/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java +++ b/src/main/java/net/mcreator/target/mixins/MouseHandlerMixin.java @@ -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); } diff --git a/src/main/java/net/mcreator/target/tools/ExtendedEntityRayTraceResult.java b/src/main/java/net/mcreator/target/tools/ExtendedEntityRayTraceResult.java index 96d4d2e5f..e627c390d 100644 --- a/src/main/java/net/mcreator/target/tools/ExtendedEntityRayTraceResult.java +++ b/src/main/java/net/mcreator/target/tools/ExtendedEntityRayTraceResult.java @@ -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; + } } diff --git a/src/main/resources/assets/target/lang/en_us.json b/src/main/resources/assets/target/lang/en_us.json index a8ca8364c..4067b3872 100644 --- a/src/main/resources/assets/target/lang/en_us.json +++ b/src/main/resources/assets/target/lang/en_us.json @@ -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", diff --git a/src/main/resources/assets/target/lang/zh_cn.json b/src/main/resources/assets/target/lang/zh_cn.json index 607d9f4c2..4cbf60692 100644 --- a/src/main/resources/assets/target/lang/zh_cn.json +++ b/src/main/resources/assets/target/lang/zh_cn.json @@ -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": "确认", diff --git a/src/main/resources/data/target/guns/hunting_rifle.json b/src/main/resources/data/target/guns/hunting_rifle.json index 0032971cc..dedb19c7f 100644 --- a/src/main/resources/data/target/guns/hunting_rifle.json +++ b/src/main/resources/data/target/guns/hunting_rifle.json @@ -4,7 +4,7 @@ "dev": 7, "recoil_x": 0.004, "recoil_y": 0.03, - "damage": 40, + "damage": 65, "headshot": 3, "velocity": 38, "mag": 1,