diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java index f8d8a3f3e..b7b3c8ebf 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/block/FuMO25BlockEntityRenderer.java @@ -21,7 +21,7 @@ public class FuMO25BlockEntityRenderer extends GeoBlockRenderer { @Override public void renderRecursively(PoseStack poseStack, LaserTowerEntity animatable, GeoBone bone, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, int color) { String name = bone.getName(); - if (name.equals("turret")) { + + Minecraft minecraft = Minecraft.getInstance(); + Frustum pCamera = minecraft.levelRenderer.getFrustum(); + + AABB aabb = animatable.getBoundingBoxForCulling().inflate(0.5); + if (aabb.hasNaN() || aabb.getSize() == 0.0) { + aabb = new AABB(animatable.getX() - 2.0, animatable.getY() - 2.0, animatable.getZ() - 2.0, animatable.getX() + 2.0, animatable.getY() + 2.0, animatable.getZ() + 2.0); + } + + if (name.equals("root")) { + bone.setHidden(!pCamera.isVisible(aabb)); + } + + if (name.equals("turret") || name.equals("turret2")) { bone.setRotY(-Mth.lerp(partialTick, animatable.yRotO, animatable.getYRot()) * Mth.DEG_TO_RAD); } - if (name.equals("barrel")) { + + if (name.equals("barrel") || name.equals("barrel2")) { bone.setRotX(-Mth.lerp(partialTick, animatable.xRotO, animatable.getXRot()) * Mth.DEG_TO_RAD); } diff --git a/src/main/resources/assets/superbwarfare/geo/laser_tower.geo.json b/src/main/resources/assets/superbwarfare/geo/laser_tower.geo.json index 7c57197c4..e72622fd0 100644 --- a/src/main/resources/assets/superbwarfare/geo/laser_tower.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/laser_tower.geo.json @@ -11,8 +11,13 @@ "visible_bounds_offset": [0, 1.25, 0] }, "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, { "name": "turret", + "parent": "root", "pivot": [0, 10.5, 0] }, { @@ -415,77 +420,6 @@ } ] }, - { - "name": "laser", - "parent": "barrel", - "pivot": [0, 22.2505, 0], - "cubes": [ - { - "origin": [-0.3, 21.95024, -1.6], - "size": [0.6, 0.6, 1.6], - "uv": { - "north": {"uv": [69, 68], "uv_size": [1, 1]}, - "east": {"uv": [69, 68], "uv_size": [1, 1]}, - "south": {"uv": [69, 68], "uv_size": [1, 1]}, - "west": {"uv": [69, 68], "uv_size": [1, 1]}, - "up": {"uv": [70, 69], "uv_size": [-1, -1]}, - "down": {"uv": [70, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 21.80014, -1.6], - "size": [0.9, 0, 1.6], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4503, 21.80044, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, 90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 21.80014, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, -180], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4503, 21.80044, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4003, 21.80104, -0.85], - "size": [0.9, 0, 0.9], - "pivot": [0.05, 22.25104, -0.45], - "rotation": [90, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 22.25074, -2.05], - "size": [0.9, 0, 0.9], - "pivot": [0, 22.25074, -1.6], - "rotation": [-90, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - } - ] - }, { "name": "bone6", "parent": "barrel", @@ -1072,106 +1006,6 @@ "south": {"uv": [67, 20], "uv_size": [1, 1]}, "west": {"uv": [67, 23], "uv_size": [1, 1]} } - }, - { - "origin": [0.19267, 23.32194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 25.36444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [27, 64], "uv_size": [1, 4]}, - "west": {"uv": [28, 64], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 22.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 24.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [29, 64], "uv_size": [1, 4]}, - "west": {"uv": [30, 64], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 22.32194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 24.36444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [35, 64], "uv_size": [1, 4]}, - "west": {"uv": [60, 64], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 21.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 23.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [61, 64], "uv_size": [1, 4]}, - "west": {"uv": [64, 61], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 21.32194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 23.36444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [62, 64], "uv_size": [1, 4]}, - "west": {"uv": [63, 64], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 20.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 22.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [3, 65], "uv_size": [1, 4]}, - "west": {"uv": [6, 65], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 20.32194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 22.36444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [7, 65], "uv_size": [1, 4]}, - "west": {"uv": [65, 11], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 19.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 21.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [65, 15], "uv_size": [1, 4]}, - "west": {"uv": [65, 22], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 19.32194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 21.36444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [65, 45], "uv_size": [1, 4]}, - "west": {"uv": [53, 65], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 18.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 20.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [54, 65], "uv_size": [1, 4]}, - "west": {"uv": [55, 65], "uv_size": [1, 4]} - } } ] }, @@ -1944,56 +1778,9 @@ } ] }, - { - "name": "pan2", - "parent": "bone5", - "pivot": [0, 11, 0], - "rotation": [0, -22.5, 0], - "cubes": [ - { - "origin": [-2.27322, 6.0118, -0.74998], - "size": [4.5464, 10.97634, 0.75], - "pivot": [0, 11.5, 0.00002], - "rotation": [-90, -22.5, 0], - "uv": { - "up": {"uv": [61, 30], "uv_size": [5, 1]}, - "down": {"uv": [61, 32], "uv_size": [5, -1]} - } - }, - { - "origin": [-5.48825, 9.22683, -0.74998], - "size": [10.97634, 4.5464, 0.75], - "pivot": [0, 11.5, 0.00002], - "rotation": [-90, -22.5, 0], - "uv": { - "east": {"uv": [2, 61], "uv_size": [1, 5]}, - "west": {"uv": [10, 61], "uv_size": [1, 5]} - } - }, - { - "origin": [-5.4882, 9.22678, -0.74998], - "size": [10.97634, 4.5464, 0.75], - "pivot": [0, 11.5, 0.00002], - "rotation": [-90, -67.5, 0], - "uv": { - "east": {"uv": [11, 61], "uv_size": [1, 5]}, - "west": {"uv": [12, 61], "uv_size": [1, 5]} - } - }, - { - "origin": [-2.27317, 6.01175, -0.74998], - "size": [4.5464, 10.97634, 0.75], - "pivot": [0, 11.5, 0.00002], - "rotation": [-90, -67.5, 0], - "uv": { - "up": {"uv": [61, 32], "uv_size": [5, 1]}, - "down": {"uv": [61, 34], "uv_size": [5, -1]} - } - } - ] - }, { "name": "base", + "parent": "root", "pivot": [0, 0, 0] }, { @@ -2003,8 +1790,8 @@ "rotation": [0, -22.5, 0], "cubes": [ { - "origin": [-2.36794, 4.78313, -0.99998], - "size": [4.73584, 11.43369, 1], + "origin": [-2.36794, 4.78313, -1.09998], + "size": [4.73584, 11.43369, 1.1], "pivot": [0, 10.5, 0.00002], "rotation": [-90, -22.5, 0], "uv": { @@ -2014,8 +1801,8 @@ } }, { - "origin": [-5.71693, 8.13212, -0.99998], - "size": [11.43369, 4.73584, 1], + "origin": [-5.71693, 8.13212, -1.09998], + "size": [11.43369, 4.73584, 1.1], "pivot": [0, 10.5, 0.00002], "rotation": [-90, -22.5, 0], "uv": { @@ -2025,8 +1812,8 @@ } }, { - "origin": [-5.71687, 8.13206, -0.99998], - "size": [11.43369, 4.73584, 1], + "origin": [-5.71687, 8.13206, -1.09998], + "size": [11.43369, 4.73584, 1.1], "pivot": [0, 10.5, 0.00002], "rotation": [-90, -67.5, 0], "uv": { @@ -2036,8 +1823,8 @@ } }, { - "origin": [-2.36788, 4.78307, -0.99998], - "size": [4.73584, 11.43369, 1], + "origin": [-2.36788, 4.78307, -1.09998], + "size": [4.73584, 11.43369, 1.1], "pivot": [0, 10.5, 0.00002], "rotation": [-90, -67.5, 0], "uv": { @@ -2337,30 +2124,6 @@ "up": {"uv": [26, 13], "uv_size": [11, 11]} } }, - { - "origin": [-5.625, 3.375, -2.025], - "size": [11.25, 4.15, 4.05], - "uv": { - "north": {"uv": [46, 0], "uv_size": [11, 4]}, - "east": {"uv": [49, 6], "uv_size": [4, 4]}, - "south": {"uv": [18, 46], "uv_size": [11, 4]}, - "west": {"uv": [34, 49], "uv_size": [4, 4]}, - "up": {"uv": [47, 22], "uv_size": [11, 4]} - } - }, - { - "origin": [-5.625, 3.375, -2.025], - "size": [11.25, 4.15, 4.05], - "pivot": [0, 4.95, 0], - "rotation": [0, 90, 0], - "uv": { - "north": {"uv": [47, 34], "uv_size": [11, 4]}, - "east": {"uv": [38, 49], "uv_size": [4, 4]}, - "south": {"uv": [47, 38], "uv_size": [11, 4]}, - "west": {"uv": [42, 49], "uv_size": [4, 4]}, - "up": {"uv": [47, 42], "uv_size": [11, 4]} - } - }, { "origin": [4.5, 0, -7.2], "size": [2.7, 1.8, 2.7], @@ -2410,6 +2173,86 @@ } } ] + }, + { + "name": "turret2", + "pivot": [0, 10.5, 0] + }, + { + "name": "barrel2", + "parent": "turret2", + "pivot": [0, 22.25, 0] + }, + { + "name": "laser", + "parent": "barrel2", + "pivot": [0, 22.2505, 0], + "cubes": [ + { + "origin": [-0.3, 21.95024, -1.6], + "size": [0.6, 0.6, 1.6], + "uv": { + "north": {"uv": [69, 68], "uv_size": [1, 1]}, + "east": {"uv": [69, 68], "uv_size": [1, 1]}, + "south": {"uv": [69, 68], "uv_size": [1, 1]}, + "west": {"uv": [69, 68], "uv_size": [1, 1]}, + "up": {"uv": [70, 69], "uv_size": [-1, -1]}, + "down": {"uv": [70, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 21.80014, -1.6], + "size": [0.9, 0, 1.6], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.4503, 21.80044, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, 90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 21.80014, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, -180], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.4503, 21.80044, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.4003, 21.80104, -0.85], + "size": [0.9, 0, 0.9], + "pivot": [0.05, 22.25104, -0.45], + "rotation": [90, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 22.25074, -2.05], + "size": [0.9, 0, 0.9], + "pivot": [0, 22.25074, -1.6], + "rotation": [-90, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + } + ] } ] } diff --git a/src/main/resources/assets/superbwarfare/geo/laser_tower.lod1.geo.json b/src/main/resources/assets/superbwarfare/geo/laser_tower.lod1.geo.json index 2b86164db..60fc264c6 100644 --- a/src/main/resources/assets/superbwarfare/geo/laser_tower.lod1.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/laser_tower.lod1.geo.json @@ -11,8 +11,13 @@ "visible_bounds_offset": [0, 1.25, 0] }, "bones": [ + { + "name": "root", + "pivot": [0, 0, 0] + }, { "name": "turret", + "parent": "root", "pivot": [0, 10.5, 0] }, { @@ -293,112 +298,6 @@ "west": {"uv": [42, 53], "uv_size": [2, 5]}, "down": {"uv": [54, 54], "uv_size": [5, -2]} } - }, - { - "origin": [1.5, 18.45, 4], - "size": [0.6, 0.6, 0.05], - "pivot": [1.25, 19.8, 5], - "rotation": [0, 0, 45], - "uv": { - "east": {"uv": [67, 24], "uv_size": [1, 1]}, - "south": {"uv": [67, 31], "uv_size": [1, 1]}, - "west": {"uv": [67, 32], "uv_size": [1, 1]}, - "up": {"uv": [67, 33], "uv_size": [1, 1]}, - "down": {"uv": [67, 35], "uv_size": [1, -1]} - } - }, - { - "origin": [-0.10355, 18.46863, 4], - "size": [0.4, 0.4, 0.05], - "uv": { - "east": {"uv": [67, 35], "uv_size": [1, 1]}, - "south": {"uv": [36, 67], "uv_size": [1, 1]}, - "west": {"uv": [67, 36], "uv_size": [1, 1]}, - "up": {"uv": [37, 67], "uv_size": [1, 1]}, - "down": {"uv": [67, 38], "uv_size": [1, -1]} - } - }, - { - "origin": [-0.85355, 18.46863, 4], - "size": [0.4, 0.4, 0.05], - "uv": { - "east": {"uv": [38, 67], "uv_size": [1, 1]}, - "south": {"uv": [67, 38], "uv_size": [1, 1]}, - "west": {"uv": [39, 67], "uv_size": [1, 1]}, - "up": {"uv": [40, 67], "uv_size": [1, 1]}, - "down": {"uv": [67, 41], "uv_size": [1, -1]} - } - } - ] - }, - { - "name": "laser", - "parent": "barrel", - "pivot": [0, 22.2505, 0], - "cubes": [ - { - "origin": [-0.3, 21.95024, -1.6], - "size": [0.6, 0.6, 1.6], - "uv": { - "north": {"uv": [69, 68], "uv_size": [1, 1]}, - "east": {"uv": [69, 68], "uv_size": [1, 1]}, - "south": {"uv": [69, 68], "uv_size": [1, 1]}, - "west": {"uv": [69, 68], "uv_size": [1, 1]}, - "up": {"uv": [70, 69], "uv_size": [-1, -1]}, - "down": {"uv": [70, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 21.80014, -1.6], - "size": [0.9, 0, 1.6], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4503, 21.80044, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, 90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 21.80014, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, -180], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4503, 21.80044, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4003, 21.80104, -0.85], - "size": [0.9, 0, 0.9], - "pivot": [0.05, 22.25104, -0.45], - "rotation": [90, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 22.25074, -2.05], - "size": [0.9, 0, 0.9], - "pivot": [0, 22.25074, -1.6], - "rotation": [-90, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } } ] }, @@ -746,56 +645,6 @@ "south": {"uv": [67, 20], "uv_size": [1, 1]}, "west": {"uv": [67, 23], "uv_size": [1, 1]} } - }, - { - "origin": [0.19267, 22.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 24.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [29, 64], "uv_size": [1, 4]}, - "west": {"uv": [30, 64], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 21.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 23.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [61, 64], "uv_size": [1, 4]}, - "west": {"uv": [64, 61], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 20.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 22.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [3, 65], "uv_size": [1, 4]}, - "west": {"uv": [6, 65], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 19.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 21.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [65, 15], "uv_size": [1, 4]}, - "west": {"uv": [65, 22], "uv_size": [1, 4]} - } - }, - { - "origin": [0.19267, 18.82194, 6.15], - "size": [0.25, 4.085, 0.25], - "pivot": [0, 20.86444, 6.15], - "rotation": [0, -45, -90], - "uv": { - "south": {"uv": [54, 65], "uv_size": [1, 4]}, - "west": {"uv": [55, 65], "uv_size": [1, 4]} - } } ] }, @@ -1410,6 +1259,7 @@ }, { "name": "base", + "parent": "root", "pivot": [0, 0, 0] }, { @@ -1612,77 +1462,85 @@ "west": {"uv": [36, 40], "uv_size": [11, 5]}, "up": {"uv": [26, 13], "uv_size": [11, 11]} } - }, + } + ] + }, + { + "name": "turret2", + "pivot": [0, 10.5, 0] + }, + { + "name": "barrel2", + "parent": "turret2", + "pivot": [0, 22.25, 0] + }, + { + "name": "laser", + "parent": "barrel2", + "pivot": [0, 22.2505, 0], + "cubes": [ { - "origin": [-5.625, 3.375, -2.025], - "size": [11.25, 4.15, 4.05], + "origin": [-0.3, 21.95024, -1.6], + "size": [0.6, 0.6, 1.6], "uv": { - "north": {"uv": [46, 0], "uv_size": [11, 4]}, - "east": {"uv": [49, 6], "uv_size": [4, 4]}, - "south": {"uv": [18, 46], "uv_size": [11, 4]}, - "west": {"uv": [34, 49], "uv_size": [4, 4]}, - "up": {"uv": [47, 22], "uv_size": [11, 4]} + "north": {"uv": [69, 68], "uv_size": [1, 1]}, + "east": {"uv": [69, 68], "uv_size": [1, 1]}, + "south": {"uv": [69, 68], "uv_size": [1, 1]}, + "west": {"uv": [69, 68], "uv_size": [1, 1]}, + "up": {"uv": [70, 69], "uv_size": [-1, -1]}, + "down": {"uv": [70, 69], "uv_size": [-1, -1]} } }, { - "origin": [-5.625, 3.375, -2.025], - "size": [11.25, 4.15, 4.05], - "pivot": [0, 4.95, 0], - "rotation": [0, 90, 0], + "origin": [-0.45, 21.80014, -1.6], + "size": [0.9, 0, 1.6], "uv": { - "north": {"uv": [47, 34], "uv_size": [11, 4]}, - "east": {"uv": [38, 49], "uv_size": [4, 4]}, - "south": {"uv": [47, 38], "uv_size": [11, 4]}, - "west": {"uv": [42, 49], "uv_size": [4, 4]}, - "up": {"uv": [47, 42], "uv_size": [11, 4]} + "up": {"uv": [71, 69], "uv_size": [-1, -1]} } }, { - "origin": [4.5, 0, -7.2], - "size": [2.7, 1.8, 2.7], + "origin": [-0.4503, 21.80044, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, 90], "uv": { - "north": {"uv": [35, 5], "uv_size": [3, 2]}, - "east": {"uv": [58, 34], "uv_size": [3, 2]}, - "south": {"uv": [58, 36], "uv_size": [3, 2]}, - "west": {"uv": [58, 38], "uv_size": [3, 2]}, - "up": {"uv": [5, 35], "uv_size": [3, 3]}, - "down": {"uv": [25, 58], "uv_size": [3, -3]} + "up": {"uv": [71, 69], "uv_size": [-1, -1]} } }, { - "origin": [-7.2, 0, -7.2], - "size": [2.7, 1.8, 2.7], + "origin": [-0.45, 21.80014, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, -180], "uv": { - "north": {"uv": [40, 58], "uv_size": [3, 2]}, - "east": {"uv": [58, 40], "uv_size": [3, 2]}, - "south": {"uv": [58, 42], "uv_size": [3, 2]}, - "west": {"uv": [43, 58], "uv_size": [3, 2]}, - "up": {"uv": [54, 55], "uv_size": [3, 3]}, - "down": {"uv": [5, 59], "uv_size": [3, -3]} + "up": {"uv": [71, 69], "uv_size": [-1, -1]} } }, { - "origin": [4.5, 0, 4.5], - "size": [2.7, 1.8, 2.7], + "origin": [-0.4503, 21.80044, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, -90], "uv": { - "north": {"uv": [0, 59], "uv_size": [3, 2]}, - "east": {"uv": [5, 59], "uv_size": [3, 2]}, - "south": {"uv": [8, 59], "uv_size": [3, 2]}, - "west": {"uv": [11, 59], "uv_size": [3, 2]}, - "up": {"uv": [14, 56], "uv_size": [3, 3]}, - "down": {"uv": [17, 59], "uv_size": [3, -3]} + "up": {"uv": [71, 69], "uv_size": [-1, -1]} } }, { - "origin": [-7.2, 0, 4.5], - "size": [2.7, 1.8, 2.7], + "origin": [-0.4003, 21.80104, -0.85], + "size": [0.9, 0, 0.9], + "pivot": [0.05, 22.25104, -0.45], + "rotation": [90, 0, -90], "uv": { - "north": {"uv": [58, 44], "uv_size": [3, 2]}, - "east": {"uv": [46, 58], "uv_size": [3, 2]}, - "south": {"uv": [49, 58], "uv_size": [3, 2]}, - "west": {"uv": [52, 58], "uv_size": [3, 2]}, - "up": {"uv": [8, 56], "uv_size": [3, 3]}, - "down": {"uv": [11, 59], "uv_size": [3, -3]} + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 22.25074, -2.05], + "size": [0.9, 0, 0.9], + "pivot": [0, 22.25074, -1.6], + "rotation": [-90, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} } } ] diff --git a/src/main/resources/assets/superbwarfare/geo/laser_tower.lod2.geo.json b/src/main/resources/assets/superbwarfare/geo/laser_tower.lod2.geo.json index fc0a28545..9ba8c9618 100644 --- a/src/main/resources/assets/superbwarfare/geo/laser_tower.lod2.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/laser_tower.lod2.geo.json @@ -11,8 +11,13 @@ "visible_bounds_offset": [0, 1.25, 0] }, "bones": [ + { + "name": "root", + "pivot": [0, 10.5, 0] + }, { "name": "turret", + "parent": "root", "pivot": [0, 10.5, 0] }, { @@ -76,77 +81,6 @@ } ] }, - { - "name": "laser", - "parent": "barrel", - "pivot": [0, 22.2505, 0], - "cubes": [ - { - "origin": [-0.3, 21.95024, -1.6], - "size": [0.6, 0.6, 1.6], - "uv": { - "north": {"uv": [69, 68], "uv_size": [1, 1]}, - "east": {"uv": [69, 68], "uv_size": [1, 1]}, - "south": {"uv": [69, 68], "uv_size": [1, 1]}, - "west": {"uv": [69, 68], "uv_size": [1, 1]}, - "up": {"uv": [70, 69], "uv_size": [-1, -1]}, - "down": {"uv": [70, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 21.80014, -1.6], - "size": [0.9, 0, 1.6], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4503, 21.80044, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, 90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 21.80014, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, -180], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4503, 21.80044, -1.6], - "size": [0.9, 0, 1.6], - "pivot": [0, 22.25044, -1.2], - "rotation": [0, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.4003, 21.80104, -0.85], - "size": [0.9, 0, 0.9], - "pivot": [0.05, 22.25104, -0.45], - "rotation": [90, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - }, - { - "origin": [-0.45, 22.25074, -2.05], - "size": [0.9, 0, 0.9], - "pivot": [0, 22.25074, -1.6], - "rotation": [-90, 0, -90], - "uv": { - "up": {"uv": [71, 69], "uv_size": [-1, -1]} - } - } - ] - }, { "name": "bone11", "parent": "barrel", @@ -464,6 +398,7 @@ }, { "name": "base", + "parent": "root", "pivot": [0, 0, 0] }, { @@ -606,6 +541,86 @@ } } ] + }, + { + "name": "turret2", + "pivot": [0, 10.5, 0] + }, + { + "name": "barrel2", + "parent": "turret2", + "pivot": [0, 22.25, 0] + }, + { + "name": "laser", + "parent": "barrel2", + "pivot": [0, 22.2505, 0], + "cubes": [ + { + "origin": [-0.3, 21.95024, -1.6], + "size": [0.6, 0.6, 1.6], + "uv": { + "north": {"uv": [69, 68], "uv_size": [1, 1]}, + "east": {"uv": [69, 68], "uv_size": [1, 1]}, + "south": {"uv": [69, 68], "uv_size": [1, 1]}, + "west": {"uv": [69, 68], "uv_size": [1, 1]}, + "up": {"uv": [70, 69], "uv_size": [-1, -1]}, + "down": {"uv": [70, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 21.80014, -1.6], + "size": [0.9, 0, 1.6], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.4503, 21.80044, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, 90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 21.80014, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, -180], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.4503, 21.80044, -1.6], + "size": [0.9, 0, 1.6], + "pivot": [0, 22.25044, -1.2], + "rotation": [0, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.4003, 21.80104, -0.85], + "size": [0.9, 0, 0.9], + "pivot": [0.05, 22.25104, -0.45], + "rotation": [90, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + }, + { + "origin": [-0.45, 22.25074, -2.05], + "size": [0.9, 0, 0.9], + "pivot": [0, 22.25074, -1.6], + "rotation": [-90, 0, -90], + "uv": { + "up": {"uv": [71, 69], "uv_size": [-1, -1]} + } + } + ] } ] } diff --git a/src/main/resources/assets/superbwarfare/textures/entity/laser_tower.png b/src/main/resources/assets/superbwarfare/textures/entity/laser_tower.png index b0a967292..422404dd3 100644 Binary files a/src/main/resources/assets/superbwarfare/textures/entity/laser_tower.png and b/src/main/resources/assets/superbwarfare/textures/entity/laser_tower.png differ