From 2f0e39e54c5c40d946db2e1195bec0770b77b21b Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Thu, 6 Jun 2024 02:08:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Drpk=E6=A0=93=E4=B8=8D?= =?UTF-8?q?=E5=8A=A8=EF=BC=8CM60=E7=9A=84=E6=8D=A2=E5=BC=B9=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcreator/target/client/layer/M4Layer.java | 4 +-- .../client/model/item/RpkItemModel.java | 2 ++ .../target/entity/ProjectileEntity.java | 32 +++++++++---------- .../target/event/ClientEventHandler.java | 8 ++--- .../net/mcreator/target/item/gun/M60Item.java | 3 ++ 5 files changed, 27 insertions(+), 22 deletions(-) diff --git a/src/main/java/net/mcreator/target/client/layer/M4Layer.java b/src/main/java/net/mcreator/target/client/layer/M4Layer.java index be31c4d72..528ff9c36 100644 --- a/src/main/java/net/mcreator/target/client/layer/M4Layer.java +++ b/src/main/java/net/mcreator/target/client/layer/M4Layer.java @@ -14,8 +14,8 @@ import software.bernie.geckolib.renderer.layer.GeoRenderLayer; public class M4Layer extends GeoRenderLayer { private static final ResourceLocation LAYER = new ResourceLocation("target", "textures/item/m4_e.png"); - public M4Layer(GeoRenderer entityRenderer) { - super(entityRenderer); + public M4Layer(GeoRenderer itemGeoRenderer) { + super(itemGeoRenderer); } @Override diff --git a/src/main/java/net/mcreator/target/client/model/item/RpkItemModel.java b/src/main/java/net/mcreator/target/client/model/item/RpkItemModel.java index 660e21044..59963406c 100644 --- a/src/main/java/net/mcreator/target/client/model/item/RpkItemModel.java +++ b/src/main/java/net/mcreator/target/client/model/item/RpkItemModel.java @@ -107,6 +107,8 @@ public class RpkItemModel extends GeoModel { } } + shuan.setPosZ(2.4f * (float) fp); + if (stack.getOrCreateTag().getDouble("flash_time") > 0) { flare.setScaleX((float) (1.0 + 0.5 * (Math.random() - 0.5))); flare.setScaleY((float) (1.0 + 0.5 * (Math.random() - 0.5))); diff --git a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java index adff5e5a8..084e1d4b2 100644 --- a/src/main/java/net/mcreator/target/entity/ProjectileEntity.java +++ b/src/main/java/net/mcreator/target/entity/ProjectileEntity.java @@ -33,6 +33,7 @@ import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.material.FluidState; import net.minecraft.world.phys.*; import net.minecraft.world.phys.shapes.VoxelShape; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.entity.IEntityAdditionalSpawnData; import net.minecraftforge.entity.PartEntity; import net.minecraftforge.network.PacketDistributor; @@ -273,27 +274,11 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa protected void onProjectileTick() { } - - protected void onHitBlock(Vec3 location) { - if (this.level() instanceof ServerLevel serverLevel) { - if (this.beast) { - ParticleTool.sendParticle(serverLevel, ParticleTypes.END_ROD, location.x, location.y, location.z, 15, 0.1, 0.1, 0.1, 0.05, true); - } else { - ParticleTool.sendParticle(serverLevel, TargetModParticleTypes.BULLET_HOLE.get(), location.x, location.y, location.z, 1, 0, 0, 0, 0, true); - ParticleTool.sendParticle(serverLevel, ParticleTypes.SMOKE, location.x, location.y, location.z, 3, 0, 0.1, 0, 0.01, true); - - this.discard(); - } - serverLevel.playSound(null, new BlockPos((int) location.x, (int) location.y, (int) location.z), TargetModSounds.LAND.get(), SoundSource.BLOCKS, 1.0F, 1.0F); - } - } - private void onHit(HitResult result) { if (result instanceof BlockHitResult blockHitResult) { if (blockHitResult.getType() == HitResult.Type.MISS) { return; } - Vec3 hitVec = result.getLocation(); this.onHitBlock(hitVec); } @@ -315,6 +300,21 @@ public class ProjectileEntity extends Entity implements IEntityAdditionalSpawnDa } } + protected void onHitBlock(Vec3 location) { + + if (this.level() instanceof ServerLevel serverLevel) { + if (this.beast) { + ParticleTool.sendParticle(serverLevel, ParticleTypes.END_ROD, location.x, location.y, location.z, 15, 0.1, 0.1, 0.1, 0.05, true); + } else { + ParticleTool.sendParticle(serverLevel, TargetModParticleTypes.BULLET_HOLE.get(), location.x, location.y, location.z, 1, 0, 0, 0, 0, true); + ParticleTool.sendParticle(serverLevel, ParticleTypes.SMOKE, location.x, location.y, location.z, 3, 0, 0.1, 0, 0.01, true); + + this.discard(); + } + serverLevel.playSound(null, new BlockPos((int) location.x, (int) location.y, (int) location.z), TargetModSounds.LAND.get(), SoundSource.BLOCKS, 1.0F, 1.0F); + } + } + protected void onHitEntity(Entity entity, boolean headshot, boolean legshot) { if (entity == null) return; diff --git a/src/main/java/net/mcreator/target/event/ClientEventHandler.java b/src/main/java/net/mcreator/target/event/ClientEventHandler.java index c4313962f..079593245 100644 --- a/src/main/java/net/mcreator/target/event/ClientEventHandler.java +++ b/src/main/java/net/mcreator/target/event/ClientEventHandler.java @@ -284,16 +284,16 @@ public class ClientEventHandler { data.putDouble("firetime", 0.02); data.putDouble("fire_rotx_time", 0.02); if (data.getDouble("firepos2") < 0.6) { - data.putDouble("firepos2", (data.getDouble("firepos2") + 0.04 * times)); + data.putDouble("firepos2", (data.getDouble("firepos2") + 0.06 * times)); } } if (0 < data.getDouble("firepos2")) { - data.putDouble("firepos2", (data.getDouble("firepos2") - 0.01 * times)); + data.putDouble("firepos2", (data.getDouble("firepos2") - 0.015 * times)); } else { data.putDouble("firepos2", 0); } if (0 < data.getDouble("firetime")) { - data.putDouble("firetime", (data.getDouble("firetime") + 0.12 * (1.1 - data.getDouble("firetime")) * times)); + data.putDouble("firetime", (data.getDouble("firetime") + 0.18 * (1.1 - data.getDouble("firetime")) * times)); } if (0 < data.getDouble("firetime") && data.getDouble("firetime") < 0.454) { data.putDouble("fire_pos", @@ -307,7 +307,7 @@ public class ClientEventHandler { if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.732) { - data.putDouble("fire_rotx_time", (data.getDouble("fire_rotx_time") + 0.12 * (1.9 - data.getDouble("fire_rotx_time")) * times)); + data.putDouble("fire_rotx_time", (data.getDouble("fire_rotx_time") + 0.18 * (1.9 - data.getDouble("fire_rotx_time")) * times)); } if (0 < data.getDouble("fire_rotx_time") && data.getDouble("fire_rotx_time") < 1.732) { diff --git a/src/main/java/net/mcreator/target/item/gun/M60Item.java b/src/main/java/net/mcreator/target/item/gun/M60Item.java index c31e95494..7abe791e8 100644 --- a/src/main/java/net/mcreator/target/item/gun/M60Item.java +++ b/src/main/java/net/mcreator/target/item/gun/M60Item.java @@ -190,6 +190,9 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem { SoundTool.playLocalSound(serverPlayer, TargetModSounds.M_60_RELOAD_NORMAL.get(), 100, 1); } } + if (tag.getDouble("reload_time") <= 55) { + tag.putDouble("empty", 0); + } if (player.getMainHandItem().getItem() == itemStack.getItem() && player.getMainHandItem().getOrCreateTag().getDouble("id") == id) { if (tag.getDouble("reload_time") > 0) {