From d7794b6beda6446046a6c80a0897f75dd4b3c203 Mon Sep 17 00:00:00 2001 From: Atsuishio <842960157@qq.com> Date: Fri, 16 May 2025 18:25:26 +0800 Subject: [PATCH] =?UTF-8?q?=E9=81=87=E5=88=B0=E4=BA=86=E7=A5=9E=E7=A7=98?= =?UTF-8?q?=E7=9A=84=E9=AA=A8=E9=AA=BC=E4=B9=B1=E5=8F=91=E5=85=89=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../superbwarfare/client/CustomRenderer.java | 4 +- .../superbwarfare/client/ModRenderTypes.java | 10 + .../geo/secondary_cataclysm.geo.json | 222 +++++++++--------- 3 files changed, 123 insertions(+), 113 deletions(-) diff --git a/src/main/java/com/atsuishio/superbwarfare/client/CustomRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/CustomRenderer.java index 0eef320df..66fedb5b4 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/CustomRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/CustomRenderer.java @@ -23,8 +23,8 @@ public class CustomRenderer extends GeoItemRende return; for (GeoBone childBone : bone.getChildBones()) { - if (childBone.getName().endsWith("_l")) { - var type = ModRenderTypes.ILLUMINATED.apply(this.getTextureLocation(animatable)); + if (childBone.getName().endsWith("_illuminated")) { + var type = ModRenderTypes.GUN_ILLUMINATED.apply(this.getTextureLocation(animatable)); renderRecursively(poseStack, animatable, childBone, type, bufferSource, bufferSource.getBuffer(type), isReRender, partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF); } else { renderRecursively(poseStack, animatable, childBone, renderType, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, color); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java b/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java index b31af721e..57125c992 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/ModRenderTypes.java @@ -34,6 +34,16 @@ public class ModRenderTypes extends RenderType { return RenderType.create("illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state); }); + public static final Function GUN_ILLUMINATED = Util.memoize((location) -> { + TextureStateShard shard = new RenderStateShard.TextureStateShard(location, false, false); + RenderType.CompositeState state = RenderType.CompositeState.builder().setTextureState(shard) + .setShaderState(RENDERTYPE_EYES_SHADER).setTransparencyState(NO_TRANSPARENCY) + .setLightmapState(RenderStateShard.NO_LIGHTMAP) + .setOverlayState(RenderStateShard.NO_OVERLAY) + .createCompositeState(false); + return RenderType.create("gun_illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state); + }); + //DickSheep的恩情还不完 public static final TransparencyStateShard TEST_TRANSPARENCY = new TransparencyStateShard("test_transparency", () -> { diff --git a/src/main/resources/assets/superbwarfare/geo/secondary_cataclysm.geo.json b/src/main/resources/assets/superbwarfare/geo/secondary_cataclysm.geo.json index 8ec3e82e3..f95487e7b 100644 --- a/src/main/resources/assets/superbwarfare/geo/secondary_cataclysm.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/secondary_cataclysm.geo.json @@ -7048,117 +7048,6 @@ } ] }, - { - "name": "cidao", - "parent": "body", - "pivot": [0.97384, -2.08681, -13.43244], - "cubes": [ - { - "origin": [0.91572, -1.64268, -23.31483], - "size": [0.166, 0.548, 8.406], - "uv": { - "east": {"uv": [30, 14], "uv_size": [8, 0.5]}, - "west": {"uv": [15, 30], "uv_size": [8, 0.5]}, - "up": {"uv": [23, 30], "uv_size": [0.5, 8]}, - "down": {"uv": [24, 38], "uv_size": [0.5, -8]} - } - }, - { - "origin": [0.91572, -1.19268, -24.32483], - "size": [0.166, 0.098, 1.01], - "uv": { - "north": {"uv": [11, 58], "uv_size": [0.5, 0.5]}, - "east": {"uv": [54, 52], "uv_size": [1, 0.5]}, - "west": {"uv": [54, 53], "uv_size": [1, 0.5]}, - "up": {"uv": [54, 54], "uv_size": [0.5, 1]} - } - }, - { - "origin": [0.91572, -1.40028, -24.34813], - "size": [0.166, 0.108, 1.105], - "pivot": [0.99872, -1.35128, -23.84813], - "rotation": [-24, 0, 0], - "uv": { - "east": {"uv": [55, 0], "uv_size": [1, 0.5]}, - "west": {"uv": [1, 55], "uv_size": [1, 0.5]}, - "down": {"uv": [55, 2], "uv_size": [0.5, -1]} - } - }, - { - "origin": [0.91572, -1.42268, -23.79983], - "size": [0.166, 0.23, 0.485], - "uv": { - "east": {"uv": [58, 11], "uv_size": [0.5, 0.5]}, - "west": {"uv": [12, 58], "uv_size": [0.5, 0.5]} - } - }, - { - "origin": [0.91572, -1.30768, -24.05983], - "size": [0.166, 0.115, 0.26], - "uv": { - "east": {"uv": [58, 12], "uv_size": [0.5, 0.5]}, - "west": {"uv": [13, 58], "uv_size": [0.5, 0.5]} - } - }, - { - "origin": [0.91572, -1.52768, -23.56983], - "size": [0.166, 0.105, 0.255], - "uv": { - "east": {"uv": [58, 13], "uv_size": [0.5, 0.5]}, - "west": {"uv": [14, 58], "uv_size": [0.5, 0.5]} - } - }, - { - "origin": [0.74972, -1.85068, -14.90883], - "size": [0.498, 0.864, 1.262], - "uv": { - "north": {"uv": [54, 21], "uv_size": [0.5, 1]}, - "east": {"uv": [10, 50], "uv_size": [1.5, 1]}, - "south": {"uv": [54, 22], "uv_size": [0.5, 1]}, - "west": {"uv": [12, 50], "uv_size": [1.5, 1]}, - "up": {"uv": [47, 52], "uv_size": [0.5, 1.5]}, - "down": {"uv": [49, 53.5], "uv_size": [0.5, -1.5]} - } - }, - { - "origin": [0.86572, -5.49408, -11.10817], - "size": [0.324, 0.432, 0.972], - "pivot": [0.73788, 0.18352, -7.61464], - "rotation": [-45, 0, 0], - "uv": { - "east": {"uv": [54, 23], "uv_size": [1, 0.5]}, - "west": {"uv": [24, 54], "uv_size": [1, 0.5]}, - "up": {"uv": [54, 24], "uv_size": [0.5, 1]} - } - }, - { - "origin": [0.64972, -2.39068, -13.75483], - "size": [0.648, 0.648, 0.648], - "uv": { - "north": {"uv": [42, 57], "uv_size": [0.5, 0.5]}, - "east": {"uv": [57, 42], "uv_size": [0.5, 0.5]}, - "south": {"uv": [43, 57], "uv_size": [0.5, 0.5]}, - "west": {"uv": [57, 43], "uv_size": [0.5, 0.5]}, - "up": {"uv": [44, 57], "uv_size": [0.5, 0.5]}, - "down": {"uv": [57, 44.5], "uv_size": [0.5, -0.5]} - } - }, - { - "origin": [0.62197, -2.06706, -13.47844], - "size": [0.70375, 0.25, 0.25], - "pivot": [0.97384, -1.98681, -13.42244], - "rotation": [-135, 0, 0], - "uv": { - "north": {"uv": [58, 14], "uv_size": [0.5, 0.5]}, - "east": {"uv": [15, 58], "uv_size": [0.5, 0.5]}, - "south": {"uv": [58, 15], "uv_size": [0.5, 0.5]}, - "west": {"uv": [16, 58], "uv_size": [0.5, 0.5]}, - "up": {"uv": [58, 16], "uv_size": [0.5, 0.5]}, - "down": {"uv": [17, 58.5], "uv_size": [0.5, -0.5]} - } - } - ] - }, { "name": "guan", "parent": "body", @@ -7868,6 +7757,117 @@ "parent": "body", "pivot": [0.59572, -1.59025, -0.94957] }, + { + "name": "cidao_illuminated", + "parent": "body", + "pivot": [0.97384, -2.08681, -13.43244], + "cubes": [ + { + "origin": [0.91572, -1.64268, -23.31483], + "size": [0.166, 0.548, 8.406], + "uv": { + "east": {"uv": [30, 14], "uv_size": [8, 0.5]}, + "west": {"uv": [15, 30], "uv_size": [8, 0.5]}, + "up": {"uv": [23, 30], "uv_size": [0.5, 8]}, + "down": {"uv": [24, 38], "uv_size": [0.5, -8]} + } + }, + { + "origin": [0.91572, -1.19268, -24.32483], + "size": [0.166, 0.098, 1.01], + "uv": { + "north": {"uv": [11, 58], "uv_size": [0.5, 0.5]}, + "east": {"uv": [54, 52], "uv_size": [1, 0.5]}, + "west": {"uv": [54, 53], "uv_size": [1, 0.5]}, + "up": {"uv": [54, 54], "uv_size": [0.5, 1]} + } + }, + { + "origin": [0.91572, -1.40028, -24.34813], + "size": [0.166, 0.108, 1.105], + "pivot": [0.99872, -1.35128, -23.84813], + "rotation": [-24, 0, 0], + "uv": { + "east": {"uv": [55, 0], "uv_size": [1, 0.5]}, + "west": {"uv": [1, 55], "uv_size": [1, 0.5]}, + "down": {"uv": [55, 2], "uv_size": [0.5, -1]} + } + }, + { + "origin": [0.91572, -1.42268, -23.79983], + "size": [0.166, 0.23, 0.485], + "uv": { + "east": {"uv": [58, 11], "uv_size": [0.5, 0.5]}, + "west": {"uv": [12, 58], "uv_size": [0.5, 0.5]} + } + }, + { + "origin": [0.91572, -1.30768, -24.05983], + "size": [0.166, 0.115, 0.26], + "uv": { + "east": {"uv": [58, 12], "uv_size": [0.5, 0.5]}, + "west": {"uv": [13, 58], "uv_size": [0.5, 0.5]} + } + }, + { + "origin": [0.91572, -1.52768, -23.56983], + "size": [0.166, 0.105, 0.255], + "uv": { + "east": {"uv": [58, 13], "uv_size": [0.5, 0.5]}, + "west": {"uv": [14, 58], "uv_size": [0.5, 0.5]} + } + }, + { + "origin": [0.74972, -1.85068, -14.90883], + "size": [0.498, 0.864, 1.262], + "uv": { + "north": {"uv": [54, 21], "uv_size": [0.5, 1]}, + "east": {"uv": [10, 50], "uv_size": [1.5, 1]}, + "south": {"uv": [54, 22], "uv_size": [0.5, 1]}, + "west": {"uv": [12, 50], "uv_size": [1.5, 1]}, + "up": {"uv": [47, 52], "uv_size": [0.5, 1.5]}, + "down": {"uv": [49, 53.5], "uv_size": [0.5, -1.5]} + } + }, + { + "origin": [0.86572, -5.49408, -11.10817], + "size": [0.324, 0.432, 0.972], + "pivot": [0.73788, 0.18352, -7.61464], + "rotation": [-45, 0, 0], + "uv": { + "east": {"uv": [54, 23], "uv_size": [1, 0.5]}, + "west": {"uv": [24, 54], "uv_size": [1, 0.5]}, + "up": {"uv": [54, 24], "uv_size": [0.5, 1]} + } + }, + { + "origin": [0.64972, -2.39068, -13.75483], + "size": [0.648, 0.648, 0.648], + "uv": { + "north": {"uv": [42, 57], "uv_size": [0.5, 0.5]}, + "east": {"uv": [57, 42], "uv_size": [0.5, 0.5]}, + "south": {"uv": [43, 57], "uv_size": [0.5, 0.5]}, + "west": {"uv": [57, 43], "uv_size": [0.5, 0.5]}, + "up": {"uv": [44, 57], "uv_size": [0.5, 0.5]}, + "down": {"uv": [57, 44.5], "uv_size": [0.5, -0.5]} + } + }, + { + "origin": [0.62197, -2.06706, -13.47844], + "size": [0.70375, 0.25, 0.25], + "pivot": [0.97384, -1.98681, -13.42244], + "rotation": [-135, 0, 0], + "uv": { + "north": {"uv": [58, 14], "uv_size": [0.5, 0.5]}, + "east": {"uv": [15, 58], "uv_size": [0.5, 0.5]}, + "south": {"uv": [58, 15], "uv_size": [0.5, 0.5]}, + "west": {"uv": [16, 58], "uv_size": [0.5, 0.5]}, + "up": {"uv": [58, 16], "uv_size": [0.5, 0.5]}, + "down": {"uv": [17, 58.5], "uv_size": [0.5, -0.5]} + } + } + ] + }, { "name": "flare", "parent": "0",