diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/AK12Layer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/AK12Layer.java deleted file mode 100644 index 75f6f9f85..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/AK12Layer.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.atsuishio.superbwarfare.client.layer.gun; - -import com.atsuishio.superbwarfare.Mod; -import com.atsuishio.superbwarfare.item.gun.rifle.AK12Item; -import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.blaze3d.vertex.VertexConsumer; -import net.minecraft.client.renderer.MultiBufferSource; -import net.minecraft.client.renderer.RenderType; -import net.minecraft.client.renderer.texture.OverlayTexture; -import net.minecraft.resources.ResourceLocation; -import software.bernie.geckolib.cache.object.BakedGeoModel; -import software.bernie.geckolib.renderer.GeoRenderer; -import software.bernie.geckolib.renderer.layer.GeoRenderLayer; - -public class AK12Layer extends GeoRenderLayer { - - private static final ResourceLocation LAYER = Mod.loc("textures/item/ak12_e.png"); - - public AK12Layer(GeoRenderer entityRenderer) { - super(entityRenderer); - } - - @Override - public void render(PoseStack poseStack, AK12Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { - RenderType glowRenderType = RenderType.eyes(LAYER); - getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java index 810ea3c35..ffccbfb44 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/AK12ItemModel.java @@ -46,7 +46,6 @@ public class AK12ItemModel extends GeoModel { GeoBone scope1 = getAnimationProcessor().getBone("Scope1"); GeoBone scope2 = getAnimationProcessor().getBone("Scope2"); GeoBone scope3 = getAnimationProcessor().getBone("Scope3"); - GeoBone cross3 = getAnimationProcessor().getBone("Cross3"); GeoBone frontSight = getAnimationProcessor().getBone("qianjimiao"); GeoBone shuan = getAnimationProcessor().getBone("shuan"); @@ -132,12 +131,8 @@ public class AK12ItemModel extends GeoModel { shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt))); CrossHairOverlay.gunRot = shen.getRotZ(); - shuan.setPosZ(2.4f * (float) fp); - cross3.setRotZ(0.01f * (float) (ClientEventHandler.recoilHorizon * fp)); - cross3.setPosY(-0.23f * (float) (fp + 2.3 * fr)); - GeoBone l = getAnimationProcessor().getBone("l"); GeoBone r = getAnimationProcessor().getBone("r"); rotXBipod = Mth.lerp(1.5f * times, rotXBipod, isProne(player) ? -90 : 0); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java index 78e6c3f6e..fe4042f15 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/AK12ItemRenderer.java @@ -27,8 +27,6 @@ public class AK12ItemRenderer extends GeoItemRenderer { public AK12ItemRenderer() { super(new AK12ItemModel()); - // TODO layer -// this.addRenderLayer(new AK12Layer(this)); } @Override @@ -81,19 +79,6 @@ public class AK12ItemRenderer extends GeoItemRenderer { ItemStack itemStack = player.getMainHandItem(); if (!(itemStack.getItem() instanceof GunItem)) return; - var data = GunData.from(itemStack); - - if (name.equals("Cross1")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 2); - } - - if (name.equals("Cross3")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 3); - } if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && (name.equals("hidden2"))) { @@ -105,6 +90,13 @@ public class AK12ItemRenderer extends GeoItemRenderer { bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom); } + int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE); + + switch (scopeType) { + case 1 -> AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.03, 0.27363125, 28, 0, 255, 0, 255, "okp_7"); + case 2 -> AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.03, 0.29, 18, 255, 0, 0, 255, "dot"); + case 3 -> AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.03, 0.29, Math.max(30 - 4 * ClientEventHandler.customZoom, 3), 255, 0, 0, 255, "lpvo"); + } AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, -0.012, 0.02, 1.25229375, 0.3); diff --git a/src/main/resources/assets/superbwarfare/geo/ak12.geo.json b/src/main/resources/assets/superbwarfare/geo/ak12.geo.json index e1ffb5370..a814136b9 100644 --- a/src/main/resources/assets/superbwarfare/geo/ak12.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/ak12.geo.json @@ -11955,319 +11955,9 @@ ] }, { - "name": "Cross1", + "name": "cross", "parent": "0", - "pivot": [0.49532, 4.08907, -101], - "cubes": [ - { - "origin": [-2.50468, 2.54219, -136], - "size": [6, 3, 0], - "uv": { - "north": {"uv": [126.8877, 64.44092], "uv_size": [0, -0.25]}, - "east": {"uv": [0, 0], "uv_size": [0, 8]}, - "south": {"uv": [3.3877, 73.65967], "uv_size": [18, 9]}, - "west": {"uv": [0, 0], "uv_size": [0, 8]}, - "up": {"uv": [8, 0], "uv_size": [-8, 0]}, - "down": {"uv": [8, 0], "uv_size": [-8, 0]} - } - } - ] - }, - { - "name": "Cross2", - "parent": "0", - "pivot": [0.49532, 4.70235, -136], - "cubes": [ - { - "origin": [0.28574, 4.49276, -136], - "size": [0.41917, 0.41917, 0], - "uv": { - "south": {"uv": [24.0127, 74.15967], "uv_size": [8, 8]} - } - } - ] - }, - { - "name": "Cross3", - "parent": "0", - "pivot": [0.49609, 4.65547, -96.3082], - "cubes": [ - { - "origin": [0.46557, -3.55413, -96.3082], - "size": [0.06105, 16.4192, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [10.5, 118.625], "uv_size": [0.375, 0.375]}, - "east": {"uv": [10.5, 118.625], "uv_size": [0.375, 0.375]}, - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]}, - "west": {"uv": [10.5, 118.625], "uv_size": [0.375, 0.375]}, - "up": {"uv": [10.875, 119], "uv_size": [-0.375, -0.375]}, - "down": {"uv": [10.875, 119], "uv_size": [-0.375, -0.375]} - } - }, - { - "origin": [0.46557, -3.55413, -96.3082], - "size": [0.06105, 16.4192, 0], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.43845, -3.55413, -96.3082], - "size": [0.11528, 3.3456, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.43845, -3.55413, -96.3082], - "size": [0.11528, 3.3456, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.43845, -3.55413, -96.3082], - "size": [0.11201, 3.3456, 0], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.43845, -3.55413, -96.3082], - "size": [0.11201, 3.3456, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -180], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - } - ] - }, - { - "name": "bone28", - "parent": "Cross3", - "pivot": [0.49609, 4.65547, -96.3082], - "cubes": [ - { - "origin": [0.52896, 4.30368, -96.3082], - "size": [0.06105, 0.3192, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [26.625, 76.75], "uv_size": [2.625, 2.75]} - } - }, - { - "origin": [0.40218, 4.30368, -96.3082], - "size": [0.06105, 0.3192, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [29.25, 76.75], "uv_size": [-2.625, 2.75]} - } - }, - { - "origin": [0.40246, 4.74938, -96.3082], - "size": [0.06105, 0.26061, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 180], - "uv": { - "south": {"uv": [26.625, 79.5], "uv_size": [2.625, -2.75]} - } - }, - { - "origin": [0.52896, 4.68806, -96.3082], - "size": [0.06105, 0.3192, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [26.625, 79.5], "uv_size": [2.625, -2.75]} - } - }, - { - "origin": [0.52868, 4.74938, -96.3082], - "size": [0.06105, 0.26061, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -180], - "uv": { - "south": {"uv": [29.25, 79.5], "uv_size": [-2.625, -2.75]} - } - }, - { - "origin": [0.40218, 4.68806, -96.3082], - "size": [0.06105, 0.3192, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [29.25, 79.5], "uv_size": [-2.625, -2.75]} - } - } - ] - }, - { - "name": "bone173", - "parent": "Cross3", - "pivot": [0, 5.32344, -112.76641], - "cubes": [ - { - "origin": [0.45152, 3.70033, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 2.86393, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 2.02753, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 1.19113, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 1.19113, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 3.70033, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 2.86393, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [0.45152, 2.02753, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [0.49609, 4.65547, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - } - ] - }, - { - "name": "bone174", - "parent": "Cross3", - "pivot": [0, 5.32344, -112.76641], - "rotation": [0, 0, -90], - "cubes": [ - { - "origin": [-0.56564, 3.872, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 3.0356, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 2.1992, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 1.3628, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 1.3628, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 3.872, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 3.0356, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - }, - { - "origin": [-0.56564, 2.1992, -96.3082], - "size": [0.08914, 0.06404, 0], - "pivot": [-0.52107, 4.82714, -96.3082], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [17, 114.5], "uv_size": [0.125, 0.125]} - } - } - ] + "pivot": [0, 4.08907, 0] }, { "name": "gun", diff --git a/src/main/resources/assets/superbwarfare/textures/crosshair/dot.png b/src/main/resources/assets/superbwarfare/textures/crosshair/dot.png new file mode 100644 index 000000000..5f1081d68 Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/crosshair/dot.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/crosshair/okp_7.png b/src/main/resources/assets/superbwarfare/textures/crosshair/okp_7.png new file mode 100644 index 000000000..0e490bfbc Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/crosshair/okp_7.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/ak12.png b/src/main/resources/assets/superbwarfare/textures/item/ak12.png index 71c95f064..42aea15b1 100644 Binary files a/src/main/resources/assets/superbwarfare/textures/item/ak12.png and b/src/main/resources/assets/superbwarfare/textures/item/ak12.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/ak12_e.png b/src/main/resources/assets/superbwarfare/textures/item/ak12_e.png deleted file mode 100644 index aca633b1b..000000000 Binary files a/src/main/resources/assets/superbwarfare/textures/item/ak12_e.png and /dev/null differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/ak47.png b/src/main/resources/assets/superbwarfare/textures/item/ak47.png index 1f1d2792c..fc4941a9a 100644 Binary files a/src/main/resources/assets/superbwarfare/textures/item/ak47.png and b/src/main/resources/assets/superbwarfare/textures/item/ak47.png differ