From 954862d71093ffbef59a80fe14cf7ca96b6bdd5a Mon Sep 17 00:00:00 2001 From: Atsuihsio <842960157@qq.com> Date: Sun, 7 Jul 2024 23:03:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4M4=E7=9A=84=E6=89=8B=E8=87=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/renderer/item/M4ItemRenderer.java | 75 ------------------- .../target/event/PlayerEventHandler.java | 24 +++--- .../target/network/message/FireMessage.java | 3 - 3 files changed, 13 insertions(+), 89 deletions(-) diff --git a/src/main/java/net/mcreator/target/client/renderer/item/M4ItemRenderer.java b/src/main/java/net/mcreator/target/client/renderer/item/M4ItemRenderer.java index 291b8d226..3079bde90 100644 --- a/src/main/java/net/mcreator/target/client/renderer/item/M4ItemRenderer.java +++ b/src/main/java/net/mcreator/target/client/renderer/item/M4ItemRenderer.java @@ -33,81 +33,6 @@ public class M4ItemRenderer extends GeoItemRenderer { this.addRenderLayer(new M4Layer(this)); } - @Override - public RenderType getRenderType(M4Item animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { - return RenderType.entityTranslucent(getTextureLocation(animatable)); - } - - private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; - protected boolean renderArms = false; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected M4Item animatable; - private final Set hiddenBones = new HashSet<>(); - private final Set suppressedBones = new HashSet<>(); - - @Override - public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { - this.transformType = transformType; - if (this.animatable != null) - this.animatable.getTransformType(transformType); - super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); - } - - @Override - public void actuallyRender(PoseStack matrixStackIn, M4Item animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn, - int packedOverlayIn, float red, float green, float blue, float alpha) { - this.currentBuffer = renderTypeBuffer; - this.renderType = type; - this.animatable = animatable; - super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha); - if (this.renderArms) { - this.renderArms = false; - } - } - - @Override - public void renderRecursively(PoseStack stack, M4Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red, - float green, float blue, float alpha) { - Minecraft mc = Minecraft.getInstance(); - String name = bone.getName(); - boolean renderingArms = false; - if (name.equals("Lefthand") || name.equals("Righthand")) { - bone.setHidden(true); - renderingArms = true; - } else { - bone.setHidden(this.hiddenBones.contains(name)); - } - if (this.transformType.firstPerson() && renderingArms) { - AbstractClientPlayer player = mc.player; - float armsAlpha = player.isInvisible() ? 0.15f : 1.0f; - PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player); - PlayerModel model = playerRenderer.getModel(); - stack.pushPose(); - RenderUtils.translateMatrixToBone(stack, bone); - RenderUtils.translateToPivotPoint(stack, bone); - RenderUtils.rotateMatrixAroundBone(stack, bone); - RenderUtils.scaleMatrixForBone(stack, bone); - RenderUtils.translateAwayFromPivotPoint(stack, bone); - ResourceLocation loc = player.getSkinTextureLocation(); - VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); - VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); - if (name.equals("Lefthand")) { - stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); - AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, armsAlpha); - AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, armsAlpha); - } else if (name.equals("Righthand")) { - stack.translate(1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); - AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, armsAlpha); - AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, armsAlpha); - } - this.currentBuffer.getBuffer(RenderType.entityTranslucent(getTextureLocation(this.animatable))); - stack.popPose(); - } - super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha); - } - @Override public ResourceLocation getTextureLocation(M4Item instance) { return super.getTextureLocation(instance); diff --git a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java index cd1b3a6f1..6141344d3 100644 --- a/src/main/java/net/mcreator/target/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/target/event/PlayerEventHandler.java @@ -60,18 +60,20 @@ public class PlayerEventHandler { ItemStack stack = player.getMainHandItem(); - if (event.phase == TickEvent.Phase.END && stack.is(TargetModTags.Items.GUN)) { - handlePlayerProne(player); - handlePlayerSprint(player); - handleWeaponLevel(player); - handleAmmoCount(player); - handleGround(player); - handlePrepareZoom(player); - handleSpecialWeaponAmmo(player); - handleChangeFireRate(player); + if (event.phase == TickEvent.Phase.END) { + if (stack.is(TargetModTags.Items.GUN)) { + handlePlayerProne(player); + handlePlayerSprint(player); + handleWeaponLevel(player); + handleAmmoCount(player); + handleGround(player); + handlePrepareZoom(player); + handleSpecialWeaponAmmo(player); + handleChangeFireRate(player); + handleBocekPulling(player); + handleGunRecoil(player); + } handleDistantRange(player); - handleBocekPulling(player); - handleGunRecoil(player); } } diff --git a/src/main/java/net/mcreator/target/network/message/FireMessage.java b/src/main/java/net/mcreator/target/network/message/FireMessage.java index a311d9147..68c8b2389 100644 --- a/src/main/java/net/mcreator/target/network/message/FireMessage.java +++ b/src/main/java/net/mcreator/target/network/message/FireMessage.java @@ -83,9 +83,6 @@ public class FireMessage { var tag = handItem.getOrCreateTag(); - if (tag.getInt("ammo") == 0) { - TargetMod.PACKET_HANDLER.sendToServer(new ReloadMessage(0)); - } if (handItem.getItem() == TargetModItems.TASER.get()) { handleTaserFire(player);