From 8d91caaeaf781415edab5a264989a1b8ad186d92 Mon Sep 17 00:00:00 2001 From: Danielxs01 Date: Sat, 16 Dec 2023 00:17:25 +0100 Subject: [PATCH] [#133] Implemented basic flare. => Currently no cone => Can already be implemented via contentpack => Added some caching for the flares, should be extended later on --- .../v1/ContentPackSignalPart.java | 16 ++ .../api/contentpacks/v2/flares/Flare.java | 126 ++++++++++++++++ .../v2/signal/ContentPackSignal.java | 17 ++- .../landofrails/landofsignals/LOSBlocks.java | 7 +- .../contentpacks/ContentPackHandlerV1.java | 2 + .../render/block/TileSignalPartRender.java | 139 ++++++++++++------ .../light_flare/lightflare.bbmodel | 2 +- .../landofsignals/light_flare/lightflare.obj | 4 +- 8 files changed, 264 insertions(+), 49 deletions(-) create mode 100644 src/main/java/net/landofrails/api/contentpacks/v2/flares/Flare.java diff --git a/src/main/java/net/landofrails/api/contentpacks/v1/ContentPackSignalPart.java b/src/main/java/net/landofrails/api/contentpacks/v1/ContentPackSignalPart.java index 60d92e2a..617a02fe 100644 --- a/src/main/java/net/landofrails/api/contentpacks/v1/ContentPackSignalPart.java +++ b/src/main/java/net/landofrails/api/contentpacks/v1/ContentPackSignalPart.java @@ -2,6 +2,7 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import net.landofrails.api.contentpacks.v2.flares.Flare; import net.landofrails.stellwand.utils.exceptions.ContentPackException; import java.io.IOException; @@ -14,6 +15,11 @@ public class ContentPackSignalPart { private String name; private String model; + /** + * FIXME Hack. Remove once LOSBlocks has been reworked with Builder-Pattern. + */ + private Flare[] flares; + private float[] translation; private float[] itemTranslation; private float[] scaling; @@ -61,6 +67,16 @@ public void setModel(final String model) { this.model = model; } + // FIXME Hack. Remove once LOSBlocks has been reworked with Builder-Pattern. + public Flare[] getFlares() { + return flares; + } + + // FIXME Hack. Remove once LOSBlocks has been reworked with Builder-Pattern. + public void setFlares(Flare[] flares) { + this.flares = flares; + } + public float[] getTranslation() { return translation; } diff --git a/src/main/java/net/landofrails/api/contentpacks/v2/flares/Flare.java b/src/main/java/net/landofrails/api/contentpacks/v2/flares/Flare.java new file mode 100644 index 00000000..06824c04 --- /dev/null +++ b/src/main/java/net/landofrails/api/contentpacks/v2/flares/Flare.java @@ -0,0 +1,126 @@ +package net.landofrails.api.contentpacks.v2.flares; + +import java.util.Map; +import java.util.function.Predicate; + +public class Flare { + + /** + * Required. Needs to be named after the element in the model. + */ + private String id; + /** + * Optional. Will set the color of the flare. Default: OxFFFFFF (white) + */ + private String color = "#FFFFFF"; + /** + * Optional. Will set the intensity of the light flare. Range 0-2. Default 2. + */ + private float intensity = 2f; + + /** + * Optional. Will always activate light flare. Default: false + */ + private boolean alwaysOn = false; + + /** + * Required for: ContentPackSignal. States that will trigger this light flare. + */ + private String[] states; + + /** + * Required for: ContentPackComplexSignal. Groups+States that will trigger this light flare. + */ + private Map groupStates; + + public Flare(String id, String color, float intensity, boolean alwaysOn, String[] states) { + this.id = id; + this.color = color; + this.intensity = intensity; + this.alwaysOn = alwaysOn; + this.states = states; + } + + public Flare(String id, String color, float intensity, boolean alwaysOn, Map groupStates) { + this.id = id; + this.color = color; + this.intensity = intensity; + this.alwaysOn = alwaysOn; + this.groupStates = groupStates; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public float getIntensity() { + return intensity; + } + + public void setIntensity(float intensity) { + this.intensity = intensity; + } + + public boolean isAlwaysOn() { + return alwaysOn; + } + + public void setAlwaysOn(boolean alwaysOn) { + this.alwaysOn = alwaysOn; + } + + public String[] getStates() { + return states; + } + + public void setStates(String[] states) { + this.states = states; + } + + public Map getGroupStates() { + return groupStates; + } + + public void setGroupStates(Map groupStates) { + this.groupStates = groupStates; + } + + public float[] getRenderColor(){ + float[] rgb = new float[3]; + + // 80;160;240 or 010:020:030 or 0-050-230 + Predicate isRGB = rawColor -> rawColor.matches("((\\d{1,3}[;:-]){2}\\d{1,3})"); + // #123DEF or 0xFFAA00 + Predicate isHEX = rawColor -> rawColor.matches("(#|0x)[A-Z\\d]{6}"); + + if(isRGB.test(color)){ + String[] rawColors = color.split("[;:-]"); + rgb[0] = Integer.parseInt(rawColors[0]) / 255f; + rgb[1] = Integer.parseInt(rawColors[1]) / 255f; + rgb[2] = Integer.parseInt(rawColors[2]) / 255f; + }else if(isHEX.test(color)){ + String rawColors = color.replaceAll("(#|0x)", ""); + rgb[0] = Integer.valueOf( rawColors.substring( 0, 2 ), 16 ) / 255f; + rgb[1] = Integer.valueOf( rawColors.substring( 2, 4 ), 16 ) / 255f; + rgb[2] = Integer.valueOf( rawColors.substring( 4, 6 ), 16 ) / 255f; + }else{ + String error = "Issues with flare \"%s\": \"%s\" is not rgb or hex!"; + throw new RuntimeException(String.format(error, id, color)); + } + + return rgb; + } + +} diff --git a/src/main/java/net/landofrails/api/contentpacks/v2/signal/ContentPackSignal.java b/src/main/java/net/landofrails/api/contentpacks/v2/signal/ContentPackSignal.java index 11c0ec61..1c89b016 100644 --- a/src/main/java/net/landofrails/api/contentpacks/v2/signal/ContentPackSignal.java +++ b/src/main/java/net/landofrails/api/contentpacks/v2/signal/ContentPackSignal.java @@ -3,6 +3,7 @@ import com.google.gson.Gson; import net.landofrails.api.contentpacks.v2.ContentPack; import net.landofrails.api.contentpacks.v2.ContentPackException; +import net.landofrails.api.contentpacks.v2.flares.Flare; import net.landofrails.landofsignals.LOSTabs; import java.io.IOException; @@ -23,12 +24,14 @@ public class ContentPackSignal { private String base; private String[] states; private String itemState; + private Flare[] flares; private float[] translation; private float[] itemTranslation; private float[] scaling; private float[] itemScaling; + // metadataId : data private Map metadata; @@ -142,10 +145,18 @@ public String getItemState() { return itemState; } - public void setItemGroupStates(String itemState) { + public void setItemState(String itemState) { this.itemState = itemState; } + public Flare[] getFlares() { + return flares; + } + + public void setFlares(Flare[] flares) { + this.flares = flares; + } + public float[] getTranslation() { return translation; } @@ -255,6 +266,10 @@ private void defaultMissing() { itemState = states[0]; } + if(flares == null){ + flares = new Flare[0]; + } + if (translation == null) { translation = new float[]{0, 0, 0}; } diff --git a/src/main/java/net/landofrails/landofsignals/LOSBlocks.java b/src/main/java/net/landofrails/landofsignals/LOSBlocks.java index 9f80746d..49119c85 100644 --- a/src/main/java/net/landofrails/landofsignals/LOSBlocks.java +++ b/src/main/java/net/landofrails/landofsignals/LOSBlocks.java @@ -5,6 +5,7 @@ import net.landofrails.api.contentpacks.v2.ContentPackException; import net.landofrails.api.contentpacks.v2.complexsignal.ContentPackComplexSignal; import net.landofrails.api.contentpacks.v2.deco.ContentPackDeco; +import net.landofrails.api.contentpacks.v2.flares.Flare; import net.landofrails.api.contentpacks.v2.lever.ContentPackLever; import net.landofrails.api.contentpacks.v2.parent.ContentPackModel; import net.landofrails.api.contentpacks.v2.sign.ContentPackSign; @@ -110,10 +111,12 @@ public static void register() { "an" })); - registerSignalContentPack(new ContentPackSignalPart("block_signal_part_light_flare", "Ampel (Off, Red)", "models/block/landofsignals/light_flare/lightflare.obj", new float[]{0.5f, 0f, 0.5f}, new float[]{0.5f, 0f, 0.5f}, new float[]{1f, 1f, 1f}, new String[]{ + ContentPackSignalPart light_flare = new ContentPackSignalPart("block_signal_part_light_flare", "Ampel (Off, Red)", "models/block/landofsignals/light_flare/lightflare.obj", new float[]{0.5f, 0f, 0.5f}, new float[]{0.5f, 0f, 0.5f}, new float[]{1f, 1f, 1f}, new String[]{ "", "red" - })); + }); + light_flare.setFlares(new Flare[]{new Flare("lightflare_1", "165;32;25", 2f, false, new String[]{"red"})}); + registerSignalContentPack(light_flare); // Animated Signals LOSBlocks.BLOCK_SIGNAL_PART_ANIMATED.add(MISSING_SIGNAL); diff --git a/src/main/java/net/landofrails/landofsignals/contentpacks/ContentPackHandlerV1.java b/src/main/java/net/landofrails/landofsignals/contentpacks/ContentPackHandlerV1.java index bcf48924..3bbd56bd 100644 --- a/src/main/java/net/landofrails/landofsignals/contentpacks/ContentPackHandlerV1.java +++ b/src/main/java/net/landofrails/landofsignals/contentpacks/ContentPackHandlerV1.java @@ -71,6 +71,8 @@ public static void convertToV2(ContentPackSignalPart contentPackSignalPart, Cont contentPackSignal.setItemTranslation(contentPackSignalPart.getItemTranslation()); contentPackSignal.setScaling(contentPackSignalPart.getScaling()); contentPackSignal.setItemScaling(contentPackSignalPart.getItemScaling()); + // FIXME Hack. Remove once LOSBlocks has been reworked with Builder-Pattern. + contentPackSignal.setFlares(contentPackSignalPart.getFlares()); ModCore.info("Signal (v1->v2): %s", contentPackSignal.getName()); // Validate diff --git a/src/main/java/net/landofrails/landofsignals/render/block/TileSignalPartRender.java b/src/main/java/net/landofrails/landofsignals/render/block/TileSignalPartRender.java index 02a5e04b..c68f96dd 100644 --- a/src/main/java/net/landofrails/landofsignals/render/block/TileSignalPartRender.java +++ b/src/main/java/net/landofrails/landofsignals/render/block/TileSignalPartRender.java @@ -10,6 +10,7 @@ import cam72cam.mod.render.opengl.RenderState; import cam72cam.mod.render.opengl.Texture; import cam72cam.mod.resource.Identifier; +import net.landofrails.api.contentpacks.v2.flares.Flare; import net.landofrails.api.contentpacks.v2.signal.ContentPackSignal; import net.landofrails.landofsignals.LOSBlocks; import net.landofrails.landofsignals.LandOfSignals; @@ -18,11 +19,11 @@ import net.landofrails.landofsignals.utils.HighlightingUtil; import net.landofrails.landofsignals.utils.Static; -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; +import java.util.*; import java.util.function.Predicate; -import java.util.stream.Collectors; +import java.util.function.UnaryOperator; +import java.util.regex.Matcher; +import java.util.regex.Pattern; public class TileSignalPartRender { @@ -31,6 +32,7 @@ private TileSignalPartRender() { } private static final Map cache = new HashMap<>(); + private static final Map> flareCache = new HashMap<>(); public static StandardModel render(final TileSignalPart tsp) { return new StandardModel().addCustom((state, partialTicks) -> renderStuff(tsp, state)); @@ -155,49 +157,100 @@ public static Map cache(){ } - private static void renderFlares(String id, ContentPackSignal signal, TileSignalPart tile, RenderState state) { + private static void renderFlares(String id, ContentPackSignal signal, TileSignalPart tile, RenderState renderState) { - // TODO remove when generalized - final String signalState = tile.getState(); - if(!signalState.equalsIgnoreCase("red")) - return; - // - - float red = 165f / 255f; // TODO Should come from contentpack - float green = 32f / 255f; // TODO Should come from contentpack - float blue = 25f / 255f; // TODO Should come from contentpack - float intensity = 2f; // TODO Should be calculated - - Identifier lightTex = new Identifier(LandOfSignals.MODID, "textures/light/antivignette.png"); + // TODO Do it sooner. And maybe there is a better implementation? + if (!flareCache.containsKey(id)) { + try { + Map> dynStateFlares = new HashMap<>(); + Flare[] flares = signal.getFlares(); + for(Flare flare : flares){ + String[] flareStates = flare.getStates(); + for(String state : flareStates){ + dynStateFlares.putIfAbsent(state, new ArrayList<>()); + dynStateFlares.get(state).add(flare); + } + } + Map stateFlares = new HashMap<>(); + dynStateFlares.forEach((dynState, dynFlares) -> stateFlares.put(dynState, dynFlares.toArray(new Flare[0]))); + flareCache.put(id, stateFlares); + } catch (Exception e) { + throw new ItemRenderException("Error loading item model/renderer...", e); + } + } - state.texture(Texture.wrap(lightTex)) - .lightmap(1, 1) - .depth_test(true) - .depth_mask(false) - .alpha_test(false).blend(new BlendMode(BlendMode.GL_SRC_ALPHA, BlendMode.GL_ONE_MINUS_SRC_ALPHA)); + final String signalState = tile.getState(); + Flare[] flares = flareCache.get(id).get(signalState); - state.color((float)Math.sqrt(red), (float)Math.sqrt(green), (float)Math.sqrt(blue), 1 - (intensity/3f)); + if(flares == null) { + // No flares - no rendering + return; + } - final String objPath = signal.getModel(); - final OBJModel model = cache.get(objPath); - Vec3d centerOfModel = model.centerOfGroups(model.groups()); - Predicate isLightFlare = group -> group.startsWith("lightflare_1"); // TODO Should come from the contentpack - Vec3d centerOfLightFlare = model.centerOfGroups(model.groups().stream().filter(isLightFlare).collect(Collectors.toSet())); - - Vec3d flareOffset = new Vec3d(0.5f, 0.5f,0.5f); // Set position to center of block - state.translate(flareOffset); - state.rotate(tile.getBlockRotate() - 180,0,1,0); // TODO Needs to use the value from the element in the obj later on. - - Vec3d modelOffset = centerOfLightFlare.subtract(centerOfModel); - modelOffset = new Vec3d(modelOffset.x, modelOffset.y, -modelOffset.z - 0.45); - state.translate(modelOffset); // move it towards the position of the light flare - - DirectDraw buffer = new DirectDraw(); - buffer.vertex(-1, -1, 0).uv(0, 0); - buffer.vertex(-1, 1, 0).uv(0, 1); - buffer.vertex(1, 1, 0).uv(1, 1); - buffer.vertex(1, -1, 0).uv(1, 0); - buffer.draw(state); + Pattern rotationPattern = Pattern.compile("rot\\d{1,3}"); + UnaryOperator retrieveRotation = flareGroup -> { + Matcher matcher = rotationPattern.matcher(flareGroup); + matcher.find(); + return matcher.group().replace("rot", ""); + }; + + Pattern pitchPattern = Pattern.compile("pitch\\d{1,3}"); + UnaryOperator retrievePitch = flareGroup -> { + Matcher matcher = pitchPattern.matcher(flareGroup); + matcher.find(); + return matcher.group().replace("pitch", ""); + }; + + for(Flare flare : flares){ + RenderState flareState = renderState.clone(); + String flareId = flare.getId(); + + final String objPath = signal.getModel(); + final OBJModel model = cache.get(objPath); + Predicate isLightFlare = group -> group.startsWith(flareId); // TODO Preload this as well? + String errMsg = String.format("Uh oh. Did not find %s in model %s", flareId, objPath); + String flareGroup = model.groups().stream().filter(isLightFlare).findFirst().orElseThrow(() -> new RuntimeException(errMsg)); + + float red = flare.getRenderColor()[0]; + float green = flare.getRenderColor()[1]; + float blue = flare.getRenderColor()[2]; + float intensity = flare.getIntensity(); + + int flareRotation = Integer.parseInt(retrieveRotation.apply(flareGroup)); + int flarePitch = Integer.parseInt(retrievePitch.apply(flareGroup)); + + Identifier lightTex = new Identifier(LandOfSignals.MODID, "textures/light/antivignette.png"); + + // + + flareState.texture(Texture.wrap(lightTex)) + .lightmap(1, 1) + .depth_test(true) + .depth_mask(false) + .alpha_test(false).blend(new BlendMode(BlendMode.GL_SRC_ALPHA, BlendMode.GL_ONE_MINUS_SRC_ALPHA)); + + flareState.color((float)Math.sqrt(red), (float)Math.sqrt(green), (float)Math.sqrt(blue), 1 - (intensity/3f)); + + Vec3d centerOfModel = model.centerOfGroups(model.groups()); + Vec3d centerOfLightFlare = model.centerOfGroups(Collections.singleton(flareGroup)); + + Vec3d flareOffset = new Vec3d(0.5f, 0.5f,0.5f); // Set position to center of block + flareState.translate(flareOffset); + + flareState.rotate(flarePitch, 0, 0, 1); + flareState.rotate(tile.getBlockRotate() + flareRotation,0,1,0); + + Vec3d modelOffset = centerOfLightFlare.subtract(centerOfModel); + modelOffset = new Vec3d(modelOffset.x, modelOffset.y, -modelOffset.z - 0.45); // 0.45 implement custom offset? + flareState.translate(modelOffset); // move it towards the position of the light flare + + DirectDraw buffer = new DirectDraw(); + buffer.vertex(-1, -1, 0).uv(0, 0); + buffer.vertex(-1, 1, 0).uv(0, 1); + buffer.vertex(1, 1, 0).uv(1, 1); + buffer.vertex(1, -1, 0).uv(1, 0); + buffer.draw(flareState); + } } diff --git a/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.bbmodel b/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.bbmodel index 692726e9..fd192c33 100644 --- a/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.bbmodel +++ b/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.bbmodel @@ -1 +1 @@ -{"meta":{"format_version":"3.6","creation_time":1702420699,"model_format":"free","box_uv":false},"name":"lightflare","geometry_name":"","visible_box":[1,1,0],"resolution":{"width":16,"height":16},"elements":[{"name":"upt_top","rescale":false,"from":[-1.999999999999999,14,-11],"to":[1.9999999999999996,15,-7],"autouv":1,"color":2,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":0},"east":{"uv":[0,0,4,1],"texture":0},"south":{"uv":[0,0,3.9999999999999982,1],"texture":0},"west":{"uv":[0,0,4,1],"texture":0},"up":{"uv":[0,0,3.9999999999999982,4],"texture":0},"down":{"uv":[0,0,3.9999999999999982,4],"texture":0}},"uuid":"20011351-391a-f284-2c87-cf563010ad13"},{"name":"upt_left_corner","rescale":false,"from":[1.500000000000001,13.5,-10],"to":[2.5,14.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,0.9999999999999989,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,0.9999999999999989,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,0.9999999999999989,3],"texture":0},"down":{"uv":[0,0,0.9999999999999989,3],"texture":0}},"uuid":"631191b5-dc70-8fac-9278-fd6aa766c390"},{"name":"upt_right_corner","rescale":false,"from":[-2.5,13.5,-10],"to":[-1.499999999999999,14.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,3],"texture":0},"down":{"uv":[0,0,1.000000000000001,3],"texture":0}},"uuid":"8c3a64a5-3df5-230a-b11f-674c16eafdb5"},{"name":"upt_left","rescale":false,"from":[1.9999999999999996,11,-9],"to":[3,14,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.0000000000000004,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.0000000000000004,2],"texture":0},"down":{"uv":[0,0,1.0000000000000004,2],"texture":0}},"uuid":"55bcc464-cd47-b633-24f4-935bbb8f6e67"},{"name":"upt_left_end","rescale":false,"from":[1.9999999999999996,10.5,-8],"to":[3,11.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.0000000000000004,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.0000000000000004,1],"texture":0},"down":{"uv":[0,0,1.0000000000000004,1],"texture":0}},"uuid":"ba506b90-03f1-cdc8-1d5c-00107c117b7c"},{"name":"upt_right_end","rescale":false,"from":[-3,10.5,-8],"to":[-1.999999999999999,11.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,1],"texture":0},"down":{"uv":[0,0,1.000000000000001,1],"texture":0}},"uuid":"4f098e45-f8cf-36b4-6927-1696c1b1e3e9"},{"name":"upt_right","rescale":false,"from":[-3,11,-9],"to":[-1.999999999999999,14,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.000000000000001,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.000000000000001,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.000000000000001,2],"texture":0},"down":{"uv":[0,0,1.000000000000001,2],"texture":0}},"uuid":"1c1ba4d6-987b-fe1b-cb9e-2b71e0235609"},{"name":"ul_back_top","rescale":false,"from":[-1.999999999999999,10.5,-7.199999999999999],"to":[1.9999999999999996,14.5,-7],"autouv":1,"color":1,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,4],"texture":1},"east":{"uv":[0,0,0.1999999999999993,4],"texture":1},"south":{"uv":[0,0,3.9999999999999982,4],"texture":1},"west":{"uv":[0,0,0.1999999999999993,4],"texture":1},"up":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":1},"down":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":1}},"uuid":"4b46d490-3da5-e726-ba2c-c1e033ffe72f"},{"name":"ul_back_bottom","rescale":false,"from":[-1.499999999999999,10,-7.199999999999999],"to":[1.500000000000001,10.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3,0.5],"texture":1},"east":{"uv":[0,0,0.1999999999999993,0.5],"texture":1},"south":{"uv":[0,0,3,0.5],"texture":1},"west":{"uv":[0,0,0.1999999999999993,0.5],"texture":1},"up":{"uv":[0,0,3,0.1999999999999993],"texture":1},"down":{"uv":[0,0,3,0.1999999999999993],"texture":1}},"uuid":"eb0065c2-1be9-1d1d-35c2-ddf40c0e6022"},{"name":"ul_middle_vert","rescale":false,"from":[-0.9999999999999994,10.5,-7.4],"to":[1.000000000000001,13.5,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,3],"texture":1},"east":{"uv":[0,0,0.20000000000000107,3],"texture":1},"south":{"uv":[0,0,2.0000000000000004,3],"texture":1},"west":{"uv":[0,0,0.20000000000000107,3],"texture":1},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1}},"uuid":"02f05b45-7545-ba4b-e7e1-9c5e45fe6cc0"},{"name":"ul_middle_hor","rescale":false,"from":[-1.499999999999999,11,-7.4],"to":[1.500000000000001,13,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3,2],"texture":1},"east":{"uv":[0,0,0.20000000000000107,2],"texture":1},"south":{"uv":[0,0,3,2],"texture":1},"west":{"uv":[0,0,0.20000000000000107,2],"texture":1},"up":{"uv":[0,0,3,0.20000000000000107],"texture":1},"down":{"uv":[0,0,3,0.20000000000000107],"texture":1}},"uuid":"788ef6ba-6b88-89e0-3693-022758e24cb7"},{"name":"ul_f","rescale":false,"from":[-0.9999999999999994,11,-7.6],"to":[1.000000000000001,13,-7.399999999999999],"autouv":1,"color":1,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,2],"texture":1},"east":{"uv":[0,0,0.20000000000000107,2],"texture":1},"south":{"uv":[0,0,2.0000000000000004,2],"texture":1},"west":{"uv":[0,0,0.20000000000000107,2],"texture":1},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1}},"uuid":"d1556b87-c000-0ade-0a10-4b63d944896e"},{"name":"lh_frontplate","rescale":false,"from":[-4,0,-7],"to":[4,8,-6],"autouv":1,"color":2,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,8,8],"texture":0},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,8,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,8,1],"texture":3},"down":{"uv":[0,0,8,1],"texture":3}},"uuid":"1b6f4246-b981-eb52-0c5c-00b9857cc396"},{"name":"lwt_top","rescale":false,"from":[-1.999999999999999,6,-11],"to":[1.9999999999999996,7,-7],"autouv":1,"color":2,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":0},"east":{"uv":[0,0,4,1],"texture":0},"south":{"uv":[0,0,3.9999999999999982,1],"texture":0},"west":{"uv":[0,0,4,1],"texture":0},"up":{"uv":[0,0,3.9999999999999982,4],"texture":0},"down":{"uv":[0,0,3.9999999999999982,4],"texture":0}},"uuid":"2a5af7ab-da76-45f3-750c-bd02a042f3f5"},{"name":"lwt_left_corner","rescale":false,"from":[1.500000000000001,5.5,-10],"to":[2.5,6.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,0.9999999999999989,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,0.9999999999999989,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,0.9999999999999989,3],"texture":0},"down":{"uv":[0,0,0.9999999999999989,3],"texture":0}},"uuid":"45a7cd05-7229-582e-8a92-8b6f952d0071"},{"name":"lwt_right_corner","rescale":false,"from":[-2.5,5.5,-10],"to":[-1.499999999999999,6.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,3],"texture":0},"down":{"uv":[0,0,1.000000000000001,3],"texture":0}},"uuid":"18a963bd-a9f1-fc6a-330e-575d58b85934"},{"name":"lwt_left","rescale":false,"from":[1.9999999999999996,3,-9],"to":[3,6,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.0000000000000004,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.0000000000000004,2],"texture":0},"down":{"uv":[0,0,1.0000000000000004,2],"texture":0}},"uuid":"9ced4658-c5df-6d5d-bbc5-b4bd6ce99f9c"},{"name":"lwt_left_end","rescale":false,"from":[1.9999999999999996,2.5,-8],"to":[3,3.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.0000000000000004,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.0000000000000004,1],"texture":0},"down":{"uv":[0,0,1.0000000000000004,1],"texture":0}},"uuid":"43ffc9d9-5399-b011-0ff7-00a8412b69d9"},{"name":"lwt_right","rescale":false,"from":[-3,3,-9],"to":[-1.999999999999999,6,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.000000000000001,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.000000000000001,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.000000000000001,2],"texture":0},"down":{"uv":[0,0,1.000000000000001,2],"texture":0}},"uuid":"ac8c3f66-2069-1a25-10d9-654bcf10093d"},{"name":"lwt_right_end","rescale":false,"from":[-3,2.5,-8],"to":[-1.999999999999999,3.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,1],"texture":0},"down":{"uv":[0,0,1.000000000000001,1],"texture":0}},"uuid":"84050d54-8646-e37e-d5f9-ff9d67c63d1c"},{"name":"ll_back_top","rescale":false,"from":[-1.999999999999999,2.5,-7.199999999999999],"to":[1.9999999999999996,6.5,-7],"autouv":1,"color":1,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,4],"texture":2},"east":{"uv":[0,0,0.1999999999999993,4],"texture":2},"south":{"uv":[0,0,3.9999999999999982,4],"texture":2},"west":{"uv":[0,0,0.1999999999999993,4],"texture":2},"up":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":2},"down":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":2}},"uuid":"fdc3f31b-d07f-b9e3-7a90-f86171b6dc56"},{"name":"ll_back_bottom","rescale":false,"from":[-1.499999999999999,2,-7.199999999999999],"to":[1.500000000000001,2.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3,0.5],"texture":2},"east":{"uv":[0,0,0.1999999999999993,0.5],"texture":2},"south":{"uv":[0,0,3,0.5],"texture":2},"west":{"uv":[0,0,0.1999999999999993,0.5],"texture":2},"up":{"uv":[0,0,3,0.1999999999999993],"texture":2},"down":{"uv":[0,0,3,0.1999999999999993],"texture":2}},"uuid":"89001ecb-c0e4-98a0-44a3-6f7199fed26d"},{"name":"ll_middle_vert","rescale":false,"from":[-0.9999999999999994,2.5,-7.4],"to":[1.000000000000001,5.5,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,3],"texture":2},"east":{"uv":[0,0,0.20000000000000107,3],"texture":2},"south":{"uv":[0,0,2.0000000000000004,3],"texture":2},"west":{"uv":[0,0,0.20000000000000107,3],"texture":2},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2}},"uuid":"09624e0d-965f-235b-d515-7fb30d203b1b"},{"name":"ll_middle_hor","rescale":false,"from":[-1.499999999999999,3,-7.4],"to":[1.500000000000001,5,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3,2],"texture":2},"east":{"uv":[0,0,0.20000000000000107,2],"texture":2},"south":{"uv":[0,0,3,2],"texture":2},"west":{"uv":[0,0,0.20000000000000107,2],"texture":2},"up":{"uv":[0,0,3,0.20000000000000107],"texture":2},"down":{"uv":[0,0,3,0.20000000000000107],"texture":2}},"uuid":"5db8760b-b46d-7dc5-3cdd-a060ae24af97"},{"name":"ll_f","rescale":false,"from":[-0.9999999999999994,3,-7.6],"to":[1.000000000000001,5,-7.399999999999999],"autouv":1,"color":1,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,2],"texture":2},"east":{"uv":[0,0,0.20000000000000107,2],"texture":2},"south":{"uv":[0,0,2.0000000000000004,2],"texture":2},"west":{"uv":[0,0,0.20000000000000107,2],"texture":2},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2}},"uuid":"42a3631c-7e3a-0dd3-1a49-f3ec0a6904fe"},{"name":"lh_backplate","rescale":false,"from":[-1.999999999999999,0,-3],"to":[1.9999999999999996,8,-2],"autouv":1,"color":6,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,8],"texture":3},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,3.9999999999999982,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"b9031b84-e4f0-e69f-b054-2e298726c1e1"},{"name":"lh_left_plate","rescale":false,"from":[-0.9909890655490433,0,-6.934671808010126],"to":[0.009010934450957131,8,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,-26.5,0],"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,1.0000000000000004,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3},"down":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3}},"uuid":"098629f3-2624-e3fe-8280-c372f6b315d2"},{"name":"lh_right_plate","rescale":false,"from":[-0.009010934450955577,0,-6.934671808010126],"to":[0.990989065549044,8,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,26.5,0],"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,0.9999999999999996,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,0.9999999999999996,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3},"down":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3}},"uuid":"0bbe36cb-d65b-e9bb-e625-ee9e5e45fd1b"},{"name":"lh_bottom_plate_large","rescale":false,"from":[-3,0,-6],"to":[3,1,-4],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"480f58e5-6f51-99ea-d538-69d35d1d3f03"},{"name":"lh_top_plate_small","rescale":false,"from":[-1.999999999999999,7,-4],"to":[1.9999999999999996,8,-3],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"8e2b0913-24e8-10a4-ae3a-1deeaa8890b0"},{"name":"lh_top_plate_large","rescale":false,"from":[-3,7,-6],"to":[3,8,-4],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"71f02b7c-1a52-08ee-85c9-8b63018d7ee1"},{"name":"lh_bottom_plate_small","rescale":false,"from":[-1.999999999999999,0,-4],"to":[1.9999999999999996,1,-3],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"baf3c96e-716a-3d83-5b17-bbd6b9fc52ea"},{"name":"uh_frontplate","rescale":false,"from":[-4,8,-7],"to":[4,16,-6],"autouv":1,"color":2,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,8,8],"texture":0},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,8,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,8,1],"texture":3},"down":{"uv":[0,0,8,1],"texture":3}},"uuid":"5dc7c614-626d-817e-f525-d078984dbdd1"},{"name":"uh_backplate","rescale":false,"from":[-1.999999999999999,8,-3],"to":[1.9999999999999996,16,-2],"autouv":1,"color":6,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,8],"texture":3},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,3.9999999999999982,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"2410954d-82f2-da6f-1146-36dd764ab8dc"},{"name":"uh_left_plate","rescale":false,"from":[-0.9909890655490433,8,-6.934671808010126],"to":[0.009010934450957131,16,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,-26.5,0],"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,1.0000000000000004,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3},"down":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3}},"uuid":"767477da-482d-80e1-12c0-2420eb91ce67"},{"name":"uh_right_plate","rescale":false,"from":[-0.009010934450955577,8,-6.934671808010126],"to":[0.990989065549044,16,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,26.5,0],"origin":[0,0,2],"faces":{"north":{"uv":[0,0,0.9999999999999996,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,0.9999999999999996,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3},"down":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3}},"uuid":"1d4d3056-9ea7-7f05-626a-d13378959499"},{"name":"uh_bottom_plate_large","rescale":false,"from":[-3,8,-6],"to":[3,9,-4],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"952935b4-3f4c-bfbc-1f3a-1ee984ac2848"},{"name":"uh_bottom_plate_small","rescale":false,"from":[-1.999999999999999,8,-4],"to":[1.9999999999999996,9,-3],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"ef5f69ee-4a03-6ccd-ad8e-feed9e5adafe"},{"name":"uh_top_plate_large","rescale":false,"from":[-3,15,-6],"to":[3,16,-4],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"2f8d9100-ed88-a962-1e9c-ecf2dce1a512"},{"name":"uh_top_plate_small","rescale":false,"from":[-1.999999999999999,15,-4],"to":[1.9999999999999996,16,-3],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"7539026a-4ece-8bfd-7584-869ff59691ff"},{"name":"rod","rescale":false,"from":[-0.75,16,2],"to":[0.75,17,9],"autouv":1,"color":0,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.5,1],"texture":4},"east":{"uv":[0,0,7,1],"texture":4},"south":{"uv":[0,0,1.5,1],"texture":4},"west":{"uv":[0,0,7,1],"texture":4},"up":{"uv":[0,0,1.5,7],"texture":4},"down":{"uv":[0,0,1.5,7],"texture":4}},"uuid":"2da316e8-9ea9-cc1f-745a-a0ce84f1ec87"},{"name":"connector","rescale":false,"from":[-1.5,16,6.5],"to":[1.5,17,9.5],"autouv":1,"color":7,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3,1],"texture":4},"east":{"uv":[0,0,3,1],"texture":4},"south":{"uv":[0,0,3,1],"texture":4},"west":{"uv":[0,0,3,1],"texture":4},"up":{"uv":[0,0,3,3],"texture":4},"down":{"uv":[0,0,3,3],"texture":4}},"uuid":"b97d5b3f-4167-b26f-5871-0950a41735da"},{"name":"rod","rescale":false,"from":[-0.75,-1,2],"to":[0.75,0,9],"autouv":1,"color":0,"locked":false,"origin":[0,-25,2],"faces":{"north":{"uv":[0,0,1.5,1],"texture":4},"east":{"uv":[0,0,7,1],"texture":4},"south":{"uv":[0,0,1.5,1],"texture":4},"west":{"uv":[0,0,7,1],"texture":4},"up":{"uv":[0,0,1.5,7],"texture":4},"down":{"uv":[0,0,1.5,7],"texture":4}},"uuid":"a211d868-6ece-ab25-3490-7b5a9067e1ce"},{"name":"connector","rescale":false,"from":[-1.5,-1,6.5],"to":[1.5,0,9.5],"autouv":1,"color":7,"locked":false,"origin":[0,-25,2],"faces":{"north":{"uv":[0,0,3,1],"texture":4},"east":{"uv":[0,0,3,1],"texture":4},"south":{"uv":[0,0,3,1],"texture":4},"west":{"uv":[0,0,3,1],"texture":4},"up":{"uv":[0,0,3,3],"texture":4},"down":{"uv":[0,0,3,3],"texture":4}},"uuid":"14ee2023-4a60-fc2e-5ffe-828232ffa672"},{"name":"cube","rescale":false,"from":[-0.8275,-2,-2],"to":[0.8275,18,2],"autouv":1,"color":1,"locked":false,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,1.655,16],"texture":4},"east":{"uv":[0,0,4,16],"texture":4},"south":{"uv":[0,0,1.655,16],"texture":4},"west":{"uv":[0,0,4,16],"texture":4},"up":{"uv":[0,0,1.655,4],"texture":4},"down":{"uv":[0,0,1.655,4],"texture":4}},"uuid":"8dc6b676-24aa-8a4a-a7b6-0d44797eef16"},{"name":"cube","rescale":false,"from":[-2,-2,-0.8275],"to":[2,18,0.8275],"autouv":1,"color":1,"locked":false,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,4,16],"texture":4},"east":{"uv":[0,0,1.655,16],"texture":4},"south":{"uv":[0,0,4,16],"texture":4},"west":{"uv":[0,0,1.655,16],"texture":4},"up":{"uv":[0,0,4,1.655],"texture":4},"down":{"uv":[0,0,4,1.655],"texture":4}},"uuid":"62e8ae3f-0c54-c0b8-957b-9161bcd2b4d6"},{"name":"cube","rescale":false,"from":[-0.8275,-2,-2],"to":[0.8275,18,2],"autouv":1,"color":1,"locked":false,"rotation":[0,45,0],"origin":[0,0,0],"faces":{"north":{"uv":[0,0,1.655,16],"texture":4},"east":{"uv":[0,0,4,16],"texture":4},"south":{"uv":[0,0,1.655,16],"texture":4},"west":{"uv":[0,0,4,16],"texture":4},"up":{"uv":[0,0,1.655,4],"texture":4},"down":{"uv":[0,0,1.655,4],"texture":4}},"uuid":"5fd6b958-1e36-c5a8-f10b-b34eb0f6ead4"},{"name":"cube","rescale":false,"from":[-2,-2,-0.8275],"to":[2,18,0.8275],"autouv":1,"color":1,"locked":false,"rotation":[0,45,0],"origin":[0,0,0],"faces":{"north":{"uv":[0,0,4,16],"texture":4},"east":{"uv":[0,0,1.655,16],"texture":4},"south":{"uv":[0,0,4,16],"texture":4},"west":{"uv":[0,0,1.655,16],"texture":4},"up":{"uv":[0,0,4,1.655],"texture":4},"down":{"uv":[0,0,4,1.655],"texture":4}},"uuid":"bca7492d-2dff-f225-1608-588643310368"},{"name":"lightflare_1_rot0_pitch0","rescale":false,"from":[-2,10,-7.6],"to":[2,14,-6.6],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,4,4],"texture":5},"east":{"uv":[0,0,1,4],"texture":5},"south":{"uv":[0,0,4,4],"texture":5},"west":{"uv":[0,0,1,4],"texture":5},"up":{"uv":[0,0,4,1],"texture":5},"down":{"uv":[0,0,4,1],"texture":5}},"uuid":"8f7acb89-1df6-7bcf-f3dd-c5aaa4afff68"},{"name":"lightflare_2_rot0_pitch0","rescale":false,"from":[-2,2,-7.6],"to":[2,6,-6.6],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,4,4],"texture":null},"east":{"uv":[0,0,1,4],"texture":null},"south":{"uv":[0,0,4,4],"texture":null},"west":{"uv":[0,0,1,4],"texture":null},"up":{"uv":[0,0,4,1],"texture":null},"down":{"uv":[0,0,4,1],"texture":null}},"uuid":"cea81af2-64a8-ef4f-8413-88d4a41a1c49"}],"outliner":[{"name":"trafficlight","origin":[0,8,2],"uuid":"21751b38-cbd3-14ce-86a3-10988a20695c","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"upper_signal","origin":[0,0,2],"rotation":[0,-180,0],"uuid":"7a80ef79-2d60-3d29-3768-9173ac2bf11a","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"upper_housing","origin":[0,0,2],"uuid":"8e9fdaad-02e9-36ff-258b-2b831ac6e8b0","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["5dc7c614-626d-817e-f525-d078984dbdd1","2410954d-82f2-da6f-1146-36dd764ab8dc","767477da-482d-80e1-12c0-2420eb91ce67","1d4d3056-9ea7-7f05-626a-d13378959499","952935b4-3f4c-bfbc-1f3a-1ee984ac2848","ef5f69ee-4a03-6ccd-ad8e-feed9e5adafe","2f8d9100-ed88-a962-1e9c-ecf2dce1a512","7539026a-4ece-8bfd-7584-869ff59691ff"]},{"name":"upper_tunnel_visor","origin":[0,0,2],"uuid":"f3d0b55f-6e49-88f8-70e1-ccecbedbf30e","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["20011351-391a-f284-2c87-cf563010ad13","631191b5-dc70-8fac-9278-fd6aa766c390","8c3a64a5-3df5-230a-b11f-674c16eafdb5","55bcc464-cd47-b633-24f4-935bbb8f6e67","ba506b90-03f1-cdc8-1d5c-00107c117b7c","1c1ba4d6-987b-fe1b-cb9e-2b71e0235609","4f098e45-f8cf-36b4-6927-1696c1b1e3e9"]},{"name":"upper_lamp","origin":[0,0,2],"uuid":"59c1cd65-0e01-a561-5dbc-fa12f3312ec7","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4b46d490-3da5-e726-ba2c-c1e033ffe72f","eb0065c2-1be9-1d1d-35c2-ddf40c0e6022","02f05b45-7545-ba4b-e7e1-9c5e45fe6cc0","788ef6ba-6b88-89e0-3693-022758e24cb7","d1556b87-c000-0ade-0a10-4b63d944896e","8f7acb89-1df6-7bcf-f3dd-c5aaa4afff68"]}]},{"name":"lower_signal","origin":[0,-8,2],"rotation":[0,-180,0],"uuid":"6af7495c-d795-a17a-f227-6a8d7833d949","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"lower_housing","origin":[0,-8,2],"uuid":"0b026079-2185-1612-8fdf-d3d0006e401c","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["1b6f4246-b981-eb52-0c5c-00b9857cc396","b9031b84-e4f0-e69f-b054-2e298726c1e1","098629f3-2624-e3fe-8280-c372f6b315d2","0bbe36cb-d65b-e9bb-e625-ee9e5e45fd1b","480f58e5-6f51-99ea-d538-69d35d1d3f03","baf3c96e-716a-3d83-5b17-bbd6b9fc52ea","71f02b7c-1a52-08ee-85c9-8b63018d7ee1","8e2b0913-24e8-10a4-ae3a-1deeaa8890b0"]},{"name":"lower_tunnel_visor","origin":[0,-8,2],"uuid":"90a5c8db-3a86-ed6d-45d7-f4aaf8aa88d5","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["2a5af7ab-da76-45f3-750c-bd02a042f3f5","45a7cd05-7229-582e-8a92-8b6f952d0071","18a963bd-a9f1-fc6a-330e-575d58b85934","9ced4658-c5df-6d5d-bbc5-b4bd6ce99f9c","43ffc9d9-5399-b011-0ff7-00a8412b69d9","ac8c3f66-2069-1a25-10d9-654bcf10093d","84050d54-8646-e37e-d5f9-ff9d67c63d1c"]},{"name":"lower_lamp","origin":[0,-8,2],"uuid":"537c4428-1b95-c342-9a8b-644374aecc1a","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["fdc3f31b-d07f-b9e3-7a90-f86171b6dc56","89001ecb-c0e4-98a0-44a3-6f7199fed26d","09624e0d-965f-235b-d515-7fb30d203b1b","5db8760b-b46d-7dc5-3cdd-a060ae24af97","42a3631c-7e3a-0dd3-1a49-f3ec0a6904fe","cea81af2-64a8-ef4f-8413-88d4a41a1c49"]}]},{"name":"pole_connection_top","origin":[0,-8,2],"uuid":"adebb72b-9453-5098-2ed0-a70c902b29b8","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["2da316e8-9ea9-cc1f-745a-a0ce84f1ec87","b97d5b3f-4167-b26f-5871-0950a41735da"]},{"name":"pole_connection_bottom","origin":[0,-25,2],"uuid":"904ae2df-65bd-3493-7a71-2deb090c0738","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["a211d868-6ece-ab25-3490-7b5a9067e1ce","14ee2023-4a60-fc2e-5ffe-828232ffa672"]}]},{"name":"pole","origin":[0,0,0],"uuid":"9611d5a1-4c93-5111-4163-0ee38924c823","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"gerade","origin":[0,0,0],"uuid":"fe0fb142-4070-8b3d-a47d-8b88205925a3","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["8dc6b676-24aa-8a4a-a7b6-0d44797eef16","62e8ae3f-0c54-c0b8-957b-9161bcd2b4d6"]},{"name":"ungerade","origin":[0,0,0],"uuid":"427e14e5-8422-64e8-0aae-4a1a410f6b85","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["5fd6b958-1e36-c5a8-f10b-b34eb0f6ead4","bca7492d-2dff-f225-1608-588643310368"]}]}],"textures":[{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\black.png","name":"black.png","folder":"light_flare","namespace":"","id":"0","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"b9e1c7b2-cac6-c732-8b71-83e108672cad","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2PU0tL6z0ABYBw1gGE0DBhGw4BhWIQBAD59F+G7Ks3LAAAAAElFTkSuQmCC"},{"path":"C:\\Users\\danie\\Downloads\\upper_lamp.png","name":"upper_lamp.png","folder":"Downloads","namespace":"","id":"2","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"dffa4306-c1f3-4758-cc20-362f82a130f1","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2MUFxf/z0ABYBw1gGE0DBhGw4BhWIQBAJTdFFFn2WZRAAAAAElFTkSuQmCC"},{"path":"C:\\Users\\danie\\Downloads\\lower_lamp.png","name":"lower_lamp.png","folder":"Downloads","namespace":"","id":"1","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"4d5b1aa2-6239-53f7-f019-cac511c6a77e","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2MUFxf/z0ABYBw1gGE0DBhGw4BhWIQBAJTdFFFn2WZRAAAAAElFTkSuQmCC"},{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\gray.png","name":"gray.png","folder":"light_flare","namespace":"","id":"4","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"ae783c3c-b882-cdec-ecbd-e4f64a03634f","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2NctmzZfwYKAOOoAQyjYcAwGgYMwyIMAECLLyHAd11TAAAAAElFTkSuQmCC"},{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\pole.png","name":"pole.png","folder":"light_flare","namespace":"","id":"6","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"35a00640-0133-a1a5-3596-ee913f0312f9","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2PMzkn9z0ABYBw1gGE0DBhGw4BhWIQBAMmEI8EOEOE+AAAAAElFTkSuQmCC"},{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\clear.png","name":"clear.png","folder":"light_flare","namespace":"","id":"5","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"9d0e04b5-a2c1-cee9-40d7-1c8bca5c6674","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAH0lEQVQ4T2NkoBAwUqifYdQAhtEwYBgNA1A+Gvi8AAAmmAARf9qcXAAAAABJRU5ErkJggg=="}]} \ No newline at end of file +{"meta":{"format_version":"3.6","creation_time":1702671212,"model_format":"free","box_uv":false},"name":"lightflare","geometry_name":"","visible_box":[1,1,0],"resolution":{"width":16,"height":16},"elements":[{"name":"upt_top","rescale":false,"from":[-1.999999999999999,14,-11],"to":[1.9999999999999996,15,-7],"autouv":1,"color":2,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":0},"east":{"uv":[0,0,4,1],"texture":0},"south":{"uv":[0,0,3.9999999999999982,1],"texture":0},"west":{"uv":[0,0,4,1],"texture":0},"up":{"uv":[0,0,3.9999999999999982,4],"texture":0},"down":{"uv":[0,0,3.9999999999999982,4],"texture":0}},"uuid":"20011351-391a-f284-2c87-cf563010ad13"},{"name":"upt_left_corner","rescale":false,"from":[1.500000000000001,13.5,-10],"to":[2.5,14.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,0.9999999999999989,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,0.9999999999999989,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,0.9999999999999989,3],"texture":0},"down":{"uv":[0,0,0.9999999999999989,3],"texture":0}},"uuid":"631191b5-dc70-8fac-9278-fd6aa766c390"},{"name":"upt_right_corner","rescale":false,"from":[-2.5,13.5,-10],"to":[-1.499999999999999,14.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,3],"texture":0},"down":{"uv":[0,0,1.000000000000001,3],"texture":0}},"uuid":"8c3a64a5-3df5-230a-b11f-674c16eafdb5"},{"name":"upt_left","rescale":false,"from":[1.9999999999999996,11,-9],"to":[3,14,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.0000000000000004,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.0000000000000004,2],"texture":0},"down":{"uv":[0,0,1.0000000000000004,2],"texture":0}},"uuid":"55bcc464-cd47-b633-24f4-935bbb8f6e67"},{"name":"upt_left_end","rescale":false,"from":[1.9999999999999996,10.5,-8],"to":[3,11.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.0000000000000004,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.0000000000000004,1],"texture":0},"down":{"uv":[0,0,1.0000000000000004,1],"texture":0}},"uuid":"ba506b90-03f1-cdc8-1d5c-00107c117b7c"},{"name":"upt_right_end","rescale":false,"from":[-3,10.5,-8],"to":[-1.999999999999999,11.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,1],"texture":0},"down":{"uv":[0,0,1.000000000000001,1],"texture":0}},"uuid":"4f098e45-f8cf-36b4-6927-1696c1b1e3e9"},{"name":"upt_right","rescale":false,"from":[-3,11,-9],"to":[-1.999999999999999,14,-7],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.000000000000001,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.000000000000001,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.000000000000001,2],"texture":0},"down":{"uv":[0,0,1.000000000000001,2],"texture":0}},"uuid":"1c1ba4d6-987b-fe1b-cb9e-2b71e0235609"},{"name":"ul_back_top","rescale":false,"from":[-1.999999999999999,10.5,-7.199999999999999],"to":[1.9999999999999996,14.5,-7],"autouv":1,"color":1,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,4],"texture":1},"east":{"uv":[0,0,0.1999999999999993,4],"texture":1},"south":{"uv":[0,0,3.9999999999999982,4],"texture":1},"west":{"uv":[0,0,0.1999999999999993,4],"texture":1},"up":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":1},"down":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":1}},"uuid":"4b46d490-3da5-e726-ba2c-c1e033ffe72f"},{"name":"ul_back_bottom","rescale":false,"from":[-1.499999999999999,10,-7.199999999999999],"to":[1.500000000000001,10.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3,0.5],"texture":1},"east":{"uv":[0,0,0.1999999999999993,0.5],"texture":1},"south":{"uv":[0,0,3,0.5],"texture":1},"west":{"uv":[0,0,0.1999999999999993,0.5],"texture":1},"up":{"uv":[0,0,3,0.1999999999999993],"texture":1},"down":{"uv":[0,0,3,0.1999999999999993],"texture":1}},"uuid":"eb0065c2-1be9-1d1d-35c2-ddf40c0e6022"},{"name":"ul_middle_vert","rescale":false,"from":[-0.9999999999999994,10.5,-7.4],"to":[1.000000000000001,13.5,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,3],"texture":1},"east":{"uv":[0,0,0.20000000000000107,3],"texture":1},"south":{"uv":[0,0,2.0000000000000004,3],"texture":1},"west":{"uv":[0,0,0.20000000000000107,3],"texture":1},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1}},"uuid":"02f05b45-7545-ba4b-e7e1-9c5e45fe6cc0"},{"name":"ul_middle_hor","rescale":false,"from":[-1.499999999999999,11,-7.4],"to":[1.500000000000001,13,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3,2],"texture":1},"east":{"uv":[0,0,0.20000000000000107,2],"texture":1},"south":{"uv":[0,0,3,2],"texture":1},"west":{"uv":[0,0,0.20000000000000107,2],"texture":1},"up":{"uv":[0,0,3,0.20000000000000107],"texture":1},"down":{"uv":[0,0,3,0.20000000000000107],"texture":1}},"uuid":"788ef6ba-6b88-89e0-3693-022758e24cb7"},{"name":"ul_f","rescale":false,"from":[-0.9999999999999994,11,-7.6],"to":[1.000000000000001,13,-7.399999999999999],"autouv":1,"color":1,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,2],"texture":1},"east":{"uv":[0,0,0.20000000000000107,2],"texture":1},"south":{"uv":[0,0,2.0000000000000004,2],"texture":1},"west":{"uv":[0,0,0.20000000000000107,2],"texture":1},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":1}},"uuid":"d1556b87-c000-0ade-0a10-4b63d944896e"},{"name":"lh_frontplate","rescale":false,"from":[-4,0,-7],"to":[4,8,-6],"autouv":1,"color":2,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,8,8],"texture":0},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,8,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,8,1],"texture":3},"down":{"uv":[0,0,8,1],"texture":3}},"uuid":"1b6f4246-b981-eb52-0c5c-00b9857cc396"},{"name":"lwt_top","rescale":false,"from":[-1.999999999999999,6,-11],"to":[1.9999999999999996,7,-7],"autouv":1,"color":2,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":0},"east":{"uv":[0,0,4,1],"texture":0},"south":{"uv":[0,0,3.9999999999999982,1],"texture":0},"west":{"uv":[0,0,4,1],"texture":0},"up":{"uv":[0,0,3.9999999999999982,4],"texture":0},"down":{"uv":[0,0,3.9999999999999982,4],"texture":0}},"uuid":"2a5af7ab-da76-45f3-750c-bd02a042f3f5"},{"name":"lwt_left_corner","rescale":false,"from":[1.500000000000001,5.5,-10],"to":[2.5,6.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,0.9999999999999989,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,0.9999999999999989,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,0.9999999999999989,3],"texture":0},"down":{"uv":[0,0,0.9999999999999989,3],"texture":0}},"uuid":"45a7cd05-7229-582e-8a92-8b6f952d0071"},{"name":"lwt_right_corner","rescale":false,"from":[-2.5,5.5,-10],"to":[-1.499999999999999,6.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,3,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,3,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,3],"texture":0},"down":{"uv":[0,0,1.000000000000001,3],"texture":0}},"uuid":"18a963bd-a9f1-fc6a-330e-575d58b85934"},{"name":"lwt_left","rescale":false,"from":[1.9999999999999996,3,-9],"to":[3,6,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.0000000000000004,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.0000000000000004,2],"texture":0},"down":{"uv":[0,0,1.0000000000000004,2],"texture":0}},"uuid":"9ced4658-c5df-6d5d-bbc5-b4bd6ce99f9c"},{"name":"lwt_left_end","rescale":false,"from":[1.9999999999999996,2.5,-8],"to":[3,3.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.0000000000000004,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.0000000000000004,1],"texture":0},"down":{"uv":[0,0,1.0000000000000004,1],"texture":0}},"uuid":"43ffc9d9-5399-b011-0ff7-00a8412b69d9"},{"name":"lwt_right","rescale":false,"from":[-3,3,-9],"to":[-1.999999999999999,6,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.000000000000001,3],"texture":0},"east":{"uv":[0,0,2,3],"texture":0},"south":{"uv":[0,0,1.000000000000001,3],"texture":0},"west":{"uv":[0,0,2,3],"texture":0},"up":{"uv":[0,0,1.000000000000001,2],"texture":0},"down":{"uv":[0,0,1.000000000000001,2],"texture":0}},"uuid":"ac8c3f66-2069-1a25-10d9-654bcf10093d"},{"name":"lwt_right_end","rescale":false,"from":[-3,2.5,-8],"to":[-1.999999999999999,3.5,-7],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.000000000000001,1],"texture":0},"east":{"uv":[0,0,1,1],"texture":0},"south":{"uv":[0,0,1.000000000000001,1],"texture":0},"west":{"uv":[0,0,1,1],"texture":0},"up":{"uv":[0,0,1.000000000000001,1],"texture":0},"down":{"uv":[0,0,1.000000000000001,1],"texture":0}},"uuid":"84050d54-8646-e37e-d5f9-ff9d67c63d1c"},{"name":"ll_back_top","rescale":false,"from":[-1.999999999999999,2.5,-7.199999999999999],"to":[1.9999999999999996,6.5,-7],"autouv":1,"color":1,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,4],"texture":2},"east":{"uv":[0,0,0.1999999999999993,4],"texture":2},"south":{"uv":[0,0,3.9999999999999982,4],"texture":2},"west":{"uv":[0,0,0.1999999999999993,4],"texture":2},"up":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":2},"down":{"uv":[0,0,3.9999999999999982,0.1999999999999993],"texture":2}},"uuid":"fdc3f31b-d07f-b9e3-7a90-f86171b6dc56"},{"name":"ll_back_bottom","rescale":false,"from":[-1.499999999999999,2,-7.199999999999999],"to":[1.500000000000001,2.5,-7],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3,0.5],"texture":2},"east":{"uv":[0,0,0.1999999999999993,0.5],"texture":2},"south":{"uv":[0,0,3,0.5],"texture":2},"west":{"uv":[0,0,0.1999999999999993,0.5],"texture":2},"up":{"uv":[0,0,3,0.1999999999999993],"texture":2},"down":{"uv":[0,0,3,0.1999999999999993],"texture":2}},"uuid":"89001ecb-c0e4-98a0-44a3-6f7199fed26d"},{"name":"ll_middle_vert","rescale":false,"from":[-0.9999999999999994,2.5,-7.4],"to":[1.000000000000001,5.5,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,3],"texture":2},"east":{"uv":[0,0,0.20000000000000107,3],"texture":2},"south":{"uv":[0,0,2.0000000000000004,3],"texture":2},"west":{"uv":[0,0,0.20000000000000107,3],"texture":2},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2}},"uuid":"09624e0d-965f-235b-d515-7fb30d203b1b"},{"name":"ll_middle_hor","rescale":false,"from":[-1.499999999999999,3,-7.4],"to":[1.500000000000001,5,-7.199999999999999],"autouv":1,"color":3,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3,2],"texture":2},"east":{"uv":[0,0,0.20000000000000107,2],"texture":2},"south":{"uv":[0,0,3,2],"texture":2},"west":{"uv":[0,0,0.20000000000000107,2],"texture":2},"up":{"uv":[0,0,3,0.20000000000000107],"texture":2},"down":{"uv":[0,0,3,0.20000000000000107],"texture":2}},"uuid":"5db8760b-b46d-7dc5-3cdd-a060ae24af97"},{"name":"ll_f","rescale":false,"from":[-0.9999999999999994,3,-7.6],"to":[1.000000000000001,5,-7.399999999999999],"autouv":1,"color":1,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,2.0000000000000004,2],"texture":2},"east":{"uv":[0,0,0.20000000000000107,2],"texture":2},"south":{"uv":[0,0,2.0000000000000004,2],"texture":2},"west":{"uv":[0,0,0.20000000000000107,2],"texture":2},"up":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2},"down":{"uv":[0,0,2.0000000000000004,0.20000000000000107],"texture":2}},"uuid":"42a3631c-7e3a-0dd3-1a49-f3ec0a6904fe"},{"name":"lh_backplate","rescale":false,"from":[-1.999999999999999,0,-3],"to":[1.9999999999999996,8,-2],"autouv":1,"color":6,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,8],"texture":3},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,3.9999999999999982,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"b9031b84-e4f0-e69f-b054-2e298726c1e1"},{"name":"lh_left_plate","rescale":false,"from":[-0.9909890655490433,0,-6.934671808010126],"to":[0.009010934450957131,8,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,-26.5,0],"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,1.0000000000000004,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3},"down":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3}},"uuid":"098629f3-2624-e3fe-8280-c372f6b315d2"},{"name":"lh_right_plate","rescale":false,"from":[-0.009010934450955577,0,-6.934671808010126],"to":[0.990989065549044,8,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,26.5,0],"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,0.9999999999999996,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,0.9999999999999996,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3},"down":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3}},"uuid":"0bbe36cb-d65b-e9bb-e625-ee9e5e45fd1b"},{"name":"lh_bottom_plate_large","rescale":false,"from":[-3,0,-6],"to":[3,1,-4],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"480f58e5-6f51-99ea-d538-69d35d1d3f03"},{"name":"lh_top_plate_small","rescale":false,"from":[-1.999999999999999,7,-4],"to":[1.9999999999999996,8,-3],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"8e2b0913-24e8-10a4-ae3a-1deeaa8890b0"},{"name":"lh_top_plate_large","rescale":false,"from":[-3,7,-6],"to":[3,8,-4],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"71f02b7c-1a52-08ee-85c9-8b63018d7ee1"},{"name":"lh_bottom_plate_small","rescale":false,"from":[-1.999999999999999,0,-4],"to":[1.9999999999999996,1,-3],"autouv":1,"color":5,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"baf3c96e-716a-3d83-5b17-bbd6b9fc52ea"},{"name":"uh_frontplate","rescale":false,"from":[-4,8,-7],"to":[4,16,-6],"autouv":1,"color":2,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,8,8],"texture":0},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,8,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,8,1],"texture":3},"down":{"uv":[0,0,8,1],"texture":3}},"uuid":"5dc7c614-626d-817e-f525-d078984dbdd1"},{"name":"uh_backplate","rescale":false,"from":[-1.999999999999999,8,-3],"to":[1.9999999999999996,16,-2],"autouv":1,"color":6,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,8],"texture":3},"east":{"uv":[0,0,1,8],"texture":3},"south":{"uv":[0,0,3.9999999999999982,8],"texture":3},"west":{"uv":[0,0,1,8],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"2410954d-82f2-da6f-1146-36dd764ab8dc"},{"name":"uh_left_plate","rescale":false,"from":[-0.9909890655490433,8,-6.934671808010126],"to":[0.009010934450957131,16,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,-26.5,0],"origin":[0,0,2],"faces":{"north":{"uv":[0,0,1.0000000000000004,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,1.0000000000000004,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3},"down":{"uv":[0,0,1.0000000000000004,4.460000000000002],"texture":3}},"uuid":"767477da-482d-80e1-12c0-2420eb91ce67"},{"name":"uh_right_plate","rescale":false,"from":[-0.009010934450955577,8,-6.934671808010126],"to":[0.990989065549044,16,-2.4746718080101244],"autouv":1,"color":2,"locked":false,"rotation":[0,26.5,0],"origin":[0,0,2],"faces":{"north":{"uv":[0,0,0.9999999999999996,8],"texture":3},"east":{"uv":[0,0,4.460000000000002,8],"texture":3},"south":{"uv":[0,0,0.9999999999999996,8],"texture":3},"west":{"uv":[0,0,4.460000000000002,8],"texture":3},"up":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3},"down":{"uv":[0,0,0.9999999999999996,4.460000000000002],"texture":3}},"uuid":"1d4d3056-9ea7-7f05-626a-d13378959499"},{"name":"uh_bottom_plate_large","rescale":false,"from":[-3,8,-6],"to":[3,9,-4],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"952935b4-3f4c-bfbc-1f3a-1ee984ac2848"},{"name":"uh_bottom_plate_small","rescale":false,"from":[-1.999999999999999,8,-4],"to":[1.9999999999999996,9,-3],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"ef5f69ee-4a03-6ccd-ad8e-feed9e5adafe"},{"name":"uh_top_plate_large","rescale":false,"from":[-3,15,-6],"to":[3,16,-4],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,6,1],"texture":3},"east":{"uv":[0,0,2,1],"texture":3},"south":{"uv":[0,0,6,1],"texture":3},"west":{"uv":[0,0,2,1],"texture":3},"up":{"uv":[0,0,6,2],"texture":3},"down":{"uv":[0,0,6,2],"texture":3}},"uuid":"2f8d9100-ed88-a962-1e9c-ecf2dce1a512"},{"name":"uh_top_plate_small","rescale":false,"from":[-1.999999999999999,15,-4],"to":[1.9999999999999996,16,-3],"autouv":1,"color":5,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,3.9999999999999982,1],"texture":3},"east":{"uv":[0,0,1,1],"texture":3},"south":{"uv":[0,0,3.9999999999999982,1],"texture":3},"west":{"uv":[0,0,1,1],"texture":3},"up":{"uv":[0,0,3.9999999999999982,1],"texture":3},"down":{"uv":[0,0,3.9999999999999982,1],"texture":3}},"uuid":"7539026a-4ece-8bfd-7584-869ff59691ff"},{"name":"rod","rescale":false,"from":[-0.75,16,2],"to":[0.75,17,9],"autouv":1,"color":0,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,1.5,1],"texture":4},"east":{"uv":[0,0,7,1],"texture":4},"south":{"uv":[0,0,1.5,1],"texture":4},"west":{"uv":[0,0,7,1],"texture":4},"up":{"uv":[0,0,1.5,7],"texture":4},"down":{"uv":[0,0,1.5,7],"texture":4}},"uuid":"2da316e8-9ea9-cc1f-745a-a0ce84f1ec87"},{"name":"connector","rescale":false,"from":[-1.5,16,6.5],"to":[1.5,17,9.5],"autouv":1,"color":7,"locked":false,"origin":[0,-8,2],"faces":{"north":{"uv":[0,0,3,1],"texture":4},"east":{"uv":[0,0,3,1],"texture":4},"south":{"uv":[0,0,3,1],"texture":4},"west":{"uv":[0,0,3,1],"texture":4},"up":{"uv":[0,0,3,3],"texture":4},"down":{"uv":[0,0,3,3],"texture":4}},"uuid":"b97d5b3f-4167-b26f-5871-0950a41735da"},{"name":"rod","rescale":false,"from":[-0.75,-1,2],"to":[0.75,0,9],"autouv":1,"color":0,"locked":false,"origin":[0,-25,2],"faces":{"north":{"uv":[0,0,1.5,1],"texture":4},"east":{"uv":[0,0,7,1],"texture":4},"south":{"uv":[0,0,1.5,1],"texture":4},"west":{"uv":[0,0,7,1],"texture":4},"up":{"uv":[0,0,1.5,7],"texture":4},"down":{"uv":[0,0,1.5,7],"texture":4}},"uuid":"a211d868-6ece-ab25-3490-7b5a9067e1ce"},{"name":"connector","rescale":false,"from":[-1.5,-1,6.5],"to":[1.5,0,9.5],"autouv":1,"color":7,"locked":false,"origin":[0,-25,2],"faces":{"north":{"uv":[0,0,3,1],"texture":4},"east":{"uv":[0,0,3,1],"texture":4},"south":{"uv":[0,0,3,1],"texture":4},"west":{"uv":[0,0,3,1],"texture":4},"up":{"uv":[0,0,3,3],"texture":4},"down":{"uv":[0,0,3,3],"texture":4}},"uuid":"14ee2023-4a60-fc2e-5ffe-828232ffa672"},{"name":"cube","rescale":false,"from":[-0.8275,-2,-2],"to":[0.8275,18,2],"autouv":1,"color":1,"locked":false,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,1.655,16],"texture":4},"east":{"uv":[0,0,4,16],"texture":4},"south":{"uv":[0,0,1.655,16],"texture":4},"west":{"uv":[0,0,4,16],"texture":4},"up":{"uv":[0,0,1.655,4],"texture":4},"down":{"uv":[0,0,1.655,4],"texture":4}},"uuid":"8dc6b676-24aa-8a4a-a7b6-0d44797eef16"},{"name":"cube","rescale":false,"from":[-2,-2,-0.8275],"to":[2,18,0.8275],"autouv":1,"color":1,"locked":false,"origin":[0,0,0],"faces":{"north":{"uv":[0,0,4,16],"texture":4},"east":{"uv":[0,0,1.655,16],"texture":4},"south":{"uv":[0,0,4,16],"texture":4},"west":{"uv":[0,0,1.655,16],"texture":4},"up":{"uv":[0,0,4,1.655],"texture":4},"down":{"uv":[0,0,4,1.655],"texture":4}},"uuid":"62e8ae3f-0c54-c0b8-957b-9161bcd2b4d6"},{"name":"cube","rescale":false,"from":[-0.8275,-2,-2],"to":[0.8275,18,2],"autouv":1,"color":1,"locked":false,"rotation":[0,45,0],"origin":[0,0,0],"faces":{"north":{"uv":[0,0,1.655,16],"texture":4},"east":{"uv":[0,0,4,16],"texture":4},"south":{"uv":[0,0,1.655,16],"texture":4},"west":{"uv":[0,0,4,16],"texture":4},"up":{"uv":[0,0,1.655,4],"texture":4},"down":{"uv":[0,0,1.655,4],"texture":4}},"uuid":"5fd6b958-1e36-c5a8-f10b-b34eb0f6ead4"},{"name":"cube","rescale":false,"from":[-2,-2,-0.8275],"to":[2,18,0.8275],"autouv":1,"color":1,"locked":false,"rotation":[0,45,0],"origin":[0,0,0],"faces":{"north":{"uv":[0,0,4,16],"texture":4},"east":{"uv":[0,0,1.655,16],"texture":4},"south":{"uv":[0,0,4,16],"texture":4},"west":{"uv":[0,0,1.655,16],"texture":4},"up":{"uv":[0,0,4,1.655],"texture":4},"down":{"uv":[0,0,4,1.655],"texture":4}},"uuid":"bca7492d-2dff-f225-1608-588643310368"},{"name":"lightflare_1_rot180_pitch0","rescale":false,"from":[-2,10,-7.6],"to":[2,14,-6.6],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,4,4],"texture":5},"east":{"uv":[0,0,1,4],"texture":5},"south":{"uv":[0,0,4,4],"texture":5},"west":{"uv":[0,0,1,4],"texture":5},"up":{"uv":[0,0,4,1],"texture":5},"down":{"uv":[0,0,4,1],"texture":5}},"uuid":"8f7acb89-1df6-7bcf-f3dd-c5aaa4afff68"},{"name":"lightflare_2_rot180_pitch0","rescale":false,"from":[-2,2,-7.6],"to":[2,6,-6.6],"autouv":1,"color":3,"locked":false,"origin":[0,0,2],"faces":{"north":{"uv":[0,0,4,4],"texture":null},"east":{"uv":[0,0,1,4],"texture":null},"south":{"uv":[0,0,4,4],"texture":null},"west":{"uv":[0,0,1,4],"texture":null},"up":{"uv":[0,0,4,1],"texture":null},"down":{"uv":[0,0,4,1],"texture":null}},"uuid":"cea81af2-64a8-ef4f-8413-88d4a41a1c49"}],"outliner":[{"name":"trafficlight","origin":[0,8,2],"uuid":"21751b38-cbd3-14ce-86a3-10988a20695c","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"upper_signal","origin":[0,0,2],"rotation":[0,-180,0],"uuid":"7a80ef79-2d60-3d29-3768-9173ac2bf11a","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"upper_housing","origin":[0,0,2],"uuid":"8e9fdaad-02e9-36ff-258b-2b831ac6e8b0","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["5dc7c614-626d-817e-f525-d078984dbdd1","2410954d-82f2-da6f-1146-36dd764ab8dc","767477da-482d-80e1-12c0-2420eb91ce67","1d4d3056-9ea7-7f05-626a-d13378959499","952935b4-3f4c-bfbc-1f3a-1ee984ac2848","ef5f69ee-4a03-6ccd-ad8e-feed9e5adafe","2f8d9100-ed88-a962-1e9c-ecf2dce1a512","7539026a-4ece-8bfd-7584-869ff59691ff"]},{"name":"upper_tunnel_visor","origin":[0,0,2],"uuid":"f3d0b55f-6e49-88f8-70e1-ccecbedbf30e","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["20011351-391a-f284-2c87-cf563010ad13","631191b5-dc70-8fac-9278-fd6aa766c390","8c3a64a5-3df5-230a-b11f-674c16eafdb5","55bcc464-cd47-b633-24f4-935bbb8f6e67","ba506b90-03f1-cdc8-1d5c-00107c117b7c","1c1ba4d6-987b-fe1b-cb9e-2b71e0235609","4f098e45-f8cf-36b4-6927-1696c1b1e3e9"]},{"name":"upper_lamp","origin":[0,0,2],"uuid":"59c1cd65-0e01-a561-5dbc-fa12f3312ec7","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["4b46d490-3da5-e726-ba2c-c1e033ffe72f","eb0065c2-1be9-1d1d-35c2-ddf40c0e6022","02f05b45-7545-ba4b-e7e1-9c5e45fe6cc0","788ef6ba-6b88-89e0-3693-022758e24cb7","d1556b87-c000-0ade-0a10-4b63d944896e","8f7acb89-1df6-7bcf-f3dd-c5aaa4afff68"]}]},{"name":"lower_signal","origin":[0,-8,2],"rotation":[0,-180,0],"uuid":"6af7495c-d795-a17a-f227-6a8d7833d949","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"lower_housing","origin":[0,-8,2],"uuid":"0b026079-2185-1612-8fdf-d3d0006e401c","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["1b6f4246-b981-eb52-0c5c-00b9857cc396","b9031b84-e4f0-e69f-b054-2e298726c1e1","098629f3-2624-e3fe-8280-c372f6b315d2","0bbe36cb-d65b-e9bb-e625-ee9e5e45fd1b","480f58e5-6f51-99ea-d538-69d35d1d3f03","baf3c96e-716a-3d83-5b17-bbd6b9fc52ea","71f02b7c-1a52-08ee-85c9-8b63018d7ee1","8e2b0913-24e8-10a4-ae3a-1deeaa8890b0"]},{"name":"lower_tunnel_visor","origin":[0,-8,2],"uuid":"90a5c8db-3a86-ed6d-45d7-f4aaf8aa88d5","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["2a5af7ab-da76-45f3-750c-bd02a042f3f5","45a7cd05-7229-582e-8a92-8b6f952d0071","18a963bd-a9f1-fc6a-330e-575d58b85934","9ced4658-c5df-6d5d-bbc5-b4bd6ce99f9c","43ffc9d9-5399-b011-0ff7-00a8412b69d9","ac8c3f66-2069-1a25-10d9-654bcf10093d","84050d54-8646-e37e-d5f9-ff9d67c63d1c"]},{"name":"lower_lamp","origin":[0,-8,2],"uuid":"537c4428-1b95-c342-9a8b-644374aecc1a","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["fdc3f31b-d07f-b9e3-7a90-f86171b6dc56","89001ecb-c0e4-98a0-44a3-6f7199fed26d","09624e0d-965f-235b-d515-7fb30d203b1b","5db8760b-b46d-7dc5-3cdd-a060ae24af97","42a3631c-7e3a-0dd3-1a49-f3ec0a6904fe","cea81af2-64a8-ef4f-8413-88d4a41a1c49"]}]},{"name":"pole_connection_top","origin":[0,-8,2],"uuid":"adebb72b-9453-5098-2ed0-a70c902b29b8","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["2da316e8-9ea9-cc1f-745a-a0ce84f1ec87","b97d5b3f-4167-b26f-5871-0950a41735da"]},{"name":"pole_connection_bottom","origin":[0,-25,2],"uuid":"904ae2df-65bd-3493-7a71-2deb090c0738","export":true,"isOpen":false,"locked":false,"visibility":true,"autouv":0,"children":["a211d868-6ece-ab25-3490-7b5a9067e1ce","14ee2023-4a60-fc2e-5ffe-828232ffa672"]}]},{"name":"pole","origin":[0,0,0],"uuid":"9611d5a1-4c93-5111-4163-0ee38924c823","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":[{"name":"gerade","origin":[0,0,0],"uuid":"fe0fb142-4070-8b3d-a47d-8b88205925a3","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["8dc6b676-24aa-8a4a-a7b6-0d44797eef16","62e8ae3f-0c54-c0b8-957b-9161bcd2b4d6"]},{"name":"ungerade","origin":[0,0,0],"uuid":"427e14e5-8422-64e8-0aae-4a1a410f6b85","export":true,"isOpen":true,"locked":false,"visibility":true,"autouv":0,"children":["5fd6b958-1e36-c5a8-f10b-b34eb0f6ead4","bca7492d-2dff-f225-1608-588643310368"]}]}],"textures":[{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\black.png","name":"black.png","folder":"light_flare","namespace":"","id":"0","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"b9e1c7b2-cac6-c732-8b71-83e108672cad","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2PU0tL6z0ABYBw1gGE0DBhGw4BhWIQBAD59F+G7Ks3LAAAAAElFTkSuQmCC"},{"path":"C:\\Users\\danie\\Downloads\\upper_lamp.png","name":"upper_lamp.png","folder":"Downloads","namespace":"","id":"2","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"dffa4306-c1f3-4758-cc20-362f82a130f1","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2MUFxf/z0ABYBw1gGE0DBhGw4BhWIQBAJTdFFFn2WZRAAAAAElFTkSuQmCC"},{"path":"C:\\Users\\danie\\Downloads\\lower_lamp.png","name":"lower_lamp.png","folder":"Downloads","namespace":"","id":"1","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"4d5b1aa2-6239-53f7-f019-cac511c6a77e","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2MUFxf/z0ABYBw1gGE0DBhGw4BhWIQBAJTdFFFn2WZRAAAAAElFTkSuQmCC"},{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\gray.png","name":"gray.png","folder":"light_flare","namespace":"","id":"4","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"ae783c3c-b882-cdec-ecbd-e4f64a03634f","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2NctmzZfwYKAOOoAQyjYcAwGgYMwyIMAECLLyHAd11TAAAAAElFTkSuQmCC"},{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\pole.png","name":"pole.png","folder":"light_flare","namespace":"","id":"6","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"35a00640-0133-a1a5-3596-ee913f0312f9","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAHklEQVQ4T2PMzkn9z0ABYBw1gGE0DBhGw4BhWIQBAMmEI8EOEOE+AAAAAElFTkSuQmCC"},{"path":"D:\\IMPORTANT_repositories\\LandOfSignals\\src\\main\\resources\\assets\\landofsignals\\models\\block\\landofsignals\\light_flare\\clear.png","name":"clear.png","folder":"light_flare","namespace":"","id":"5","particle":false,"visible":true,"mode":"bitmap","saved":true,"uuid":"9d0e04b5-a2c1-cee9-40d7-1c8bca5c6674","source":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAH0lEQVQ4T2NkoBAwUqifYdQAhtEwYBgNA1A+Gvi8AAAmmAARf9qcXAAAAABJRU5ErkJggg=="}]} \ No newline at end of file diff --git a/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.obj b/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.obj index 31026766..038fa70b 100644 --- a/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.obj +++ b/src/main/resources/assets/landofsignals/models/block/landofsignals/light_flare/lightflare.obj @@ -1980,7 +1980,7 @@ f 160/712/712 155/713/713 153/714/714 usemtl m_2 f 154/715/715 156/716/716 157/717/717 f 156/718/718 159/719/719 157/720/720 -o lightflare_1_rot0_pitch0 +o lightflare_1_rot180_pitch0 v -0.12499999999999993 0.875 0.6625 v -0.12499999999999993 0.875 0.725 v -0.12499999999999993 0.625 0.6625 @@ -4059,7 +4059,7 @@ f 328/1468/1468 323/1469/1469 321/1470/1470 usemtl m_1 f 322/1471/1471 324/1472/1472 325/1473/1473 f 324/1474/1474 327/1475/1475 325/1476/1476 -o lightflare_2_rot0_pitch0 +o lightflare_2_rot180_pitch0 v -0.12499999999999993 0.375 0.6625 v -0.12499999999999993 0.375 0.725 v -0.12499999999999993 0.125 0.6625