diff --git a/.github/ISSUE_TEMPLATE/bug_report_template.yml b/.github/ISSUE_TEMPLATE/bug_report_template.yml
index 386b6ae4..419d1997 100644
--- a/.github/ISSUE_TEMPLATE/bug_report_template.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report_template.yml
@@ -53,6 +53,12 @@ body:
label: Tardis Refined version
description: What version of Tardis Refined are you using?
options:
+ - v2.1.5
+ - v2.1.4
+ - v2.1.3
+ - v2.1.2
+ - v2.1.1
+ - v2.1.0
- v2.0.7
- v2.0.6
- v2.0.5
@@ -63,12 +69,29 @@ body:
- v2.0
- v1.0
- Pre-release v0.1
+ - I am using a Github Test version, and will tell you which version in additional info!
validations:
required: true
- type: textarea
attributes:
label: Other relevant versions
description: If this issue is related to any other mods that have been installed alongside Tardis Refined, list the mod's name and version here.
+ - type: textarea
+ attributes:
+ label: Mod List
+ description: In order to check for compatibility issues, we require your mods list
+ - type: checkboxes
+ id: existing
+ attributes:
+ label: Please confirm that you have searched existing issues in the repo.
+ options:
+ - label: 'Yes, I have checked all open issues and am aware my issue will be closed if it is a duplicate of another'
+ - type: checkboxes
+ id: rendering
+ attributes:
+ label: Please confirm that if your issue is related to rendering, that you have tested without the following before testing; (Shaders, Optifine, Rubidium, embeddium, Sodium)
+ options:
+ - label: 'Yes, I have done testing without these mods before reported a rendering issue or my issue does not relate to rendering'
- type: input
attributes:
label: "Attach the relevant crash report file or log file: (Don't know how to find a crash report file? See the [Minecraft Wiki Tutorial](https://minecraft.fandom.com/wiki/Tutorials/How_to_get_a_crash_report)"
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 915475bb..5ccd944c 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -21,7 +21,7 @@ jobs:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- stale-issue-message: 'This issue has not recieved activity in a while - is it still a issue?'
- stale-pr-message: 'This PR has not recieved activity for a while - please provide activity'
+ stale-issue-message: 'This issue has not received activity in a while - is it still a issue?'
+ stale-pr-message: 'This PR has not received activity for a while - please provide activity'
stale-issue-label: 'stale'
stale-pr-label: 'stale'
diff --git a/LICENSE.MD b/LICENSE.MD
index aed8dcb6..3f09b052 100644
--- a/LICENSE.MD
+++ b/LICENSE.MD
@@ -149,8 +149,8 @@ or other kind of organization that you work for, plus all
its affiliates.
**Affiliates** means the other organizations than an
-organization has controlEntity over, is under the controlEntity of, or is
-under common controlEntity with.
+organization has control over, is under the control of, or is
+under common control with.
**Control** means ownership of substantially all the assets of
an entity, or the power to direct its management and policies
diff --git a/README.md b/README.md
index a66e31c0..55f89cce 100644
--- a/README.md
+++ b/README.md
@@ -1,72 +1,73 @@

-
[](https://crowdin.com/project/tardis-refined)
-[](https://www.curseforge.com/minecraft/mc-mods/tardis-refined)
-[](https://modrinth.com/mod/tardis-refined)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- TARDIS Refined is a Minecraft mod for Forge and Fabric which brings the TARDIS from Doctor Who to Minecraft.
-
-
- View the wiki.
+# TARDIS Refined
+
+TARDIS Refined is a Minecraft mod for Forge and Fabric that brings the TARDIS from *Doctor Who* to Minecraft.
+
+🔗 **[View the Wiki](https://wiki.tardisrefined.net)**
+
+---
## Workspace
-TARDIS Refined implements the Architectuary Gradle plugin, allowing easy multi-modloader development via a common module. This functionality does not require any additional installation of plugins or files. It is recommended you familiarise yourself with Achitectury first before proceeding with PR submissions.
-This repository has been set up to utilise Forge's data generation for most common data gen items. The repository does not include these generated files, so it is recommended to run the Forge Data task when you clone the repository. It is also recommended to run this task regularly to stay concurrent with your branch's data.
+TARDIS Refined implements the [Architectury Gradle plugin](https://github.com/architectury/architectury-plugin), enabling seamless multi-modloader development through a common module. No additional plugins or files are required. It is recommended to familiarise yourself with Architectury before submitting pull requests.
+
+This repository is configured to utilise Forge's data generation for common data-driven content. However, generated files are not included in the repository. Running the Forge Data task after cloning the repository—and periodically thereafter—is highly recommended to keep your data up to date.
+---
## Contributions
-We welcome contributions to TARDIS Refined. If you have an idea for a new feature or have found a bug, please open an issue. If you would like to contribute code, please submit a pull request. Please understand that the associated development team have set tasks and goals for the project, and PRs that include large additions/changes will be closely examined to determine if they meet the project's design.
-
-
-
-With special thanks to Commoble, Lucraft, starray1000000, The Judge, Monsterwaill and Sea Pickle
-
-Additionally, thanks to the additional builders who contributed desktops:
-"Radiance" by Getsuga Tenno
-"Watchface" by t___cup
-"Vapor" by Tank
-"Newwave" by Muffled
-
-Other builds made by members of the team.
-
-
+We welcome contributions to TARDIS Refined! If you have an idea for a new feature or have found a bug, please open an issue. If you’d like to contribute code, submit a pull request. Please note that the development team follows a set roadmap, and substantial additions or changes will be reviewed to ensure they align with the project’s vision.
+
+### 🏆 Contributors
+
+| **Credit** | **Contribution** |
+|------------|-----------------|
+| [CommandrMoose](https://twitter.com/CommandrMoose) | Project Lead & Developer |
+| [Jeryn](https://github.com/Jeryn99) | Developer |
+| [50ap5ud5](https://twitter.com/50ap5ud5) | Developer |
+| [duzo](https://github.com/Duzos) | Developer |
+| [MagicMan](https://twitter.com/MagicMrmann) | Art Lead |
+| [ILikePandas](https://twitter.com/ILikePandas18) | Console Builds |
+| [Jacob.K](https://twitter.com/JacobKauffman11) | Console Builds |
+
+Special thanks to: **Commoble, Lucraft, starray1000000, The Judge, Monsterwaill, and Sea Pickle**.
+
+### 🏗 Additional Builders
+- **"Radiance"** – *Getsuga Tenno*
+- **"Watchface"** – *t___cup*
+- **"Vapor"** – *Tank*
+- **"Newwave"** – *Muffled*
+
+Other builds were contributed by members of the team.
+
+---
## Immersive Portals Support (Developer Note)
-This mod has dedicated support for being compatible and integrating with Immersive Portals when Immersive Portals is present.
-By default, Immersive Portals is not enabled in dev and fabrics build.gradle file must be edited to allow for this.
-Instructions on how to do this can be found in the relevant build.gradle
-If you are a user, the above is not relevant to you. All you should need to do is install Fabric TR and Fabric IP and you will be all ready to go.
+
+This mod includes dedicated compatibility and integration with **Immersive Portals** when it is installed.
+
+- By default, Immersive Portals is *not* enabled in development.
+- Fabric's `build.gradle` must be modified to allow support.
+- Instructions on enabling this can be found within `build.gradle`.
+
+🚀 **For users:** No additional steps are required. Simply install **Fabric TR** and **Fabric IP**, and you’re good to go!
diff --git a/build.gradle b/build.gradle
index 7cc39cb5..b1ab2efa 100644
--- a/build.gradle
+++ b/build.gradle
@@ -15,6 +15,7 @@ plugins {
id "architectury-plugin" version "3.4-SNAPSHOT"
id "dev.architectury.loom" version "1.6+" apply false
id "me.shedaniel.unified-publishing" version "0.1.+"
+ id "com.github.breadmoirai.github-release" version "2.4.1"
}
architectury {
@@ -38,6 +39,42 @@ subprojects {
}
}
+
+def forgeDir = new File(project.projectDir, 'forge/build/libs/')
+def fabricDir = new File(project.projectDir, 'fabric/build/libs/')
+def commonDir = new File(project.projectDir, 'common/build/libs/')
+
+forgeDir.mkdirs()
+fabricDir.mkdirs()
+commonDir.mkdirs()
+
+def filter = { File file -> file.getName().contains(mod_version) } as FileFilter
+
+def forgeFiles = forgeDir.listFiles(filter)
+def fabricFiles = fabricDir.listFiles(filter)
+def commonFiles = commonDir.listFiles(filter)
+
+githubRelease {
+ token project.findProperty("github") ?: System.getenv("github") ?: ""
+ owner "WhoCraft"
+ repo "TardisRefined"
+ tagName "v$rootProject.minecraft_version-$project.mod_version"
+ targetCommitish "mc/1.20.2"
+ releaseName "[$rootProject.minecraft_version] Tardis Refined - v$project.mod_version"
+ generateReleaseNotes true
+ body new File("${rootProject.projectDir}/changelog.md").text
+ draft false
+ prerelease false
+ releaseAssets(forgeFiles + fabricFiles + commonFiles)
+ allowUploadToExisting.set false
+ overwrite true
+ dryRun false
+ apiEndpoint "https://api.github.com"
+ client
+}
+
+
+
allprojects {
apply plugin: "java"
apply plugin: "architectury-plugin"
@@ -66,7 +103,7 @@ allprojects {
maven { url 'https://jitpack.io' }
flatDir {
- dirs '../modlibs'
+ dirs '../mods'
}
@@ -82,6 +119,13 @@ allprojects {
}
}
+task publishMeEverywhere(){
+ dependsOn ':forge:publishUnified'
+ dependsOn ':fabric:publishUnified'
+ dependsOn ':githubRelease'
+}
+
+
def generatedResources = project(":forge").file("src/generated/resources")
sourceSets {
diff --git a/changelog.md b/changelog.md
index 01cf4caf..5fbd7554 100644
--- a/changelog.md
+++ b/changelog.md
@@ -1,95 +1,8 @@
-# Version 2.1.0
+# Version 2.1.5 - HOTFIX
-
-
-#### Bug Fixes
-- Bug fix: Added "Compatibility" with [Diagonal Windows](https://www.curseforge.com/minecraft/mc-mods/diagonal-windows)
-- Bug fix: Exception Ticking World [#388](https://github.com/WhoCraft/TardisRefined/issues/388)
-- Bug fix: Nuka Console Duplicate Control Entity Failing Flight Dance Events [#376](https://github.com/WhoCraft/TardisRefined/issues/376)
-- Bug fix: land pad dont work and crash on server [#377](https://github.com/WhoCraft/TardisRefined/issues/377)
-- Bug fix: tardis is damaged [#351](https://github.com/WhoCraft/TardisRefined/issues/351)
-- Bug fix: Diagonal Windows makes it impossible to craft the terraformer [#383](https://github.com/WhoCraft/TardisRefined/issues/383)
-- Bug fix: relogging causes TARDIS Dance events to not occur [#387](https://github.com/WhoCraft/TardisRefined/issues/387)
-- Bug fix: [Incompatibility] Tardis refined dimensions fail to load with Dimension Threads [#374](https://github.com/WhoCraft/TardisRefined/issues/374)
-- Bug fix: Console cannot be removed/changed with the console configurator outside the TARDIS dimension [#380](https://github.com/WhoCraft/TardisRefined/issues/380)
-- Bug fix: Fixed a bug where the overlay keybinds always rendered the default key
-- Bug fix: Fixed a bug where a new TARDIS would believe it was at 0,0,0
-
-#### Enhancements
-- Enhancement: Added Adventure Mode
-- Enhancement: Standing in a Crashed smoke of a crashed TARDIS will cause 0.5 damage to the player for the duration their standing in it
-- Enhancement: Recovery Progress of crashed TARDIS now displayed on controls until repair is complete
-- Enhancement: Recovery Progress of crashed TARDIS is now displayed on Key tooltip
-- Enhancement: Holographic exteriors on consoles now spin according to throttle
-- Enhancement: Shell Viewer/Time Vortex (Accessed Via Monitor Screen)
-- Enhancement: Speed up downwards descent for Gravity Shaft
-- Enhancement: Improved UI for Gravity Shaft
-- Enhancement: Colored various texts on Key item
-- Enhancement: Alarm now sounds when Fuel is below 5% and the TARDIS is not fueling+
-- Enhancement: Bulkhead doors now have some variants, changed via the Pattern Manipulator
-- Enhancement: Alarm now sounds when Fuel is below 5% and the TARDIS is not fueling
-
-#### Additions
-- Added Item: Mallet
-- Added Villager: Pilot (POI: Console)
-- Added Interior: Useable Terraformed
-- "Added" Shell: Half Baked
-- Added Vortex: Clouds
-- Added Vortex: Flow
-- Added Vortex: Space
-- Added Vortex: Waves
-- Added Vortex: Stars
-- Added Vortex: Twilight Glow
-- Added Vortex: Aurora Dreams
-- Added Vortex: Desert Mirage
-- Added Vortex: Neon Pulse
-- Added Vortex: Ocean Breeze
-- Added Vortex: Solar Flare
-- Added Vortex: Crystal Lagoon
-- Added Vortex: Velvet Night
-- Added Vortex: Candy Pop
-- Added Vortex: Emerald Forest
-- Added Vortex: LGBT Rainbow
-- Added Vortex: Transgender Flag
-- Added Vortex: Bisexual Flag
-- Added Vortex: Lesbian Flag
-- Added Vortex: Non-Binary Flag
-- Added Vortex: Agender Flag
-- Added Vortex: Gay Flag
-
-#### Textures, Models & Animations
-- Texture: Updated all Factory Console Variants
-- Model: Updated Coral Console Model
-- Model: Updated Victorian Console Model
-- Model: Updated Factory Console Model
-- Model: Updated Big Ben Interior Model
-- Model: Updated Pathfinder Interior Model
-- Animation: Updated Factory Console Flight Animation
-- Animation: Updated Factory Console Idle Animation
-- Animation: Added Factory Console Crash Animation
-- Animation: Added Factory Console Power on Animation
-- Animation: Added Factory Console Power off Animation
-- Animation: Updated Victorian Console Flight Animation
-- Animation: Updated Victorian Console Idle Animation
-- Animation: Added Victorian Console Crash Animation
-- Animation: Added Victorian Console Power on Animation
-- Animation: Added Victorian Console Power off Animation
-
-#### Adventure Mode
-Mod Pack creators can now enable adventure mode in the server config - this will activate a mode where players have to visit a dimension and sample it in order to have their TARDIS travel there - Mod Pack creators can also add levels to automatically be sampled by a TARDIS
-
-#### Compatibility Notes
-- [Trinkets](https://wiki.tardisrefined.net/extendedinventorymods.html#trinkets)
-- [Curios](https://wiki.tardisrefined.net/extendedinventorymods.html#curios)
-- [Diagonal Windows](https://wiki.tardisrefined.net/diagonal-blocks-windows-walls.html#diagonal-walls)
-
-
-#### Technical changes
-- Most animations for Consoles are now loaded from JSON
-- Some models for Consoles are now loaded from JSON
-
-#### NOTE
-- Upon updating to this version, your previous: ``Return Location``, ``Current Location`` and ``Target Location`` will be reset
-This will not lead to any other data loss and your TARDIS will be exactly where you left it, take off once and you will be all sorted. This was a required change to resolve some issues
+
+All previous changes from 2.1.4: https://wiki.tardisrefined.net/version-2-1-4.html
+#### Bug Fix
+- Bug fix: Fixed class loading destroying other mods ability to load
diff --git a/common/build.gradle b/common/build.gradle
index 48025662..4658c7e8 100644
--- a/common/build.gradle
+++ b/common/build.gradle
@@ -16,6 +16,8 @@ dependencies {
because "Ensure the dependency is resolved from the specified repository."
}
+ // Sodium
+ modImplementation "maven.modrinth:sodium:${rootProject.sodium_version}"
modCompileOnlyApi ("com.github.iPortalTeam.ImmersivePortalsMod:imm_ptl_core:${rootProject.immersive_portals_version}"){
exclude(group: "net.fabricmc.fabric-api")
diff --git a/common/src/main/java/dev/jeryn/anim/tardis/JsonToAnimationDefinition.java b/common/src/main/java/dev/jeryn/anim/tardis/JsonToAnimationDefinition.java
deleted file mode 100644
index e4c881d5..00000000
--- a/common/src/main/java/dev/jeryn/anim/tardis/JsonToAnimationDefinition.java
+++ /dev/null
@@ -1,219 +0,0 @@
-package dev.jeryn.anim.tardis;
-
-import com.google.gson.JsonArray;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
-import com.google.gson.JsonParser;
-import com.google.gson.stream.JsonReader;
-import net.minecraft.client.animation.AnimationChannel;
-import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.resources.ResourceLocation;
-import net.minecraft.server.packs.resources.ResourceManager;
-import org.joml.Vector3f;
-import whocraft.tardis_refined.TardisRefined;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.*;
-
-import static net.minecraft.client.animation.AnimationChannel.Interpolations.CATMULLROM;
-import static net.minecraft.client.animation.AnimationChannel.Interpolations.LINEAR;
-import static net.minecraft.client.animation.AnimationChannel.Targets.*;
-
-/**
- * JsonToAnimationDefinition
- *
- * This file magically allows me to load JSON based animations to a AnimationDefinition
- * It was a nightmare to get correct
- * All Rights Reserved
- *
- * Credits
- *
- * - Developed by: Jeryn
- *
- *
- * @version 1.0
- * @since 2024-12-01
- */
-public class JsonToAnimationDefinition {
-
- public static ModelPart findPart(HierarchicalModel hierarchicalModel, String string) {
- System.out.println(string + " " + hierarchicalModel.getClass());
- return hierarchicalModel.root().getAllParts().filter((modelPart) -> modelPart.hasChild(string)).findFirst().map((modelPart) -> modelPart.getChild(string)).get();
- }
-
- public static final AnimationChannel.Interpolation SNAP_TO = (destination, progress, keyFrames, startIndex, endIndex, scaleFactor) -> {
- Vector3f startVector = keyFrames[startIndex].target();
- Vector3f endVector = keyFrames[endIndex].target();
- return startVector.lerp(endVector, 0, destination).mul(scaleFactor);
- };
-
-
- public static AnimationDefinition loadAnimation(ResourceManager resourceManager, ResourceLocation resourceLocation) {
-
- JsonObject animationJson = loadJsonFromResource(resourceManager, resourceLocation);
- JsonArray animations = animationJson.getAsJsonArray("animations");
-
- if(animationJson == null || animations.isEmpty() || animations.isJsonNull()){
- TardisRefined.LOGGER.info("The specified animation '{}' does not exist?", resourceLocation);
- }
-
- float animationLength = animationJson.get("length").getAsFloat();
-
- AnimationDefinition.Builder animationDefinition = AnimationDefinition.Builder.withLength(animationLength);
-
- boolean looping = animationJson.get("looping").getAsBoolean();
-
- if(looping){
- animationDefinition.looping();
- }
-
- for (JsonElement boneEntry : animations.getAsJsonArray()) {
- JsonObject boneData = boneEntry.getAsJsonObject();
-
- List rotationKeyframes = new ArrayList<>();
- List positionKeyframes = new ArrayList<>();
- List scaleKeyframes = new ArrayList<>();
-
- String boneName = boneData.get("bone").getAsString();
-
- if(boneData.get("target").getAsString().equals("rotation")){
- rotationKeyframes = parseKeyframes(boneData, ROTATION);
- }
-
- if(boneData.get("target").getAsString().equals("position")){
- positionKeyframes = parseKeyframes(boneData, POSITION);
- }
-
- if(boneData.get("target").getAsString().equals("scale")){
- scaleKeyframes = parseKeyframes(boneData, SCALE);
- }
-
-
-
- AnimationChannel positionChannel = positionKeyframes.isEmpty() ? null : new AnimationChannel(POSITION, positionKeyframes.toArray(new Keyframe[0]));
- AnimationChannel rotationChannel = rotationKeyframes.isEmpty() ? null : new AnimationChannel(ROTATION, rotationKeyframes.toArray(new Keyframe[0]));
- AnimationChannel scaleChannel = scaleKeyframes.isEmpty() ? null : new AnimationChannel(SCALE, scaleKeyframes.toArray(new Keyframe[0]));
-
- if (positionChannel != null) {
- animationDefinition.addAnimation(boneName, positionChannel);
- }
- if (rotationChannel != null) {
- animationDefinition.addAnimation(boneName, rotationChannel);
- }
-
- if (scaleChannel != null) {
- animationDefinition.addAnimation(boneName, scaleChannel);
- }
-
-
- }
-
- return animationDefinition.build();
- }
-
- private static List parseKeyframes(JsonElement transformationData, AnimationChannel.Target targetType) {
- List keyframes = new ArrayList<>();
-
- if(transformationData == null) return keyframes;
-
- JsonObject jsonObject = transformationData.getAsJsonObject();
-
- if (!jsonObject.has("keyframes") || !jsonObject.get("keyframes").isJsonArray()) {
- return keyframes;
- }
-
- JsonArray keyframesArray = jsonObject.getAsJsonArray("keyframes");
- for (JsonElement keyframeElement : keyframesArray) {
- if (!keyframeElement.isJsonObject()) continue;
-
- JsonObject keyframeObject = keyframeElement.getAsJsonObject();
-
- // Parse the individual keyframe details
- float timestamp = keyframeObject.has("timestamp") ? keyframeObject.get("timestamp").getAsFloat() : 0.0f;
- JsonArray targetArray = keyframeObject.has("target") ? keyframeObject.getAsJsonArray("target") : null;
- AnimationChannel.Interpolation interpolation = keyframeObject.has("interpolation") ? getInterpolation(keyframeObject.get("interpolation").getAsString()) : getInterpolation("linear");
-
- Vector3f vector3f;
-
- if (targetArray != null && targetArray.size() == 3) {
- vector3f = new Vector3f(
- targetArray.get(0).getAsFloat(),
- targetArray.get(1).getAsFloat(),
- targetArray.get(2).getAsFloat()
- );
- } else {
- continue; // Skip this keyframe if target is invalid
- }
-
-
- // Create a new Keyframe object and add it to the list
- Keyframe keyframe = new Keyframe(timestamp, Objects.requireNonNull(targetToVector(targetType, vector3f)), interpolation);
- keyframes.add(keyframe);
- }
- // Log the total number of keyframes parsed
- TardisRefined.LOGGER.debug("({} + {}) Total keyframes parsed: {}", targetToString(targetType), jsonObject.get("bone").getAsString(), keyframes.size());
-
- return keyframes;
- }
-
-
- private static String targetToString(AnimationChannel.Target target){
- if(target == POSITION){
- return "Position";
- }
-
- if(target == ROTATION){
- return "Rotation";
- }
-
- if(target == SCALE){
- return "Scale";
- }
-
- return null; // We should never get here
- }
-
- private static Vector3f targetToVector(AnimationChannel.Target target, Vector3f vector3f){
- if(target == POSITION){
- return KeyframeAnimations.posVec(vector3f.x, vector3f.y, vector3f.z);
- }
-
- if(target == ROTATION){
- return KeyframeAnimations.degreeVec(vector3f.x, vector3f.y, vector3f.z);
- }
-
- if(target == SCALE){
- return KeyframeAnimations.scaleVec(vector3f.x, vector3f.y, vector3f.z);
- }
-
- return null; // We should never get here
- }
-
- private static AnimationChannel.Interpolation getInterpolation(String easingType) {
- return switch (easingType) {
- case "linear" -> LINEAR;
- case "catmullrom" -> CATMULLROM;
- default -> SNAP_TO;
- };
- }
-
-
-
- public static JsonObject loadJsonFromResource(ResourceManager resourceManager, ResourceLocation resourceLocation) {
- try {
- TardisRefined.LOGGER.info("Loading Animation: {}", resourceLocation);
- InputStream inputStream = resourceManager.getResource(resourceLocation).get().open();
- JsonReader reader = new JsonReader(new InputStreamReader(inputStream));
- return JsonParser.parseReader(reader).getAsJsonObject();
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/dev/jeryn/frame/tardis/Frame.java b/common/src/main/java/dev/jeryn/frame/tardis/Frame.java
new file mode 100644
index 00000000..e23f2da3
--- /dev/null
+++ b/common/src/main/java/dev/jeryn/frame/tardis/Frame.java
@@ -0,0 +1,198 @@
+package dev.jeryn.frame.tardis;
+
+import com.google.gson.*;
+import com.google.gson.stream.JsonReader;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.animation.*;
+import net.minecraft.client.model.HierarchicalModel;
+import net.minecraft.client.model.geom.ModelPart;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.server.packs.resources.ResourceManager;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.joml.Vector3f;
+
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.util.*;
+
+import static net.minecraft.client.animation.AnimationChannel.Interpolations.*;
+import static net.minecraft.client.animation.AnimationChannel.Targets.*;
+
+/**
+ * Frame
+ *
+ * Allows loading JSON-based animations into an AnimationDefinition.
+ * Developed by Jeryn
+ *
+ * @version 2.1
+ * @since 2024-12-01
+ */
+public class Frame {
+
+ private static final Logger LOGGER = LogManager.getLogger("TardisRefined/FrameByJeryn");
+
+ public static final AnimationChannel.Interpolation SNAP_TO = (destination, progress, keyFrames, startIndex, endIndex, scaleFactor) -> {
+ Vector3f startVector = keyFrames[startIndex].target();
+ Vector3f endVector = keyFrames[endIndex].target();
+ return startVector.lerp(endVector, 0, destination).mul(scaleFactor);
+ };
+
+ public static AnimationDefinition loadAnimation(ResourceLocation resourceLocation) {
+ return loadAnimation(Minecraft.getInstance().getResourceManager(), resourceLocation);
+ }
+
+ public static AnimationDefinition loadAnimation(ResourceManager resourceManager, ResourceLocation resourceLocation) {
+ if(resourceManager == null) return null;
+ JsonObject animationJson = loadJsonFromResource(resourceManager, resourceLocation);
+
+ validateAnimationJson(animationJson, resourceLocation);
+
+ float animationLength = animationJson.get("length").getAsFloat();
+ boolean looping = animationJson.has("looping") && animationJson.get("looping").getAsBoolean();
+
+ AnimationDefinition.Builder animationDefinition = AnimationDefinition.Builder.withLength(animationLength);
+ if (looping) animationDefinition.looping();
+
+ JsonArray animations = animationJson.getAsJsonArray("animations");
+ for (JsonElement boneEntry : animations) {
+ if (!boneEntry.isJsonObject()) {
+ LOGGER.warn("Skipping invalid bone entry in animation: {}", resourceLocation);
+ continue;
+ }
+
+ JsonObject boneData = boneEntry.getAsJsonObject();
+ String boneName = boneData.get("bone").getAsString();
+ String target = boneData.get("target").getAsString();
+
+ List keyframes = parseKeyframes(boneData, targetToAnimationTarget(target));
+ if (keyframes.isEmpty()) continue;
+
+ animationDefinition.addAnimation(
+ boneName,
+ new AnimationChannel(targetToAnimationTarget(target), keyframes.toArray(new Keyframe[0]))
+ );
+ }
+
+
+ return animationDefinition.build();
+ }
+
+ private static void validateAnimationJson(JsonObject animationJson, ResourceLocation resourceLocation) {
+ if (animationJson == null || !animationJson.has("animations") || animationJson.getAsJsonArray("animations").isEmpty()) {
+ LOGGER.error("Invalid or missing animation JSON: {}", resourceLocation);
+ throw new IllegalArgumentException("Invalid or missing animation JSON: " + resourceLocation);
+ }
+ }
+
+ private static AnimationChannel.Target targetToAnimationTarget(String target) {
+ return switch (target.toLowerCase()) {
+ case "rotation" -> ROTATION;
+ case "position" -> POSITION;
+ case "scale" -> SCALE;
+ default -> throw new IllegalArgumentException("Unknown animation target: " + target);
+ };
+ }
+
+ private static List parseKeyframes(JsonObject boneData, AnimationChannel.Target targetType) {
+ if (!boneData.has("keyframes") || !boneData.get("keyframes").isJsonArray()) {
+ return Collections.emptyList();
+ }
+
+ JsonArray keyframesArray = boneData.getAsJsonArray("keyframes");
+ List keyframes = new ArrayList<>(keyframesArray.size());
+
+ for (JsonElement keyframeElement : keyframesArray) {
+ if (!keyframeElement.isJsonObject()) continue;
+
+ JsonObject keyframeObject = keyframeElement.getAsJsonObject();
+ float timestamp = keyframeObject.has("timestamp") ? keyframeObject.get("timestamp").getAsFloat() : 0.0f;
+
+ JsonArray targetArray = keyframeObject.getAsJsonArray("target");
+ if (targetArray == null || targetArray.size() != 3) {
+ LOGGER.warn("Invalid target array for keyframe at timestamp: {}", timestamp);
+ continue;
+ }
+
+ Vector3f vector3f = new Vector3f(
+ targetArray.get(0).getAsFloat(),
+ targetArray.get(1).getAsFloat(),
+ targetArray.get(2).getAsFloat()
+ );
+
+ AnimationChannel.Interpolation interpolation = keyframeObject.has("interpolation")
+ ? getInterpolation(keyframeObject.get("interpolation").getAsString())
+ : LINEAR;
+
+ keyframes.add(new Keyframe(
+ timestamp,
+ targetToVector(targetType, vector3f),
+ interpolation
+ ));
+ }
+
+ LOGGER.debug("Parsed {} keyframes for bone: {}, target: {}", keyframes.size(), boneData.get("bone").getAsString(), targetToString(targetType));
+ return keyframes;
+ }
+
+ /*Helper method for logging purposes*/
+ private static String targetToString(AnimationChannel.Target target) {
+ if (target.equals(POSITION)) {
+ return "Position";
+ } else if (target.equals(ROTATION)) {
+ return "Rotation";
+ } else if (target.equals(SCALE)) {
+ return "Scale";
+ }
+ throw new IllegalArgumentException("Unexpected target: " + target); // This should never happen
+ }
+
+ private static Vector3f targetToVector(AnimationChannel.Target target, Vector3f vector3f){
+ if(target == POSITION){
+ return KeyframeAnimations.posVec(vector3f.x, vector3f.y, vector3f.z);
+ }
+
+ if(target == ROTATION){
+ return KeyframeAnimations.degreeVec(vector3f.x, vector3f.y, vector3f.z);
+ }
+
+ if(target == SCALE){
+ return KeyframeAnimations.scaleVec(vector3f.x, vector3f.y, vector3f.z);
+ }
+
+ return null; // We should never get here
+ }
+
+ private static AnimationChannel.Interpolation getInterpolation(String easingType) {
+ return switch (easingType.toLowerCase()) {
+ case "linear" -> LINEAR;
+ case "catmullrom" -> CATMULLROM;
+ default -> SNAP_TO;
+ };
+ }
+
+ public static JsonObject loadJsonFromResource(ResourceManager resourceManager, ResourceLocation resourceLocation) {
+ LOGGER.info("Loading animation: {}", resourceLocation);
+
+ return resourceManager.getResource(resourceLocation).map(resource -> {
+ try (JsonReader reader = new JsonReader(new InputStreamReader(resource.open()))) {
+ return JsonParser.parseReader(reader).getAsJsonObject();
+ } catch (IOException e) {
+ LOGGER.error("Error reading animation: {}", resourceLocation, e);
+ throw new RuntimeException(e);
+ }
+ }).orElseThrow(() -> {
+ LOGGER.error("Animation not found: {}", resourceLocation);
+ return new IllegalArgumentException("Animation not found: " + resourceLocation);
+ });
+ }
+
+ public static ModelPart findPart(HierarchicalModel> model, String partName) {
+ return model.root()
+ .getAllParts()
+ .filter(part -> part.hasChild(partName))
+ .findFirst()
+ .map(part -> part.getChild(partName))
+ .orElseThrow(() -> new IllegalArgumentException("Part not found: " + partName));
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/TRConfig.java b/common/src/main/java/whocraft/tardis_refined/TRConfig.java
index e5e58efd..1ed79b1a 100644
--- a/common/src/main/java/whocraft/tardis_refined/TRConfig.java
+++ b/common/src/main/java/whocraft/tardis_refined/TRConfig.java
@@ -37,14 +37,19 @@ public class TRConfig {
public static class Client {
public final ModConfigSpec.BooleanValue CONTROL_NAMES;
public final ModConfigSpec.BooleanValue PLAY_CONSOLE_IDLE_ANIMATIONS;
+ public final ModConfigSpec.BooleanValue RENDER_VORTEX_IN_DOOR;
+ public final ModConfigSpec.BooleanValue USE_INTERNAL_SHADERS;
+ public final ModConfigSpec.DoubleValue SCREEN_SHAKE_MULTIPLIER;
public Client(ModConfigSpec.Builder builder) {
builder.push("rendering");
CONTROL_NAMES = builder.comment("Toggle control name rendering").translation(ModMessages.CONFIG_CONTROL_NAMES).define("control_name_rendering", true);
PLAY_CONSOLE_IDLE_ANIMATIONS = builder.comment("Play idle console animations").translation(ModMessages.CONFIG_IDLE_CONSOLE_ANIMS).define("console_idle_animations", true);
+ RENDER_VORTEX_IN_DOOR = builder.comment("Skip Vortex rendering").translation(ModMessages.CONFIG_RENDER_VORTEX_IN_DOOR).define("render_vortex_in_door", true);
+ USE_INTERNAL_SHADERS = builder.comment("Use Custom Internal Shaders").translation(ModMessages.CONFIG_CUSTOM_SHADERS).define("use_internal_shaders", true);
+ SCREEN_SHAKE_MULTIPLIER = builder.comment("Adjust the amount the game shakes the screen during travel").translation(ModMessages.SCREEN_SHAKE_MULTIPLIER).defineInRange("screen_shake_multiplier", 1d, 0, 2);
builder.pop();
}
-
}
public static class Common {
@@ -52,7 +57,7 @@ public static class Common {
public Common(ModConfigSpec.Builder builder) {
builder.push("compatibility");
- COMPATIBILITY_IP = builder.comment("Toggle Immersive Portals compatibility (TR 2.0+). 2.0 has limited support and does not recommend enabling this.").translation(ModMessages.CONFIG_IP_COMPAT).define("immersive_portals_support", true);
+ COMPATIBILITY_IP = builder.comment("Toggle Immersive Portals compatibility (TR 2.0+). 2.0 has limited support").translation(ModMessages.CONFIG_IP_COMPAT).define("immersive_portals_support", true);
builder.pop();
}
diff --git a/common/src/main/java/whocraft/tardis_refined/TardisRefined.java b/common/src/main/java/whocraft/tardis_refined/TardisRefined.java
index 2971a51c..1278e043 100644
--- a/common/src/main/java/whocraft/tardis_refined/TardisRefined.java
+++ b/common/src/main/java/whocraft/tardis_refined/TardisRefined.java
@@ -2,15 +2,14 @@
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
-import com.mojang.logging.LogUtils;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.Style;
import net.minecraft.util.LowerCaseEnumTypeAdapterFactory;
-import org.slf4j.Logger;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.client.TRParticles;
import whocraft.tardis_refined.common.VortexRegistry;
-import whocraft.tardis_refined.registry.TRUpgrades;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.network.TardisNetwork;
import whocraft.tardis_refined.common.network.messages.sync.S2CSyncConsolePatterns;
import whocraft.tardis_refined.common.network.messages.sync.S2CSyncDesktops;
@@ -21,7 +20,6 @@
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
import whocraft.tardis_refined.common.world.ChunkGenerators;
import whocraft.tardis_refined.common.world.Features;
-import whocraft.tardis_refined.registry.TRARSStructurePieceRegistry;
import whocraft.tardis_refined.patterns.ConsolePatterns;
import whocraft.tardis_refined.patterns.ShellPatterns;
import whocraft.tardis_refined.registry.*;
@@ -30,8 +28,7 @@ public class TardisRefined {
public static final String MODID = "tardis_refined";
public static final String NAME = "Tardis Refined";
- public static final String PLATFORM_ERROR = "Something has gone critically wrong with platform definitions. Please contact the mod author.";
- public static final Logger LOGGER = LogUtils.getLogger();
+ public static Logger LOGGER = LogManager.getLogger(NAME);
public static Gson GSON = new GsonBuilder()
.disableHtmlEscaping()
diff --git a/common/src/main/java/whocraft/tardis_refined/api/event/TardisClientEvents.java b/common/src/main/java/whocraft/tardis_refined/api/event/TardisClientEvents.java
index 46461532..ea31d763 100644
--- a/common/src/main/java/whocraft/tardis_refined/api/event/TardisClientEvents.java
+++ b/common/src/main/java/whocraft/tardis_refined/api/event/TardisClientEvents.java
@@ -1,6 +1,7 @@
package whocraft.tardis_refined.api.event;
import net.minecraft.client.model.geom.EntityModelSet;
+import whocraft.tardis_refined.client.model.blockentity.console.ConsoleModelCollection;
public class TardisClientEvents {
@@ -10,10 +11,23 @@ public class TardisClientEvents {
}
});
+ public static final Event CONSOLE_MODELS_SETUP = new Event<>(TardisClientEvents.SetupConsoleModels.class, listeners -> (ConsoleModelCollection consoleModelCollection, EntityModelSet context) -> {
+ for (TardisClientEvents.SetupConsoleModels listener : listeners) {
+ listener.setupConsoleModels(consoleModelCollection, context);
+ }
+ });
+
+ /*Provides a safe place for addon makers to register their shell and interior door models*/
@FunctionalInterface
public interface SetupModels {
void setUpShellAndInteriorModels(EntityModelSet context);
}
+ @FunctionalInterface
+ public interface SetupConsoleModels {
+ void setupConsoleModels(ConsoleModelCollection consoleModelCollection, EntityModelSet context);
+ }
+
+
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/ModelRegistry.java b/common/src/main/java/whocraft/tardis_refined/client/ModelRegistry.java
index 26880d97..33352a76 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/ModelRegistry.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/ModelRegistry.java
@@ -4,12 +4,7 @@
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.builders.LayerDefinition;
import net.minecraft.resources.ResourceLocation;
-import whocraft.tardis_refined.client.model.blockentity.console.*;
-import whocraft.tardis_refined.client.model.blockentity.device.ArtronPillarBlockModel;
-import whocraft.tardis_refined.client.model.blockentity.door.interior.*;
-import whocraft.tardis_refined.client.model.blockentity.shell.internal.door.RootShellDoorModel;
-import whocraft.tardis_refined.client.model.blockentity.shell.rootplant.*;
-import whocraft.tardis_refined.client.model.blockentity.shell.shells.*;
+import whocraft.tardis_refined.client.model.blockentity.life.ZeitonGlassModel;
import whocraft.tardis_refined.common.util.PlatformWarning;
import java.util.function.Supplier;
@@ -18,47 +13,47 @@
public class ModelRegistry {
- // Root Plants - Sorry in advance.
- public static ModelLayerLocation ROOT_PLANT_STATE_ONE;
- public static ModelLayerLocation ROOT_PLANT_STATE_TWO;
- public static ModelLayerLocation ROOT_PLANT_STATE_THREE;
- public static ModelLayerLocation ROOT_PLANT_STATE_FOUR;
- public static ModelLayerLocation ROOT_PLANT_STATE_FIVE;
+ public static ModelLayerLocation ROOT_PLANT_STATE_ONE = createLocation("root_plant_one", "growth");
+ public static ModelLayerLocation ROOT_PLANT_STATE_TWO = createLocation("root_plant_two", "growth");
+ public static ModelLayerLocation ROOT_PLANT_STATE_THREE = createLocation("root_plant_three", "growth");
+ public static ModelLayerLocation ROOT_PLANT_STATE_FOUR = createLocation("root_plant_four", "growth");
+ public static ModelLayerLocation ROOT_PLANT_STATE_FIVE = createLocation("root_plant_five", "growth");
public static ModelLayerLocation FACTORY_CONSOLE = console("factory");
- public static ModelLayerLocation NUKA_CONSOLE;
+ public static ModelLayerLocation NUKA_CONSOLE = console("nuka");
public static ModelLayerLocation CORAL_CONSOLE = console("coral");
- public static ModelLayerLocation COPPER_CONSOLE = console( "copper");
-
+ public static ModelLayerLocation COPPER_CONSOLE = console("copper");
public static ModelLayerLocation TOYOTA_CONSOLE = console("toyota");
- public static ModelLayerLocation CRYSTAL_CONSOLE;
- public static ModelLayerLocation VICTORIAN_CONSOLE;
- public static ModelLayerLocation MYST_CONSOLE;
- public static ModelLayerLocation INITIATIVE_CONSOLE;
- public static ModelLayerLocation REFURBISHED_CONSOLE;
-
- public static ModelLayerLocation ROOT_SHELL;
- public static ModelLayerLocation FACTORY_SHELL;
- public static ModelLayerLocation POLICE_BOX_SHELL;
- public static ModelLayerLocation PHONE_BOOTH_SHELL;
- public static ModelLayerLocation MYSTIC_SHELL;
- public static ModelLayerLocation DRIFTER_SHELL;
- public static ModelLayerLocation PRESENT_SHELL;
- public static ModelLayerLocation VENDING_SHELL;
- public static ModelLayerLocation BRIEFCASE_SHELL;
- public static ModelLayerLocation GROENING_SHELL;
- public static ModelLayerLocation BIG_BEN_SHELL;
- public static ModelLayerLocation NUKA_SHELL;
- public static ModelLayerLocation GROWTH_SHELL;
- public static ModelLayerLocation PORTALOO_SHELL;
- public static ModelLayerLocation PAGODA_SHELL;
- public static ModelLayerLocation LIFT_SHELL;
- public static ModelLayerLocation HIEROGLYPH_SHELL;
- public static ModelLayerLocation CASTLE_SHELL;
- public static ModelLayerLocation PATHFINDER_SHELL;
- public static ModelLayerLocation HALF_BAKED_SHELL;
-
- public static ModelLayerLocation ROOT_SHELL_DOOR;
+ public static ModelLayerLocation CRYSTAL_CONSOLE = console("crystal");
+ public static ModelLayerLocation VICTORIAN_CONSOLE = console("victorian");
+ public static ModelLayerLocation MYST_CONSOLE = console("myst");
+ public static ModelLayerLocation INITIATIVE_CONSOLE = console("initiative");
+ public static ModelLayerLocation REFURBISHED_CONSOLE = console("refurbished");
+
+
+ public static ModelLayerLocation ROOT_SHELL = shell("root_shell");
+ public static ModelLayerLocation FACTORY_SHELL = shell("factory_shell");
+ public static ModelLayerLocation POLICE_BOX_SHELL = shell("police_box_shell");
+ public static ModelLayerLocation PHONE_BOOTH_SHELL = shell("phone_booth_shell");
+ public static ModelLayerLocation MYSTIC_SHELL = shell("mystic_shell");
+ public static ModelLayerLocation DRIFTER_SHELL = shell("drifter_shell");
+ public static ModelLayerLocation PRESENT_SHELL = shell("present_shell");
+ public static ModelLayerLocation VENDING_SHELL = shell("vending_shell");
+ public static ModelLayerLocation BRIEFCASE_SHELL = shell("briefcase_shell");
+ public static ModelLayerLocation GROENING_SHELL = shell("groening_shell");
+ public static ModelLayerLocation BIG_BEN_SHELL = shell("big_ben_shell");
+ public static ModelLayerLocation NUKA_SHELL = shell("nuka_shell");
+ public static ModelLayerLocation GROWTH_SHELL = shell("growth_shell");
+ public static ModelLayerLocation PORTALOO_SHELL = shell("portaloo_shell");
+ public static ModelLayerLocation PAGODA_SHELL = shell("pagoda_shell");
+ public static ModelLayerLocation LIFT_SHELL = shell("lift_shell");
+ public static ModelLayerLocation HIEROGLYPH_SHELL = shell("hieroglyph_shell");
+ public static ModelLayerLocation CASTLE_SHELL = shell("castle_shell");
+ public static ModelLayerLocation PATHFINDER_SHELL = shell("pathfinder_shell");
+ public static ModelLayerLocation HALF_BAKED_SHELL = shell("half_baked_shell");
+ public static ModelLayerLocation SHULKER_SHELL = shell("shulker_shell");
+
+ public static ModelLayerLocation ROOT_SHELL_DOOR = interiorDoor("root_shell_door");
public static ModelLayerLocation FACTORY_DOOR = interiorDoor("factory_door");
public static ModelLayerLocation POLICE_BOX_DOOR = interiorDoor("police_box_door");
public static ModelLayerLocation DRIFTER_DOOR = interiorDoor("drifter_door");
@@ -66,9 +61,9 @@ public class ModelRegistry {
public static ModelLayerLocation PHONE_BOOTH_DOOR = interiorDoor("phone_booth_door");
public static ModelLayerLocation PRESENT_DOOR = interiorDoor("present_door");
public static ModelLayerLocation GROENING_DOOR = interiorDoor("groening_door");
- public static ModelLayerLocation BRIEFCASE_DOOR;
- public static ModelLayerLocation GROWTH_DOOR;
- public static ModelLayerLocation PAGODA_DOOR;
+ public static ModelLayerLocation BRIEFCASE_DOOR = interiorDoor("briefcase_door");
+ public static ModelLayerLocation GROWTH_DOOR = interiorDoor("growth_door");
+ public static ModelLayerLocation PAGODA_DOOR = interiorDoor("pagoda_door");
public static ModelLayerLocation HIEROGLYPH_DOOR = interiorDoor("hieroglyph_door");
public static ModelLayerLocation CASTLE_DOOR = interiorDoor("castle_door");
public static ModelLayerLocation NUKA_DOOR = interiorDoor("nuka_door");
@@ -77,11 +72,14 @@ public class ModelRegistry {
public static ModelLayerLocation LIFT_DOOR = interiorDoor("lift_door");
public static ModelLayerLocation PATHFINDER_DOOR = interiorDoor("pathfinder_door");
public static ModelLayerLocation BIG_BEN_DOOR = interiorDoor("big_ben_door");
- public static ModelLayerLocation HALF_BAKED_DOOR;
+ public static ModelLayerLocation HALF_BAKED_DOOR = interiorDoor("half_baked_door");
+ public static ModelLayerLocation SHULKER_DOOR = interiorDoor("shulker_door");
public static ModelLayerLocation ARS_EGG = createLocation("ars_egg", "living");
public static ModelLayerLocation BULK_HEAD_DOOR = interiorDoor("bulk_head_door");
- public static ModelLayerLocation ARTRON_PILLAR;
+
+ public static ModelLayerLocation ARTRON_PILLAR = createLocation("artron_pillar", "technology");
+ public static ModelLayerLocation ZEITON_GLASS = createLocation("zeiton_glass", "living");
private static ModelLayerLocation interiorDoor(String name) {
return createLocation(name, "door");
@@ -91,52 +89,18 @@ private static ModelLayerLocation console(String name) {
return createLocation(name, "console");
}
+ private static ModelLayerLocation shell(String name) {
+ return createLocation(name, "shell");
+ }
+
+
private static ModelLayerLocation createLocation(String name, String layer) {
return new ModelLayerLocation(new ResourceLocation(MODID, name), layer);
}
+ public static ZeitonGlassModel zeitonGlassModel;
+
public static void init() {
- ROOT_PLANT_STATE_ONE = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_plant_one"), "root_plant_one"), RootPlantStateOneModel::createBodyLayer);
- ROOT_PLANT_STATE_TWO = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_plant_two"), "root_plant_two"), RootPlantStateTwoModel::createBodyLayer);
- ROOT_PLANT_STATE_THREE = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_plant_three"), "root_plant_three"), RootPlantStateThreeModel::createBodyLayer);
- ROOT_PLANT_STATE_FOUR = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_plant_four"), "root_plant_four"), RootPlantStateFourModel::createBodyLayer);
- ROOT_PLANT_STATE_FIVE = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_plant_five"), "root_plant_five"), RootPlantStateFiveModel::createBodyLayer);
-
- NUKA_CONSOLE = register(new ModelLayerLocation(new ResourceLocation(MODID, "nuka_console"), "nuka_console"), NukaConsoleModel::createBodyLayer);
- CRYSTAL_CONSOLE = register(new ModelLayerLocation(new ResourceLocation(MODID, "crystal_console"), "crystal_console"), CrystalConsoleModel::createBodyLayer);
- VICTORIAN_CONSOLE = register(new ModelLayerLocation(new ResourceLocation(MODID, "victorian_console"), "victorian_console"), VictorianConsoleModel::createBodyLayer);
- MYST_CONSOLE = register(new ModelLayerLocation(new ResourceLocation(MODID, "myst_console"), "myst_console"), MystConsoleModel::createBodyLayer);
- INITIATIVE_CONSOLE = register(new ModelLayerLocation(new ResourceLocation(MODID, "initiative_console"), "initiative_console"), InitiativeConsoleModel::createBodyLayer);
- REFURBISHED_CONSOLE = register(new ModelLayerLocation(new ResourceLocation(MODID, "refurbished_console"), "refurbished_console"), RefurbishedConsoleModel::createBodyLayer);
-
- ROOT_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_shell"), "root_shell"), RootShellModel::createBodyLayer);
- FACTORY_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "factory_shell"), "factory_shell"), FactoryShellModel::createBodyLayer);
- POLICE_BOX_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "police_box_shell"), "police_box_shell"), PoliceBoxModel::createBodyLayer);
- PHONE_BOOTH_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "phone_booth_shell"), "phone_booth_shell"), PhoneBoothModel::createBodyLayer);
- MYSTIC_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "mystic_shell"), "mystic_shell"), MysticShellModel::createBodyLayer);
- DRIFTER_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "drifter_shell"), "drifter_shell"), DrifterShellModel::createBodyLayer);
- PRESENT_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "present_shell"), "present_shell"), PresentShellModel::createBodyLayer);
- VENDING_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "vending_shell"), "vending_shell"), VendingMachineShellModel::createBodyLayer);
- BRIEFCASE_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "briefcase_shell"), "briefcase_shell"), BriefcaseShellModel::createBodyLayer);
- GROENING_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "groening_shell"), "groening_shell"), GroeningShellModel::createBodyLayer);
- BIG_BEN_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "big_ben_shell"), "big_ben_shell"), BigBenShellModel::createBodyLayer);
- NUKA_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "nuka_shell"), "nuka_shell"), NukaShellModel::createBodyLayer);
- GROWTH_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "growth_shell"), "growth_shell"), GrowthShellModel::createBodyLayer);
- PORTALOO_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "portaloo_shell"), "portaloo_shell"), PortalooShellModel::createBodyLayer);
- PAGODA_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "pagoda_shell"), "pagoda_shell"), PagodaShellModel::createBodyLayer);
- LIFT_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "lift_shell"), "lift_shell"), LiftShellModel::createBodyLayer);
- HIEROGLYPH_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "hieroglyph_shell"), "hieroglyph_shell"), HieroglyphModel::createBodyLayer);
- CASTLE_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "castle_shell"), "castle_shell"), CastleShellModel::createBodyLayer);
- PATHFINDER_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "pathfinder_shell"), "pathfinder_shell"), PathfinderShellModel::createBodyLayer);
- HALF_BAKED_SHELL = register(new ModelLayerLocation(new ResourceLocation(MODID, "half_baked_shell"), "half_baked_shell"), HalfBakedShellModel::createBodyLayer);
-
-
- ROOT_SHELL_DOOR = register(new ModelLayerLocation(new ResourceLocation(MODID, "root_shell_door"), "root_shell_door"), RootShellDoorModel::createBodyLayer);
- BRIEFCASE_DOOR = register(new ModelLayerLocation(new ResourceLocation(MODID, "briefcase_door"), "briefcase_door"), BriefcaseDoorModel::createBodyLayer);
- GROWTH_DOOR = register(new ModelLayerLocation(new ResourceLocation(MODID, "growth_door"), "growth_door"), GrowthDoorModel::createBodyLayer);
- PAGODA_DOOR = register(new ModelLayerLocation(new ResourceLocation(MODID, "pagoda_door"), "pagoda_door"), PagodaDoorModel::createBodyLayer);
- HALF_BAKED_DOOR = register(new ModelLayerLocation(new ResourceLocation(MODID, "half_baked_door"), "half_baked_door"), HalfBakedDoorModel::createBodyLayer);
- ARTRON_PILLAR = register(new ModelLayerLocation(new ResourceLocation(MODID, "artron_pillar"), "artron_pillar"), ArtronPillarBlockModel::createBodyLayer);
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/ScreenHandler.java b/common/src/main/java/whocraft/tardis_refined/client/ScreenHandler.java
index 2e0e872a..2554981f 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/ScreenHandler.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/ScreenHandler.java
@@ -53,6 +53,7 @@ public static void setEditCoordinatesScreen(TardisWaypoint waypoint) {
Minecraft.getInstance().setScreen(new WaypointManageScreen(waypoint));
}
+
@Environment(EnvType.CLIENT)
public static void openMonitorScreen(boolean desktopGenerating, CompoundTag upgradeHandlerNbt, TardisNavLocation currentLocation, TardisNavLocation targetLocation, ResourceLocation currentShellTheme) {
if (desktopGenerating) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/TRParticles.java b/common/src/main/java/whocraft/tardis_refined/client/TRParticles.java
index 142e9994..5a189b8a 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/TRParticles.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/TRParticles.java
@@ -5,6 +5,7 @@
import net.minecraft.core.particles.SimpleParticleType;
import net.minecraft.core.registries.Registries;
import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.common.util.PlatformWarning;
import whocraft.tardis_refined.registry.DeferredRegistry;
import whocraft.tardis_refined.registry.RegistrySupplier;
@@ -18,7 +19,7 @@ public class TRParticles {
@ExpectPlatform
public static SimpleParticleType getParticleType() {
- throw new RuntimeException(TardisRefined.PLATFORM_ERROR);
+ throw new RuntimeException(PlatformWarning.addWarning(TRParticles.class));
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/TRShaders.java b/common/src/main/java/whocraft/tardis_refined/client/TRShaders.java
new file mode 100644
index 00000000..3c61c492
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/TRShaders.java
@@ -0,0 +1,101 @@
+package whocraft.tardis_refined.client;
+
+import com.google.common.collect.ImmutableList;
+import com.mojang.blaze3d.platform.GlUtil;
+import com.mojang.blaze3d.vertex.VertexFormat;
+import net.fabricmc.api.EnvType;
+import net.fabricmc.api.Environment;
+import net.minecraft.client.renderer.RenderStateShard;
+import net.minecraft.client.renderer.RenderType;
+import net.minecraft.client.renderer.ShaderInstance;
+import net.minecraft.resources.ResourceLocation;
+import org.apache.commons.lang3.tuple.Triple;
+import whocraft.tardis_refined.TRConfig;
+
+import java.util.Objects;
+
+import static com.mojang.blaze3d.vertex.DefaultVertexFormat.NEW_ENTITY;
+import static net.minecraft.client.renderer.RenderStateShard.*;
+
+public class TRShaders {
+ public static ShaderInstance GLOW_SHADER;
+ public static ShaderInstance SNOW_SHADER;
+
+
+ @Environment(EnvType.CLIENT)
+ public static boolean shouldUseCompatMode() {
+ return !GlUtil.getVendor().toLowerCase().contains("nvidia");
+ }
+
+
+ public static RenderType translucentWithSnow(ResourceLocation texture, boolean show) {
+ ResourceLocation snowTexture = new ResourceLocation("minecraft", "textures/block/snow.png");
+
+
+ // Has to be separate, using java OR operator would allow the snow to render even if the user has internal shaders turned off
+ if(!TRConfig.CLIENT.USE_INTERNAL_SHADERS.get()){
+ return RenderType.entityTranslucent(texture);
+ }
+
+ if (!show) return RenderType.entityTranslucent(texture);
+
+ // Create an ImmutableList of Triple for the textures
+ ImmutableList> textureList = ImmutableList.of(
+ Triple.of(texture, false, false),
+ Triple.of(snowTexture, false, false)
+ );
+
+ RenderType.CompositeState state = RenderType.CompositeState.builder()
+ .setShaderState(new RenderStateShard.ShaderStateShard(() -> TRShaders.SNOW_SHADER))
+ .setTextureState(new RenderStateShard.MultiTextureStateShard(textureList))
+ .setTransparencyState(RenderStateShard.TRANSLUCENT_TRANSPARENCY)
+ .setCullState(NO_CULL)
+ .setOverlayState(OVERLAY)
+ .setWriteMaskState(RenderStateShard.COLOR_DEPTH_WRITE)
+ .setLightmapState(LIGHTMAP)
+ .createCompositeState(false);
+
+ return RenderType.create(
+ "nivis",
+ NEW_ENTITY,
+ VertexFormat.Mode.QUADS,
+ 256,
+ true,
+ false,
+ state
+ );
+ }
+
+
+
+ public static RenderType glow(ResourceLocation texture, float intensity) {
+
+ if(true){ // For now, we will stick to Mojangs implementation until we get it right
+ return RenderType.entityTranslucentEmissive(texture);
+ }
+
+ RenderType.CompositeState state = RenderType.CompositeState.builder()
+ .setShaderState(new RenderStateShard.ShaderStateShard(() -> {
+ ShaderInstance glowShader = TRShaders.GLOW_SHADER;
+ Objects.requireNonNull(glowShader.getUniform("GlowIntensity")).set(intensity);
+ return glowShader;
+ }))
+ .setTextureState(new RenderStateShard.TextureStateShard(texture, false, false))
+ .setTransparencyState(RenderStateShard.ADDITIVE_TRANSPARENCY)
+ .setWriteMaskState(COLOR_WRITE)
+ .createCompositeState(true);
+
+ return RenderType.create(
+ "glowing_texture",
+ NEW_ENTITY,
+ VertexFormat.Mode.QUADS,
+ 256,
+ true,
+ false,
+ state
+ );
+ }
+
+
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/TardisClientData.java b/common/src/main/java/whocraft/tardis_refined/client/TardisClientData.java
index 373b06de..31b7a696 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/TardisClientData.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/TardisClientData.java
@@ -7,8 +7,8 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
import whocraft.tardis_refined.common.VortexRegistry;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.network.messages.sync.S2CSyncTardisClientData;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
import whocraft.tardis_refined.constants.NbtConstants;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/TardisClientLogic.java b/common/src/main/java/whocraft/tardis_refined/client/TardisClientLogic.java
index e3e9a9a6..777591e9 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/TardisClientLogic.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/TardisClientLogic.java
@@ -16,13 +16,14 @@
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.phys.Vec3;
+import whocraft.tardis_refined.TRConfig;
import whocraft.tardis_refined.client.sounds.HumSoundManager;
import whocraft.tardis_refined.client.sounds.QuickSimpleSound;
import whocraft.tardis_refined.client.sounds.TRSoundInstances;
import whocraft.tardis_refined.common.GravityUtil;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
-import whocraft.tardis_refined.common.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
import whocraft.tardis_refined.common.util.ClientHelper;
import whocraft.tardis_refined.common.util.TardisHelper;
import whocraft.tardis_refined.registry.TRDimensionTypes;
@@ -221,7 +222,7 @@ private static void handleTardisLoopingSounds(TardisClientData clientData, Playe
//Play hums, and use the dedicated HumSoundManager to stop and start sounds
HumEntry humEntry = clientData.getHumEntry();
if (isThisTardis && humEntry != null && !humEntry.getSoundEventId().toString().equals(HumSoundManager.getCurrentRawSound().getLocation().toString()) || !soundManager.isActive(HumSoundManager.getCurrentHumSound())) {
- HumSoundManager.playHum(SoundEvent.createVariableRangeEvent(humEntry.getSoundEventId()), player, targetLevel);
+ HumSoundManager.playHum(SoundEvent.createFixedRangeEvent(humEntry.getSoundEventId(), 1F), player, targetLevel);
}
//Hum ambient sounds
@@ -274,12 +275,12 @@ private static void handleScreenShake(TardisClientData clientData, Player player
if (player.level().dimension() == clientData.getLevelKey()) {
if (clientData.isCrashing()) {
- player.setXRot(player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f);
- player.setYHeadRot(player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f);
+ player.setXRot((float) (player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f * TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
+ player.setYHeadRot((float) (player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * 0.5f * TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
} else {
if (clientData.isFlying()) {
- player.setXRot(player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f));
- player.setYHeadRot(player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f));
+ player.setXRot((float) (player.getXRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f)* TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
+ player.setYHeadRot((float) (player.getYHeadRot() + (player.getRandom().nextFloat() - 0.5f) * (clientData.getThrottleStage() * 0.1f)* TRConfig.CLIENT.SCREEN_SHAKE_MULTIPLIER.get()));
}
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/ZeitonGlassTracker.java b/common/src/main/java/whocraft/tardis_refined/client/ZeitonGlassTracker.java
new file mode 100644
index 00000000..b3f371c3
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/ZeitonGlassTracker.java
@@ -0,0 +1,24 @@
+package whocraft.tardis_refined.client;
+
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
+
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
+public class ZeitonGlassTracker {
+ public static final Set loadedGlass = ConcurrentHashMap.newKeySet();
+
+ public static void onLoad(ZeitonGlassBlockEntity entity) {
+ loadedGlass.add(entity);
+ }
+
+ public static void onUnload(ZeitonGlassBlockEntity entity) {
+ loadedGlass.remove(entity);
+ }
+
+
+
+ public static void clear() {
+ loadedGlass.clear();
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/GenericModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/GenericModel.java
new file mode 100644
index 00000000..a059b6dd
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/GenericModel.java
@@ -0,0 +1,24 @@
+package whocraft.tardis_refined.client.model;
+
+import net.minecraft.client.model.HierarchicalModel;
+import net.minecraft.client.model.geom.ModelPart;
+import net.minecraft.world.entity.Entity;
+
+public class GenericModel extends HierarchicalModel {
+
+ private final ModelPart root;
+
+ public GenericModel(ModelPart root) {
+ this.root = root;
+ }
+
+ @Override
+ public ModelPart root() {
+ return this.root;
+ }
+
+ @Override
+ public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
+
+ }
+}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelCollection.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelCollection.java
index 3e090870..6f995629 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelCollection.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelCollection.java
@@ -2,19 +2,24 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.geom.EntityModelSet;
+import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
-import whocraft.tardis_refined.TardisRefined;
+import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import whocraft.tardis_refined.api.event.TardisClientEvents;
import whocraft.tardis_refined.client.ModelRegistry;
+import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;
-import java.util.ArrayList;
-import java.util.List;
+import java.util.HashMap;
+import java.util.Map;
/***
* A collection of models for rendering the console unit.
*/
public class ConsoleModelCollection {
- public static List CONSOLE_MODELS = new ArrayList<>();
+ public static HashMap CONSOLE_MODELS = new HashMap<>();
private static ConsoleModelCollection instance = null;
ConsoleUnit toyotaConsoleModel, coralConsoleModel, copperConsoleModel, nukaConsoleModel, factoryConsoleModel, crystalConsoleModel, victorianConsoleModel, mystConsoleModel, initiativeConsoleModel, refurbishedConsoleModel;
@@ -33,43 +38,72 @@ public static ConsoleModelCollection getInstance() {
public void registerModels(EntityModelSet context) {
- factoryConsoleModel = new FactoryConsoleModel(context.bakeLayer((ModelRegistry.FACTORY_CONSOLE)));
- nukaConsoleModel = new NukaConsoleModel(context.bakeLayer((ModelRegistry.NUKA_CONSOLE)));
- copperConsoleModel = new CopperConsoleModel(context.bakeLayer((ModelRegistry.COPPER_CONSOLE)));
- coralConsoleModel = new CoralConsoleModel(context.bakeLayer((ModelRegistry.CORAL_CONSOLE)));
- toyotaConsoleModel = new ToyotaConsoleModel(context.bakeLayer((ModelRegistry.TOYOTA_CONSOLE)));
- crystalConsoleModel = new CrystalConsoleModel(context.bakeLayer((ModelRegistry.CRYSTAL_CONSOLE)));
- victorianConsoleModel = new VictorianConsoleModel(context.bakeLayer((ModelRegistry.VICTORIAN_CONSOLE)));
- mystConsoleModel = new MystConsoleModel(context.bakeLayer((ModelRegistry.MYST_CONSOLE)));
- initiativeConsoleModel = new InitiativeConsoleModel(context.bakeLayer((ModelRegistry.INITIATIVE_CONSOLE)));
- refurbishedConsoleModel = new RefurbishedConsoleModel(context.bakeLayer((ModelRegistry.REFURBISHED_CONSOLE)));
-
- CONSOLE_MODELS.add(factoryConsoleModel);
- CONSOLE_MODELS.add(nukaConsoleModel);
- CONSOLE_MODELS.add(copperConsoleModel);
- CONSOLE_MODELS.add(coralConsoleModel);
- CONSOLE_MODELS.add(toyotaConsoleModel);
- CONSOLE_MODELS.add(crystalConsoleModel);
- CONSOLE_MODELS.add(victorianConsoleModel);
- CONSOLE_MODELS.add(mystConsoleModel);
- CONSOLE_MODELS.add(initiativeConsoleModel);
- CONSOLE_MODELS.add(refurbishedConsoleModel);
+ factoryConsoleModel = new FactoryConsoleModel(context.bakeLayer(ModelRegistry.FACTORY_CONSOLE));
+ nukaConsoleModel = new NukaConsoleModel(context.bakeLayer(ModelRegistry.NUKA_CONSOLE));
+ copperConsoleModel = new CopperConsoleModel(context.bakeLayer(ModelRegistry.COPPER_CONSOLE));
+ coralConsoleModel = new CoralConsoleModel(context.bakeLayer(ModelRegistry.CORAL_CONSOLE));
+ toyotaConsoleModel = new ToyotaConsoleModel(context.bakeLayer(ModelRegistry.TOYOTA_CONSOLE));
+ crystalConsoleModel = new CrystalConsoleModel(context.bakeLayer(ModelRegistry.CRYSTAL_CONSOLE));
+ victorianConsoleModel = new VictorianConsoleModel(context.bakeLayer(ModelRegistry.VICTORIAN_CONSOLE));
+ mystConsoleModel = new MystConsoleModel(context.bakeLayer(ModelRegistry.MYST_CONSOLE));
+ initiativeConsoleModel = new InitiativeConsoleModel(context.bakeLayer(ModelRegistry.INITIATIVE_CONSOLE));
+ refurbishedConsoleModel = new RefurbishedConsoleModel(context.bakeLayer(ModelRegistry.REFURBISHED_CONSOLE));
+ registerModel(ConsoleTheme.FACTORY.getId(), new ConsoleModelEntry(factoryConsoleModel));
+ registerModel(ConsoleTheme.NUKA.getId(), new ConsoleModelEntry(nukaConsoleModel));
+ registerModel(ConsoleTheme.COPPER.getId(), new ConsoleModelEntry(copperConsoleModel));
+ registerModel(ConsoleTheme.CORAL.getId(), new ConsoleModelEntry(coralConsoleModel));
+ registerModel(ConsoleTheme.TOYOTA.getId(), new ConsoleModelEntry(toyotaConsoleModel));
+ registerModel(ConsoleTheme.CRYSTAL.getId(), new ConsoleModelEntry(crystalConsoleModel));
+ registerModel(ConsoleTheme.VICTORIAN.getId(), new ConsoleModelEntry(victorianConsoleModel));
+ registerModel(ConsoleTheme.MYST.getId(), new ConsoleModelEntry(mystConsoleModel));
+ registerModel(ConsoleTheme.INITIATIVE.getId(), new ConsoleModelEntry(initiativeConsoleModel));
+ registerModel(ConsoleTheme.REFURBISHED.getId(), new ConsoleModelEntry(refurbishedConsoleModel));
+
+ TardisClientEvents.CONSOLE_MODELS_SETUP.invoker().setupConsoleModels(this, context);
+
+ validateConsoleModels();
}
+ private static void validateConsoleModels() {
+ for (Map.Entry, ConsoleTheme> entry : ConsoleTheme.CONSOLE_THEME_DEFERRED_REGISTRY.entrySet()) {
+ ResourceKey key = entry.getKey();
+ Validate.isTrue(
+ CONSOLE_MODELS.containsKey(key.location()),
+ String.format("Missing registered model for console theme: %s", key)
+ );
+ }
+ }
+
+
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ConsoleModelCollection");
+
/**
- * Get the associated console model from a console theme.
+ * Register a new console model.
*
- * @param themeId The Console theme.
- * @return Console unit model tied with the console theme.
- **/
- public ConsoleUnit getConsoleModel(ResourceLocation themeId) {
- for (ConsoleUnit consoleModel : CONSOLE_MODELS) {
- if (consoleModel.getConsoleTheme().toString().equals(themeId.toString())) {
- return consoleModel;
- }
+ * @param consoleModel The ConsoleUnit to register.
+ */
+ public void registerModel(ResourceLocation resourceLocation, ConsoleModelEntry consoleModel) {
+ if (consoleModel == null) {
+ LOGGER.warn("Attempted to register a null console model.");
+ return;
+ }
+
+ if (CONSOLE_MODELS.containsKey(resourceLocation)) {
+ LOGGER.warn("Attempted to register a console model that is already registered: {}", resourceLocation);
+ return;
+ }
+
+ CONSOLE_MODELS.put(resourceLocation, consoleModel);
+ LOGGER.info("Registered console model: {}", resourceLocation);
+ }
+
+
+ public ConsoleModelEntry getConsoleEntry(ResourceLocation themeId) {
+ ConsoleModelEntry consoleModelEntry = CONSOLE_MODELS.get(themeId);
+ if (consoleModelEntry == null) {
+ LOGGER.warn("Could not find model for {}, did you bind it?", themeId);
}
- TardisRefined.LOGGER.warn("Could not find model for {}, did you bind it?", themeId);
- return null;
+ return consoleModelEntry;
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelEntry.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelEntry.java
new file mode 100644
index 00000000..556bbdb1
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleModelEntry.java
@@ -0,0 +1,19 @@
+package whocraft.tardis_refined.client.model.blockentity.console;
+
+import whocraft.tardis_refined.patterns.ConsolePattern;
+
+import javax.annotation.Nullable;
+
+public class ConsoleModelEntry {
+
+ private ConsoleUnit consoleUnit;
+
+ public ConsoleModelEntry(ConsoleUnit consoleUnit) {
+ this.consoleUnit = consoleUnit;
+ }
+
+ public ConsoleUnit getConsoleModel(@Nullable ConsolePattern consolePattern) {
+ return consoleUnit;
+ }
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleUnit.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleUnit.java
index 2abde17e..571567f5 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleUnit.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ConsoleUnit.java
@@ -20,11 +20,6 @@ default ResourceLocation getTexture(GlobalConsoleBlockEntity entity) {
return getTexture(entity, false);
}
-
-
ResourceLocation getDefaultTexture();
- ResourceLocation getConsoleTheme();
-
-
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CopperConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CopperConsoleModel.java
index 2e17b040..afe4fa5a 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CopperConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CopperConsoleModel.java
@@ -3,16 +3,11 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.Level;
@@ -27,8 +22,8 @@
public class CopperConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/copper/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/copper/flight.json"));
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/copper/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation(new ResourceLocation(TardisRefined.MODID, "frame/console/copper/flight.json"));
private static final ResourceLocation COPPER_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/copper/copper_console.png");
@@ -65,7 +60,7 @@ public CopperConsoleModel(ModelPart root) {
this.south_left = root.getChild("south_left");
this.west = root.getChild("west");
this.throttle = north_right.getChild("bone203").getChild("bone213").getChild("main_lever_control2");
- this.handbrake = JsonToAnimationDefinition.findPart(this, "lever_control8");
+ this.handbrake = Frame.findPart(this, "lever_control8");
}
@@ -122,8 +117,4 @@ public ResourceLocation getDefaultTexture() {
return COPPER_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.COPPER.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CoralConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CoralConsoleModel.java
index cb5f12d3..a1ac0f3d 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CoralConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CoralConsoleModel.java
@@ -2,16 +2,11 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.Level;
@@ -26,9 +21,8 @@
public class CoralConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/coral/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/coral/flight.json"));
-
+ public static final AnimationDefinition IDLE = Frame.loadAnimation(new ResourceLocation(TardisRefined.MODID, "frame/console/coral/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation(new ResourceLocation(TardisRefined.MODID, "frame/console/coral/flight.json"));
private static final ResourceLocation CORAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/coral/coral_console.png");
private final ModelPart throttle;
@@ -42,7 +36,7 @@ public CoralConsoleModel(ModelPart root) {
this.base_console = root.getChild("base_console");
this.throttle = base_console.getChild("controls").getChild("borders").getChild("bone23").getChild("bone17").getChild("throttle");
this.anim_parts = root.getChild("anim_parts");
- this.handbrake = JsonToAnimationDefinition.findPart(this, "handbrake");
+ this.handbrake = Frame.findPart(this, "handbrake");
}
@@ -77,11 +71,6 @@ public void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level lev
anim_parts.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.CORAL.getId();
- }
-
@Override
public ResourceLocation getDefaultTexture() {
return CORAL_TEXTURE;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CrystalConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CrystalConsoleModel.java
index 877a7339..078e2151 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CrystalConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/CrystalConsoleModel.java
@@ -7,7 +7,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
import net.minecraft.client.animation.AnimationDefinition;
import net.minecraft.client.model.HierarchicalModel;
@@ -27,8 +27,8 @@
public class CrystalConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/crystal/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/crystal/flight.json"));
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/crystal/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/crystal/flight.json"));
private static final ResourceLocation CRYSTAL_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/crystal/crystal_console.png");
@@ -50,739 +50,10 @@ public CrystalConsoleModel(ModelPart root) {
this.controls = root.getChild("controls");
this.spinninglight = root.getChild("spinninglight");
this.bb_main = root.getChild("bb_main");
- this.throttle = JsonToAnimationDefinition.findPart(this, "large_lever_control_throttle");
- this.handbrake = JsonToAnimationDefinition.findPart(this, "large_lever3_control");
+ this.throttle = Frame.findPart(this, "large_lever_control_throttle");
+ this.handbrake = Frame.findPart(this, "large_lever3_control");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition base_control = partdefinition.addOrReplaceChild("base_control", CubeListBuilder.create(), PartPose.offset(0.0F, 27.0F, 0.0F));
-
- PartDefinition bone = base_control.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(105, 85).addBox(-5.0F, -2.0F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -16.0F, 0.0F, 0.0F, -0.2618F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(0, 81).addBox(-6.0F, -2.025F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(105, 85).addBox(-5.0F, -2.0F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 81).addBox(-6.0F, -2.025F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(105, 85).addBox(-5.0F, -2.0F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(0, 81).addBox(-6.0F, -2.025F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(105, 85).addBox(-5.0F, -2.0F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(0, 81).addBox(-6.0F, -2.025F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(105, 85).addBox(-5.0F, -2.0F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(0, 81).addBox(-6.0F, -2.025F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(105, 85).addBox(-5.0F, -2.0F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(0, 81).addBox(-6.0F, -2.025F, -22.3F, 11.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone13 = base_control.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(86, 35).addBox(-1.0F, -3.0F, -24.65F, 2.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.0F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(86, 35).addBox(-1.0F, -3.0F, -24.65F, 2.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(86, 35).addBox(-1.0F, -3.0F, -24.65F, 2.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(86, 35).addBox(-1.0F, -3.0F, -24.65F, 2.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(86, 35).addBox(-1.0F, -3.0F, -24.65F, 2.0F, 3.0F, 15.0F, new CubeDeformation(0.0F))
- .texOffs(76, 31).addBox(-0.5F, -0.5F, -25.65F, 1.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(86, 35).addBox(-1.0F, -3.0F, -24.65F, 2.0F, 3.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97 = base_control.addOrReplaceChild("bone97", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(86, 54).addBox(-4.5F, 0.0F, -9.0F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone99 = bone97.addOrReplaceChild("bone99", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(86, 54).addBox(-4.5F, 0.0F, -9.0F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone101 = bone99.addOrReplaceChild("bone101", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone102 = bone101.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(86, 54).addBox(-4.5F, 0.0F, -9.0F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone103 = bone101.addOrReplaceChild("bone103", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(86, 54).addBox(-4.5F, 0.0F, -9.0F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone105 = bone103.addOrReplaceChild("bone105", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(86, 54).addBox(-4.5F, 0.0F, -9.0F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone107 = bone105.addOrReplaceChild("bone107", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(86, 54).addBox(-4.5F, 0.0F, -9.0F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone55 = base_control.addOrReplaceChild("bone55", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(23, 34).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone57 = bone55.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(23, 34).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone59 = bone57.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone60 = bone59.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(23, 34).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone61 = bone59.addOrReplaceChild("bone61", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone62 = bone61.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(23, 34).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone63 = bone61.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(23, 34).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone65 = bone63.addOrReplaceChild("bone65", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(23, 34).addBox(-9.5F, 0.0F, 0.0F, 19.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone196 = base_control.addOrReplaceChild("bone196", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone198 = bone196.addOrReplaceChild("bone198", CubeListBuilder.create(), PartPose.offset(0.0F, 12.0F, 0.0F));
-
- PartDefinition bone57_r1 = bone198.addOrReplaceChild("bone57_r1", CubeListBuilder.create().texOffs(80, 152).addBox(-9.5F, -0.5F, -2.0F, 19.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -18.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone199 = bone198.addOrReplaceChild("bone199", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone58_r1 = bone199.addOrReplaceChild("bone58_r1", CubeListBuilder.create().texOffs(83, 157).addBox(-8.0F, -0.5F, -2.0F, 16.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -14.3F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone200 = bone199.addOrReplaceChild("bone200", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone59_r1 = bone200.addOrReplaceChild("bone59_r1", CubeListBuilder.create().texOffs(85, 162).addBox(-7.0F, -0.5F, -2.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone201 = bone196.addOrReplaceChild("bone201", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone58_r2 = bone201.addOrReplaceChild("bone58_r2", CubeListBuilder.create().texOffs(80, 152).addBox(-9.5F, -0.5F, -2.0F, 19.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -18.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone202 = bone201.addOrReplaceChild("bone202", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone59_r2 = bone202.addOrReplaceChild("bone59_r2", CubeListBuilder.create().texOffs(83, 157).addBox(-8.0F, -0.5F, -2.0F, 16.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -14.3F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone203 = bone202.addOrReplaceChild("bone203", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone60_r1 = bone203.addOrReplaceChild("bone60_r1", CubeListBuilder.create().texOffs(85, 162).addBox(-7.0F, -0.5F, -2.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone204 = bone196.addOrReplaceChild("bone204", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone59_r3 = bone204.addOrReplaceChild("bone59_r3", CubeListBuilder.create().texOffs(80, 152).addBox(-9.5F, -0.5F, -2.0F, 19.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -18.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone205 = bone204.addOrReplaceChild("bone205", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone60_r2 = bone205.addOrReplaceChild("bone60_r2", CubeListBuilder.create().texOffs(83, 157).addBox(-8.0F, -0.5F, -2.0F, 16.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -14.3F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone206 = bone205.addOrReplaceChild("bone206", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone61_r1 = bone206.addOrReplaceChild("bone61_r1", CubeListBuilder.create().texOffs(85, 162).addBox(-7.0F, -0.5F, -2.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone207 = bone196.addOrReplaceChild("bone207", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone60_r3 = bone207.addOrReplaceChild("bone60_r3", CubeListBuilder.create().texOffs(80, 152).addBox(-9.5F, -0.5F, -2.0F, 19.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -18.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone208 = bone207.addOrReplaceChild("bone208", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone61_r2 = bone208.addOrReplaceChild("bone61_r2", CubeListBuilder.create().texOffs(83, 157).addBox(-8.0F, -0.5F, -2.0F, 16.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -14.3F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone209 = bone208.addOrReplaceChild("bone209", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone62_r1 = bone209.addOrReplaceChild("bone62_r1", CubeListBuilder.create().texOffs(85, 162).addBox(-7.0F, -0.5F, -2.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone210 = bone196.addOrReplaceChild("bone210", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition bone61_r3 = bone210.addOrReplaceChild("bone61_r3", CubeListBuilder.create().texOffs(80, 152).addBox(-9.5F, -0.5F, -2.0F, 19.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -18.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone211 = bone210.addOrReplaceChild("bone211", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone62_r2 = bone211.addOrReplaceChild("bone62_r2", CubeListBuilder.create().texOffs(83, 157).addBox(-8.0F, -0.5F, -2.0F, 16.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -14.3F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone212 = bone211.addOrReplaceChild("bone212", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone63_r1 = bone212.addOrReplaceChild("bone63_r1", CubeListBuilder.create().texOffs(85, 162).addBox(-7.0F, -0.5F, -2.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone213 = bone196.addOrReplaceChild("bone213", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 12.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone62_r3 = bone213.addOrReplaceChild("bone62_r3", CubeListBuilder.create().texOffs(80, 152).addBox(-9.5F, -0.5F, -2.0F, 19.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -18.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone214 = bone213.addOrReplaceChild("bone214", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone63_r2 = bone214.addOrReplaceChild("bone63_r2", CubeListBuilder.create().texOffs(83, 157).addBox(-8.0F, -0.5F, -2.0F, 16.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -14.3F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone215 = bone214.addOrReplaceChild("bone215", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone64_r1 = bone215.addOrReplaceChild("bone64_r1", CubeListBuilder.create().texOffs(85, 162).addBox(-7.0F, -0.5F, -2.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.3F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone19 = base_control.addOrReplaceChild("bone19", CubeListBuilder.create(), PartPose.offset(0.0F, -16.0F, 0.0F));
-
- PartDefinition bone25 = bone19.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(80, 75).addBox(-2.0F, 0.0F, -1.0F, 4.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -24.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(80, 75).addBox(-2.0F, 0.0F, -1.0F, 4.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -24.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone22 = bone20.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(80, 75).addBox(-2.0F, 0.0F, -1.0F, 4.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -24.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone24 = bone22.addOrReplaceChild("bone24", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone26 = bone24.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(80, 75).addBox(-2.0F, 0.0F, -1.0F, 4.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -24.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone27 = bone24.addOrReplaceChild("bone27", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(80, 75).addBox(-2.0F, 0.0F, -1.0F, 4.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -24.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone29 = bone27.addOrReplaceChild("bone29", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(80, 75).addBox(-2.0F, 0.0F, -1.0F, 4.0F, 3.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -24.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone49 = base_control.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(68, 75).addBox(-4.5F, -2.0F, -11.4F, 9.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -25.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(68, 75).addBox(-4.5F, -2.0F, -11.4F, 9.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone51 = bone50.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(68, 75).addBox(-4.5F, -2.0F, -11.4F, 9.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(68, 75).addBox(-4.5F, -2.0F, -11.4F, 9.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(68, 75).addBox(-4.5F, -2.0F, -11.4F, 9.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(68, 75).addBox(-4.5F, -2.0F, -11.4F, 9.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43 = base_control.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(15, 126).addBox(-3.5F, 1.0F, -10.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -26.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(15, 126).addBox(-3.5F, 1.0F, -10.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(15, 126).addBox(-3.5F, 1.0F, -10.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(15, 126).addBox(-3.5F, 1.0F, -10.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(15, 126).addBox(-3.5F, 1.0F, -10.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(15, 126).addBox(-3.5F, 1.0F, -10.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = base_control.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(121, 42).addBox(-2.0F, -3.0F, -12.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -25.0F, 0.0F));
-
- PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(121, 42).addBox(-2.0F, -3.0F, -12.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(121, 42).addBox(-2.0F, -3.0F, -12.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(121, 42).addBox(-2.0F, -3.0F, -12.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(121, 42).addBox(-2.0F, -3.0F, -12.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(121, 42).addBox(-2.0F, -3.0F, -12.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone31 = base_control.addOrReplaceChild("bone31", CubeListBuilder.create(), PartPose.offset(0.0F, -25.0F, 0.0F));
-
- PartDefinition bone31_r1 = bone31.addOrReplaceChild("bone31_r1", CubeListBuilder.create().texOffs(126, 125).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -12.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone32_r1 = bone32.addOrReplaceChild("bone32_r1", CubeListBuilder.create().texOffs(126, 125).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -12.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone33_r1 = bone33.addOrReplaceChild("bone33_r1", CubeListBuilder.create().texOffs(126, 125).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -12.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34_r1 = bone34.addOrReplaceChild("bone34_r1", CubeListBuilder.create().texOffs(126, 125).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -12.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35_r1 = bone35.addOrReplaceChild("bone35_r1", CubeListBuilder.create().texOffs(126, 125).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -12.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36_r1 = bone36.addOrReplaceChild("bone36_r1", CubeListBuilder.create().texOffs(126, 125).addBox(-2.0F, 0.0F, -3.0F, 4.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -12.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone70 = base_control.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offset(0.0F, -26.0F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 9.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(89, 31).addBox(-2.0F, 0.0F, 0.025F, 4.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition bone87 = bone70.addOrReplaceChild("bone87", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone88 = bone87.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 9.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(89, 31).addBox(-2.0F, 0.0F, 0.025F, 4.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition bone89 = bone87.addOrReplaceChild("bone89", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 9.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(89, 31).addBox(-2.0F, 0.0F, 0.025F, 4.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition bone91 = bone89.addOrReplaceChild("bone91", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 9.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(89, 31).addBox(-2.0F, 0.0F, 0.025F, 4.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition bone93 = bone91.addOrReplaceChild("bone93", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 9.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(101, 0).addBox(-0.5F, 0.25F, -1.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(89, 31).addBox(-2.0F, 0.0F, 0.025F, 4.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition bone95 = bone93.addOrReplaceChild("bone95", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 9.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(89, 31).addBox(-2.0F, 0.0F, 0.025F, 4.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition bone68 = base_control.addOrReplaceChild("bone68", CubeListBuilder.create(), PartPose.offset(0.0F, -25.0F, 0.0F));
-
- PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(49, 0).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 3.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone77 = bone68.addOrReplaceChild("bone77", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(49, 0).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 3.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone79 = bone77.addOrReplaceChild("bone79", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone80 = bone79.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(49, 0).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 3.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone81 = bone79.addOrReplaceChild("bone81", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(49, 0).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 3.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone83 = bone81.addOrReplaceChild("bone83", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone84 = bone83.addOrReplaceChild("bone84", CubeListBuilder.create().texOffs(49, 0).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 3.0F, new CubeDeformation(0.025F))
- .texOffs(0, 92).addBox(-0.5F, -7.0F, -1.4F, 1.0F, 7.0F, 3.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone85 = bone83.addOrReplaceChild("bone85", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone86 = bone85.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(49, 0).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 3.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, 17.5F, -12.75F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone109 = base_control.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 34).addBox(-2.5F, -3.0F, -11.75F, 5.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.0F, 0.0F));
-
- PartDefinition bone110 = bone109.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(0, 34).addBox(-2.5F, -3.0F, -11.75F, 5.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(0, 34).addBox(-2.5F, -3.0F, -11.75F, 5.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone112 = bone111.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(0, 34).addBox(-2.5F, -3.0F, -11.75F, 5.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(0, 34).addBox(-2.5F, -3.0F, -11.75F, 5.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone114 = bone113.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(0, 34).addBox(-2.5F, -3.0F, -11.75F, 5.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone121 = base_control.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(0, 105).addBox(-3.5F, -3.0F, -10.75F, 7.0F, 16.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone142 = bone121.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(38, 119).addBox(-1.5F, -5.5F, -1.5F, 3.0F, 11.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-4.0F, 4.5F, -15.25F));
-
- PartDefinition bone143 = bone142.addOrReplaceChild("bone143", CubeListBuilder.create().texOffs(38, 145).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 4.0F, 0.0F));
-
- PartDefinition bone145 = bone142.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(38, 139).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 0.0F, -0.0175F, 0.0F));
-
- PartDefinition bone149 = bone142.addOrReplaceChild("bone149", CubeListBuilder.create().texOffs(38, 133).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, 0.0F));
-
- PartDefinition bone155 = bone142.addOrReplaceChild("bone155", CubeListBuilder.create().texOffs(126, 0).addBox(-2.0F, -1.0F, -2.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -4.5F, 0.0F));
-
- PartDefinition bone153 = bone142.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(126, 0).mirror().addBox(-2.0F, -1.0F, -2.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 6.5F, 0.0F));
-
- PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(0, 105).addBox(-3.5F, -3.0F, -10.75F, 7.0F, 16.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone123 = bone122.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(0, 105).addBox(-3.5F, -3.0F, -10.75F, 7.0F, 16.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone225 = bone123.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(0, 132).addBox(-1.5F, -1.5F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 5.5F, -18.25F, 0.0F, 0.0F, -0.48F));
-
- PartDefinition bone216 = bone123.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(128, 73).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.0F, -0.5F, -17.0F));
-
- PartDefinition bone217 = bone123.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(135, 7).addBox(-1.0F, -1.5F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.0F, 2.0F, -17.0F));
-
- PartDefinition bone218 = bone123.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(135, 12).addBox(-1.0F, -1.5F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.0F, 5.0F, -17.0F));
-
- PartDefinition bone219 = bone123.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(13, 131).addBox(-1.5F, -1.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.5F, 5.5F, -17.0F));
-
- PartDefinition bone220 = bone123.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(109, 125).addBox(-2.5F, -1.5F, -1.5F, 5.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, 5.5F, -17.0F));
-
- PartDefinition bone221 = bone123.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(13, 131).mirror().addBox(-1.5F, -1.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(4.5F, 5.5F, -17.0F));
-
- PartDefinition bone223 = bone123.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(135, 12).mirror().addBox(-1.0F, -1.5F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(7.0F, 5.0F, -17.0F));
-
- PartDefinition bone222 = bone123.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(135, 7).mirror().addBox(-1.0F, -1.5F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(7.0F, 2.0F, -17.0F));
-
- PartDefinition bone224 = bone123.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(128, 73).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, -0.5F, -17.0F));
-
- PartDefinition bone124 = bone123.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(0, 105).addBox(-3.5F, -3.0F, -10.75F, 7.0F, 16.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(105, 73).addBox(-4.0F, -1.0F, -15.75F, 8.0F, 5.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone126 = bone125.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone165 = bone126.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(25, 147).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, 11.0F, -13.25F));
-
- PartDefinition bone161 = bone126.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(25, 142).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, 9.0F, -13.25F));
-
- PartDefinition bone160 = bone126.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(25, 137).addBox(-1.5F, -1.0F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, 7.0F, -13.25F));
-
- PartDefinition bone169 = bone126.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(108, 15).addBox(-3.5F, -2.0F, -2.0F, 7.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, 4.0F, -13.25F));
-
- PartDefinition bone171 = bone169.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(0, 132).addBox(-1.5F, -1.5F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -1.75F, 0.0F, 0.0F, -0.48F));
-
- PartDefinition bone177 = bone126.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(66, 133).addBox(-1.5F, -1.5F, -1.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(4.0F, 4.0F, -13.75F));
-
- PartDefinition bone181 = bone126.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(67, 138).addBox(-1.0F, -1.5F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(6.5F, 4.0F, -13.75F));
-
- PartDefinition bone186 = bone126.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(66, 143).addBox(-1.0F, -1.5F, -1.5F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(6.5F, 4.0F, -11.25F));
-
- PartDefinition bone174 = bone126.addOrReplaceChild("bone174", CubeListBuilder.create(), PartPose.offset(-11.5575F, 4.0F, -11.0429F));
-
- PartDefinition bone132_r1 = bone174.addOrReplaceChild("bone132_r1", CubeListBuilder.create().texOffs(17, 119).addBox(-7.0F, -1.525F, 0.0F, 7.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.0386F, 0.025F, -0.0132F, 0.0F, 2.0071F, 0.0F));
-
- PartDefinition bone132 = bone126.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(113, 54).addBox(-4.45F, -2.3F, -2.975F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.2752F, 4.8F, -10.4719F, 0.0F, 0.48F, 0.0F));
-
- PartDefinition bone127 = bone121.addOrReplaceChild("bone127", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone133 = bone127.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(26, 103).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 4.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, -24.6F, -0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone128 = bone127.addOrReplaceChild("bone128", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone129 = bone128.addOrReplaceChild("bone129", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone131 = bone130.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(53, 103).addBox(-1.5F, -6.0F, -26.75F, 3.0F, 18.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone67 = base_control.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(106, 31).addBox(-2.0F, -3.0F, -12.75F, 4.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.0F, 0.0F));
-
- PartDefinition bone72 = bone67.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(106, 31).addBox(-2.0F, -3.0F, -12.75F, 4.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(106, 31).addBox(-2.0F, -3.0F, -12.75F, 4.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(106, 31).addBox(-2.0F, -3.0F, -12.75F, 4.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(106, 31).addBox(-2.0F, -3.0F, -12.75F, 4.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(106, 31).addBox(-2.0F, -3.0F, -12.75F, 4.0F, 15.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone115 = base_control.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(49, 0).addBox(-9.5F, -1.05F, -20.15F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -16.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(49, 0).addBox(-9.5F, -1.05F, -20.15F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(49, 0).addBox(-9.5F, -1.05F, -20.15F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(49, 0).addBox(-9.5F, -1.05F, -20.15F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone119 = bone118.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(49, 0).addBox(-9.5F, -1.05F, -20.15F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(49, 0).addBox(-9.5F, -1.05F, -20.15F, 19.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone187 = base_control.addOrReplaceChild("bone187", CubeListBuilder.create(), PartPose.offset(0.0F, -11.0F, 0.0F));
-
- PartDefinition root_r1 = bone187.addOrReplaceChild("root_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-8.0F, -9.0F, -8.0F, 16.0F, 17.0F, 16.0F, new CubeDeformation(-0.5F)), PartPose.offsetAndRotation(0.0F, 0.5F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition rotor = partdefinition.addOrReplaceChild("rotor", CubeListBuilder.create().texOffs(65, 15).addBox(-7.0F, -23.475F, -7.0F, 14.0F, 1.0F, 14.0F, new CubeDeformation(1.0F))
- .texOffs(31, 75).addBox(-6.0F, -41.0F, -6.0F, 12.0F, 15.0F, 12.0F, new CubeDeformation(-0.25F))
- .texOffs(80, 95).addBox(-3.0F, -47.0F, -3.0F, 6.0F, 16.0F, 6.0F, new CubeDeformation(0.25F))
- .texOffs(43, 50).addBox(-7.0F, -34.0F, -7.0F, 14.0F, 10.0F, 14.0F, new CubeDeformation(-0.5F)), PartPose.offset(0.0F, 25.0F, 0.0F));
-
- PartDefinition root_r2 = rotor.addOrReplaceChild("root_r2", CubeListBuilder.create().texOffs(0, 34).addBox(0.0F, -50.0F, -10.0F, 1.0F, 26.0F, 20.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition root_r3 = rotor.addOrReplaceChild("root_r3", CubeListBuilder.create().texOffs(0, 34).addBox(0.0F, -50.0F, -10.0F, 1.0F, 26.0F, 20.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition rotor_purple = partdefinition.addOrReplaceChild("rotor_purple", CubeListBuilder.create(), PartPose.offset(0.0F, -14.0F, 0.0F));
-
- PartDefinition cube_r1 = rotor_purple.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 224).addBox(-8.0F, -8.0F, -8.0F, 16.0F, 16.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(64, 224).addBox(-8.0F, -8.0F, -8.0F, 16.0F, 16.0F, 16.0F, new CubeDeformation(-0.01F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 2.1817F));
-
- PartDefinition bone239 = rotor_purple.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(130, 240).addBox(-4.0F, -4.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(-0.5F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition cube_r2 = bone239.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(130, 240).addBox(-4.0F, -4.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(-0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.7854F, 0.0F, 0.0F));
-
- PartDefinition cube_r3 = bone239.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(130, 240).addBox(-4.0F, -4.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(-0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition cube_r4 = bone239.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(130, 240).addBox(-4.0F, -4.0F, -4.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(-0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition controls = partdefinition.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 27.0F, 0.0F));
-
- PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create().texOffs(0, 87).addBox(-4.5F, -14.5F, -10.3F, 9.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 0.5236F, 0.0F));
-
- PartDefinition bone134 = north_right.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(128, 61).addBox(-1.5F, -2.0F, 8.0F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(6, 92).addBox(5.5F, -1.0F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(68, 82).addBox(-4.5F, -1.5F, 5.0F, 9.0F, 2.0F, 2.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition button_control = bone134.addOrReplaceChild("button_control", CubeListBuilder.create().texOffs(91, 75).addBox(-0.5F, -18.5F, -11.3F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 15.0F, 20.3F));
-
- PartDefinition bone136 = bone134.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(51, 127).addBox(-1.0F, -1.0F, -2.0F, 2.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-7.5F, -1.0F, 1.0F, 0.0F, 0.1745F, 0.0F));
-
- PartDefinition large_valve_control = bone136.addOrReplaceChild("large_valve_control", CubeListBuilder.create().texOffs(0, 132).addBox(-1.5F, -1.5F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -1.7F, 0.0F, 0.0F, -0.6981F));
-
- PartDefinition lever_control = bone134.addOrReplaceChild("lever_control", CubeListBuilder.create().texOffs(80, 87).addBox(-2.5F, -0.5F, -0.75F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.0F, -0.525F, 1.5F, 0.0F, 1.1781F, 0.0F));
-
- PartDefinition bone146 = bone134.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(100, 64).addBox(-11.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone147 = bone134.addOrReplaceChild("bone147", CubeListBuilder.create().texOffs(100, 64).mirror().addBox(1.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone139 = north_right.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(21, 87).addBox(0.5F, -1.375F, -5.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(21, 87).addBox(0.5F, -1.375F, -7.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(86, 118).addBox(-2.0F, -0.5F, -8.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(86, 118).addBox(-2.0F, -0.5F, -6.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone235 = bone139.addOrReplaceChild("bone235", CubeListBuilder.create().texOffs(86, 132).addBox(-0.25F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, -0.1F, -5.5F));
-
- PartDefinition bone236 = bone139.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(86, 132).addBox(-0.25F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, -0.1F, -7.75F));
-
- PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(101, 0).addBox(-4.0F, -0.5F, -4.0F, 8.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, -5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition small_valve_control = bone139.addOrReplaceChild("small_valve_control", CubeListBuilder.create().texOffs(127, 15).addBox(-1.25F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -1.15F, -5.0F, 0.0F, -0.7418F, 0.0F));
-
- PartDefinition small_valve2_control = bone139.addOrReplaceChild("small_valve2_control", CubeListBuilder.create().texOffs(127, 15).addBox(-1.25F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -1.15F, -7.0F, 0.0F, -1.3526F, 0.0F));
-
- PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create().texOffs(114, 10).addBox(-5.5F, -14.5F, -10.3F, 9.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(121, 97).addBox(-2.75F, -11.5F, -15.3F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone230 = north_left.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(123, 103).addBox(-1.5045F, -0.9097F, -0.7637F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offset(-0.2455F, -10.5903F, -14.5363F));
-
- PartDefinition bone135 = north_left.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(119, 108).addBox(-2.0F, -0.5F, 5.0F, 4.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(112, 118).addBox(-2.75F, -0.6F, 5.25F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(89, 44).addBox(0.75F, -2.1F, 6.75F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone150 = bone135.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(100, 64).addBox(-11.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone192 = bone135.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(64, 127).addBox(-8.0F, -1.0F, -1.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition switch_control2 = bone192.addOrReplaceChild("switch_control2", CubeListBuilder.create(), PartPose.offset(-7.0F, -1.0F, 0.75F));
-
- PartDefinition bone151_r1 = switch_control2.addOrReplaceChild("bone151_r1", CubeListBuilder.create().texOffs(77, 128).addBox(0.0F, -0.75F, -2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.6981F));
-
- PartDefinition bone151 = bone135.addOrReplaceChild("bone151", CubeListBuilder.create().texOffs(100, 64).mirror().addBox(1.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone152 = north_left.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(108, 24).addBox(-1.5F, -0.975F, -8.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition control_random = bone152.addOrReplaceChild("control_random", CubeListBuilder.create().texOffs(132, 83).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.975F, -6.5F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone148 = bone152.addOrReplaceChild("bone148", CubeListBuilder.create().texOffs(101, 0).addBox(-4.0F, -0.5F, -4.0F, 8.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, -5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition west = controls.addOrReplaceChild("west", CubeListBuilder.create().texOffs(0, 87).addBox(-4.5F, -14.5F, -10.3F, 9.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition exterior_control = west.addOrReplaceChild("exterior_control", CubeListBuilder.create().texOffs(133, 103).addBox(1.0F, -24.0F, -14.4F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(140, 111).addBox(1.0F, -24.75F, -14.4F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 12.0F, 0.0F));
- //Hide the bone (bone141) above the hologram stand to allow the Tardis hologram render to be shown
-// PartDefinition bone141 = exterior_control.addOrReplaceChild("bone141", CubeListBuilder.create().texOffs(143, 116).addBox(-1.0F, -2.0F, -1.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -27.75F, -12.9F, 0.0F, -0.48F, 0.0F));
-
- PartDefinition bone159 = west.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(76, 44).addBox(-2.0F, -1.0F, 8.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(99, 129).addBox(-7.0F, -0.5F, 1.0F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(21, 87).addBox(-6.5F, -1.875F, 1.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(21, 87).addBox(-6.5F, -1.875F, 3.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(68, 82).addBox(-4.5F, -1.5F, 5.0F, 9.0F, 2.0F, 2.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone159_r1 = bone159.addOrReplaceChild("bone159_r1", CubeListBuilder.create().texOffs(42, 110).addBox(-0.5F, -1.0F, 0.0F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.25F, -1.0F, 8.75F, -0.3491F, 0.0F, 0.0F));
-
- PartDefinition small_valve3_control = bone159.addOrReplaceChild("small_valve3_control", CubeListBuilder.create().texOffs(127, 15).addBox(-1.25F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.0F, -1.65F, 3.5F, 0.0F, -0.7418F, 0.0F));
-
- PartDefinition small_valve4_control = bone159.addOrReplaceChild("small_valve4_control", CubeListBuilder.create().texOffs(127, 15).addBox(-1.25F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.0F, -1.65F, 1.5F, 0.0F, -0.3491F, 0.0F));
-
- PartDefinition bone162 = bone159.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(100, 64).addBox(-11.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone163 = bone159.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(100, 64).mirror().addBox(1.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone164 = west.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(118, 26).addBox(-2.5F, -0.6F, -8.25F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(57, 0).addBox(2.75F, -0.85F, -5.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(57, 0).mirror().addBox(-3.75F, -0.85F, -5.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(43, 60).addBox(-2.0F, -1.1F, -8.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone166 = bone164.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(121, 33).addBox(-1.5F, -2.994F, -2.1669F, 3.0F, 3.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.3639F, -9.3805F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition switch2_control = bone166.addOrReplaceChild("switch2_control", CubeListBuilder.create().texOffs(101, 10).addBox(-2.0F, -0.5F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.744F, 1.8331F));
-
- PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -2.618F, 0.0F));
-
- PartDefinition bone168 = south_right.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(65, 23).addBox(-2.5F, -4.0F, 8.5F, 5.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone231 = bone168.addOrReplaceChild("bone231", CubeListBuilder.create().texOffs(123, 103).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offset(0.0F, -3.5F, 9.0F));
-
- PartDefinition bone170 = bone168.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(100, 64).addBox(-11.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone189 = bone168.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(64, 127).addBox(-8.0F, -1.0F, -1.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition switch3_control2 = bone189.addOrReplaceChild("switch3_control2", CubeListBuilder.create(), PartPose.offset(-7.0F, -1.0F, 0.75F));
-
- PartDefinition bone171_r1 = switch3_control2.addOrReplaceChild("bone171_r1", CubeListBuilder.create().texOffs(77, 128).addBox(0.0F, -0.75F, -2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.6981F));
-
- PartDefinition bone172 = bone168.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(100, 64).mirror().addBox(1.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone173 = south_right.addOrReplaceChild("bone173", CubeListBuilder.create().texOffs(86, 118).addBox(-3.25F, -0.85F, -7.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F))
- .texOffs(128, 67).addBox(-1.0F, -1.1F, -7.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(86, 118).mirror().addBox(1.25F, -0.85F, -7.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F)).mirror(false)
- .texOffs(86, 118).addBox(-1.0F, -0.85F, -5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(-0.25F))
- .texOffs(23, 50).addBox(-2.0F, -0.85F, -3.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(121, 51).addBox(-1.0F, -1.85F, -2.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition large_valve2_control_rotate = bone173.addOrReplaceChild("large_valve2_control_rotate", CubeListBuilder.create().texOffs(65, 103).addBox(-1.75F, -0.5F, -1.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.85F, -6.75F, 0.0F, -0.4363F, 0.0F));
-
- PartDefinition bone175 = bone173.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(101, 0).addBox(-4.0F, -0.5F, -4.0F, 8.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, -5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.618F, 0.0F));
-
- PartDefinition bone191 = south_left.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(17, 105).addBox(-2.0F, -4.0F, 6.5F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone229 = bone191.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(91, 82).addBox(-0.5F, -2.0F, -0.5F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.5F, 8.5F));
-
- PartDefinition bone193 = bone191.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(100, 64).addBox(-11.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone190 = bone191.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(64, 127).addBox(-8.0F, -1.0F, -1.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition switch4_control_increment2 = bone190.addOrReplaceChild("switch4_control_increment2", CubeListBuilder.create(), PartPose.offset(-7.0F, -1.0F, 0.75F));
-
- PartDefinition bone194_r1 = switch4_control_increment2.addOrReplaceChild("bone194_r1", CubeListBuilder.create().texOffs(77, 128).addBox(0.0F, -0.75F, -2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.6981F));
-
- PartDefinition bone194 = bone191.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(100, 64).mirror().addBox(1.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone195 = south_left.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(128, 67).addBox(-1.0F, -1.1F, -6.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(91, 118).addBox(-3.0F, 0.5F, -11.75F, 6.0F, 3.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(29, 81).addBox(-2.0F, 0.4F, -10.75F, 4.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition small_valve5_control_x = bone195.addOrReplaceChild("small_valve5_control_x", CubeListBuilder.create().texOffs(127, 15).addBox(-1.25F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(21, 87).addBox(-0.5F, -0.225F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-2.25F, -0.55F, -10.0F, 0.0F, -0.3491F, 0.0F));
-
- PartDefinition small_valve6_control_z = bone195.addOrReplaceChild("small_valve6_control_z", CubeListBuilder.create().texOffs(127, 15).mirror().addBox(-0.75F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(21, 87).mirror().addBox(-0.5F, -0.225F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F)).mirror(false), PartPose.offsetAndRotation(2.25F, -0.55F, -10.0F, 0.0F, 0.3491F, 0.0F));
-
- PartDefinition small_valve7_control_y = bone195.addOrReplaceChild("small_valve7_control_y", CubeListBuilder.create().texOffs(127, 15).mirror().addBox(-0.75F, 0.0F, -1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(21, 87).addBox(-0.5F, -0.225F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, -0.55F, -10.0F, 0.0F, 0.3491F, 0.0F));
-
- PartDefinition lever2_control = bone195.addOrReplaceChild("lever2_control", CubeListBuilder.create().texOffs(65, 31).addBox(-0.5F, -0.5F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.1F, -5.75F, 0.0F, -0.8727F, 0.0F));
-
- PartDefinition bone197 = bone195.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(101, 0).addBox(-4.0F, -0.5F, -4.0F, 8.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, -5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition east = controls.addOrReplaceChild("east", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition bone180 = east.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(65, 23).addBox(-2.5F, -4.0F, 8.5F, 5.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(128, 115).addBox(4.5F, -0.5F, 0.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(108, 118).addBox(-3.5F, -1.0F, 5.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(42, 103).addBox(-0.5F, -1.25F, 2.5F, 1.0F, 2.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(105, 111).addBox(-0.75F, -1.35F, 5.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(108, 118).mirror().addBox(1.5F, -1.0F, 5.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone232 = bone180.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(123, 103).addBox(-1.5F, -0.5F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(-0.025F)), PartPose.offset(0.0F, -3.5F, 9.0F));
-
- PartDefinition large_lever4_control_door_toggle = bone180.addOrReplaceChild("large_lever4_control_door_toggle", CubeListBuilder.create().texOffs(65, 15).addBox(-0.25F, -1.5F, -4.5F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(65, 15).mirror().addBox(-0.75F, -1.5F, -4.5F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(30, 105).addBox(-0.5F, -2.5F, 0.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.5F, -0.5F, 2.25F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition large_valve3_control = bone180.addOrReplaceChild("large_valve3_control", CubeListBuilder.create(), PartPose.offsetAndRotation(-10.0F, -1.0F, -0.7F, -0.1745F, -1.1345F, 0.0F));
-
- PartDefinition bone226 = large_valve3_control.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(0, 132).addBox(-1.5F, -1.5F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, 0.0F, 0.25F));
-
- PartDefinition switch5_control = bone180.addOrReplaceChild("switch5_control", CubeListBuilder.create().texOffs(73, 15).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -1.0F, 6.5F, -0.48F, 0.0F, 0.0F));
-
- PartDefinition switch6_control = bone180.addOrReplaceChild("switch6_control", CubeListBuilder.create().texOffs(73, 15).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -1.0F, 6.5F, -0.48F, 0.0F, 0.0F));
-
- PartDefinition bone182 = bone180.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(100, 64).addBox(-11.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone183 = bone180.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(100, 64).mirror().addBox(1.0F, -0.5F, -1.0F, 10.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.4F, 5.75F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone184 = east.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(86, 118).addBox(-3.25F, -0.5F, -6.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 92).addBox(-3.75F, -0.1F, -12.25F, 7.0F, 1.0F, 11.0F, new CubeDeformation(0.0F))
- .texOffs(86, 118).mirror().addBox(1.25F, -0.5F, -6.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(91, 118).addBox(-3.0F, 0.5F, -11.75F, 6.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, -12.3F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone233 = bone184.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(86, 132).addBox(-0.25F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.25F, -0.1F, -5.75F));
-
- PartDefinition bone234 = bone184.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(86, 132).addBox(-0.25F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(2.25F, -0.1F, -5.75F));
-
- PartDefinition bone185 = east.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(70, 108).addBox(-1.5F, -2.5F, -0.5F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -14.5F, -9.3F, 0.0F, -0.48F, 0.0F));
-
- PartDefinition spinnything_control = bone185.addOrReplaceChild("spinnything_control", CubeListBuilder.create().texOffs(86, 54).addBox(-1.25F, -2.0F, 0.0F, 2.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, -0.5F, -0.5F, -0.7418F, 0.0F, 0.0F));
-
- PartDefinition north_side = controls.addOrReplaceChild("north_side", CubeListBuilder.create(), PartPose.offset(0.0F, -15.0F, 0.0F));
-
- PartDefinition bone144 = north_side.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(105, 95).addBox(-1.0F, -2.75F, -1.0F, 2.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone144_r1 = bone144.addOrReplaceChild("bone144_r1", CubeListBuilder.create().texOffs(43, 50).addBox(-2.0F, -1.5F, -4.0F, 1.0F, 5.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -3.0F, 10.75F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition microphone_control = bone144.addOrReplaceChild("microphone_control", CubeListBuilder.create().texOffs(65, 15).addBox(-0.25F, -23.0F, -11.05F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(49, 103).addBox(-1.25F, -24.5F, -11.05F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 15.0F, 20.3F));
-
- PartDefinition bone144_r2 = microphone_control.addOrReplaceChild("bone144_r2", CubeListBuilder.create().texOffs(124, 131).addBox(-1.0F, -2.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -23.0F, -11.55F, -0.6545F, 0.0F, 0.0F));
-
- PartDefinition north_right_side = controls.addOrReplaceChild("north_right_side", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone137 = north_right_side.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(105, 95).addBox(-1.0F, -2.5F, -1.0F, 2.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone137_r1 = bone137.addOrReplaceChild("bone137_r1", CubeListBuilder.create().texOffs(87, 126).addBox(0.0F, 0.0F, -4.0F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -2.5F, 5.0F, 0.0F, 0.0F, 0.1309F));
-
- PartDefinition binocular_control = bone137.addOrReplaceChild("binocular_control", CubeListBuilder.create().texOffs(105, 101).addBox(-1.5F, -1.0F, -1.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -7.0F, 10.0F, 0.0F, -0.5672F, 0.0F));
-
- PartDefinition bone227 = binocular_control.addOrReplaceChild("bone227", CubeListBuilder.create(), PartPose.offset(0.0F, 22.0F, 10.3F));
-
- PartDefinition bone138 = binocular_control.addOrReplaceChild("bone138", CubeListBuilder.create(), PartPose.offset(0.0F, -1.0F, 0.0F));
-
- PartDefinition bone228 = bone138.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(23, 44).addBox(-2.0F, 0.0F, -2.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone138_r1 = bone228.addOrReplaceChild("bone138_r1", CubeListBuilder.create().texOffs(100, 64).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, 0.0F, -0.5F, -0.7854F, 0.0F, 0.0F));
-
- PartDefinition south_left_side = controls.addOrReplaceChild("south_left_side", CubeListBuilder.create().texOffs(121, 91).addBox(-2.5F, -13.5F, -13.05F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(105, 108).addBox(-2.25F, -14.5F, -10.8F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(105, 108).addBox(0.25F, -14.5F, -10.8F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition bone167 = south_left_side.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(105, 95).addBox(-1.0F, -3.25F, -1.0F, 2.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone188 = bone167.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(105, 108).addBox(-1.5F, -1.0F, -3.5F, 3.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.75F, 3.5F));
-
- PartDefinition large_lever3_control = south_left_side.addOrReplaceChild("large_lever3_control", CubeListBuilder.create().texOffs(0, 123).addBox(-2.75F, -1.0F, -5.0F, 1.0F, 2.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 123).addBox(0.75F, -1.0F, -5.0F, 1.0F, 2.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(90, 44).addBox(-2.25F, -1.0F, -5.75F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(90, 44).addBox(1.25F, -1.0F, -5.75F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(100, 31).addBox(-1.5F, -1.0F, -5.75F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.8F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone176 = south.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(105, 95).addBox(-1.0F, -3.25F, -1.0F, 2.0F, 1.0F, 11.0F, new CubeDeformation(0.0F))
- .texOffs(36, 50).addBox(-1.5F, -6.9F, 9.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition large_lever2_control = bone176.addOrReplaceChild("large_lever2_control", CubeListBuilder.create().texOffs(24, 131).addBox(0.15F, -2.5F, -0.5F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(2.35F, -2.5F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, -6.9F, 10.0F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition monitor_control = south.addOrReplaceChild("monitor_control", CubeListBuilder.create().texOffs(150, 96).addBox(-1.0F, -4.25F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F))
- .texOffs(134, 79).addBox(-1.0F, -2.25F, -8.0F, 1.0F, 3.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.5F, -18.3F));
-
- PartDefinition bone237 = monitor_control.addOrReplaceChild("bone237", CubeListBuilder.create().texOffs(143, 91).addBox(-0.5F, -6.0F, -3.5F, 1.0F, 7.0F, 7.0F, new CubeDeformation(2.0F)), PartPose.offset(-2.5F, -4.75F, -4.0F));
-
- PartDefinition south_right_side = controls.addOrReplaceChild("south_right_side", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone178 = south_right_side.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(105, 95).addBox(-1.0F, -2.75F, -4.75F, 2.0F, 1.0F, 11.0F, new CubeDeformation(0.0F))
- .texOffs(17, 114).addBox(-1.0F, -7.4F, 9.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone179 = bone178.addOrReplaceChild("bone179", CubeListBuilder.create().texOffs(10, 0).addBox(-0.25F, -1.95F, -0.375F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(70, 115).addBox(-0.25F, -2.95F, -0.375F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(26, 87).addBox(2.75F, -2.95F, -0.375F, 1.0F, 8.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(50, 50).addBox(2.75F, 4.05F, 0.625F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, -7.45F, 10.375F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition north_left_side = controls.addOrReplaceChild("north_left_side", CubeListBuilder.create().texOffs(121, 91).addBox(-2.5F, -13.5F, -13.05F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(105, 108).addBox(-2.25F, -14.5F, -10.8F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(105, 108).addBox(0.25F, -14.5F, -10.8F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone154 = north_left_side.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(105, 95).addBox(-1.75F, -3.25F, -1.0F, 2.0F, 1.0F, 11.0F, new CubeDeformation(0.0F))
- .texOffs(99, 95).addBox(-1.75F, -2.5F, -3.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(126, 19).addBox(0.75F, -3.0F, 1.0F, 1.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.3F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone156 = bone154.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(14, 34).addBox(-0.75F, -0.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -3.0F, 1.5F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone157 = bone154.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(14, 34).addBox(-0.75F, -0.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -3.0F, 3.5F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone158 = bone154.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(14, 34).addBox(-0.75F, -0.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -3.0F, 5.5F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition large_lever_control_throttle = north_left_side.addOrReplaceChild("large_lever_control_throttle", CubeListBuilder.create().texOffs(0, 123).addBox(-2.75F, -1.0F, -5.0F, 1.0F, 2.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 123).addBox(0.75F, -1.0F, -5.0F, 1.0F, 2.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(90, 44).addBox(-2.25F, -1.0F, -5.75F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(90, 44).addBox(1.25F, -1.0F, -5.75F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(100, 31).addBox(-1.5F, -1.0F, -5.75F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.5F, -10.8F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition spinninglight = partdefinition.addOrReplaceChild("spinninglight", CubeListBuilder.create().texOffs(88, 147).addBox(-1.0F, -0.5F, -22.75F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(84, 147).mirror().addBox(-1.0F, -0.5F, 20.75F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 10.25F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 209).addBox(-7.0F, -21.475F, -7.0F, 14.0F, 1.0F, 14.0F, new CubeDeformation(1.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
@@ -837,10 +108,6 @@ public ResourceLocation getDefaultTexture() {
return CRYSTAL_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.CRYSTAL.getId();
- }
@Override
public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/FactoryConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/FactoryConsoleModel.java
index b86978ff..bdadbeff 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/FactoryConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/FactoryConsoleModel.java
@@ -2,19 +2,17 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
import net.minecraft.client.animation.AnimationDefinition;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.Level;
import whocraft.tardis_refined.TRConfig;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TardisClientData;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
@@ -22,14 +20,16 @@
public class FactoryConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/factory/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/factory/flight.json"));
- public static final AnimationDefinition CRASH = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/factory/crash.json"));
- public static final AnimationDefinition POWER_ON = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/factory/power_on.json"));
- public static final AnimationDefinition POWER_OFF = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/factory/power_off.json"));
-
-
+ // Load Animations in
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/factory/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/factory/flight.json"));
+ public static final AnimationDefinition CRASH = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/factory/crash.json"));
+ public static final AnimationDefinition POWER_ON = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/factory/power_on.json"));
+ public static final AnimationDefinition POWER_OFF = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/factory/power_off.json"));
+
private static final ResourceLocation FACTORY_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/factory/factory_console.png");
+
+
private final ModelPart root;
private final ModelPart throttleLever;
private final ModelPart handbrake;
@@ -37,8 +37,8 @@ public class FactoryConsoleModel extends HierarchicalModel implements ConsoleUni
public FactoryConsoleModel(ModelPart root) {
this.root = root;
- this.throttleLever = JsonToAnimationDefinition.findPart(this, "lever2");
- this.handbrake = (ModelPart) getAnyDescendantWithName("lever3").get();
+ this.throttleLever = Frame.findPart(this, "lever2");
+ this.handbrake = Frame.findPart(this, "lever3");
}
@@ -52,52 +52,59 @@ public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, i
@Override
public void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level level, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
root().getAllParts().forEach(ModelPart::resetPose);
- TardisClientData reactions = TardisClientData.getInstance(level.dimension());
- if (globalConsoleBlock == null) return;
- Boolean powered = globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED);
+ boolean powered = globalConsoleBlock == null || globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED);
+ // Store tick count for later use
+ int tickCount = Minecraft.getInstance().player.tickCount;
- if (powered) {
+ TardisClientData reactions = TardisClientData.getInstance(level.dimension());
- if (!globalConsoleBlock.powerOn.isStarted()) {
- globalConsoleBlock.powerOff.stop();
- globalConsoleBlock.powerOn.start(Minecraft.getInstance().player.tickCount);
- }
- this.animate(globalConsoleBlock.powerOn, POWER_ON, Minecraft.getInstance().player.tickCount);
-
- if (reactions.isCrashing()) {
- // Handle crashing animation
- this.animate(reactions.CRASHING_ANIMATION, CRASH, Minecraft.getInstance().player.tickCount);
- } else if (reactions.isFlying()) {
- // Handle flying animation
- this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount);
- } else {
- // Handle idle animation
- if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) {
- this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount);
+ if(globalConsoleBlock != null) {
+ // Booting logic
+ if (powered) {
+
+ if (globalConsoleBlock.getTicksBooting() > 0) {
+ if (!globalConsoleBlock.powerOn.isStarted()) {
+ globalConsoleBlock.powerOff.stop();
+ globalConsoleBlock.powerOn.start(tickCount);
+ }
+ this.animate(globalConsoleBlock.powerOn, POWER_ON, tickCount);
+ }
+
+ // Handle animations based on the current state (with flying first)
+ if (reactions.isFlying()) {
+ this.animate(reactions.ROTOR_ANIMATION, FLIGHT, tickCount);
+ } else if (reactions.isCrashing()) {
+ this.animate(reactions.CRASHING_ANIMATION, CRASH, tickCount);
+ } else {
+ if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get()) {
+ this.animate(globalConsoleBlock.liveliness, IDLE, tickCount);
+ }
}
- }
- } else {
- if (globalConsoleBlock != null) {
+ } else {
+ // Power off animation if not booting
if (!globalConsoleBlock.powerOff.isStarted()) {
globalConsoleBlock.powerOn.stop();
- globalConsoleBlock.powerOff.start(Minecraft.getInstance().player.tickCount);
+ globalConsoleBlock.powerOff.start(tickCount);
}
- this.animate(globalConsoleBlock.powerOff, POWER_OFF, Minecraft.getInstance().player.tickCount);
+ this.animate(globalConsoleBlock.powerOff, POWER_OFF, tickCount);
}
- }
- float rot = -125 - (30 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE));
- this.throttleLever.xRot = rot;
+ // Throttle and handbrake controls
+ this.throttleLever.xRot = -125 - (30 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE));
+ this.handbrake.xRot = reactions.isHandbrakeEngaged() ? -155f : -125f;
+ }
- this.handbrake.xRot = reactions.isHandbrakeEngaged() ? -155f : -125f;
+ // Final render call
root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
-
}
+
+
+
@Override
public ModelPart root() {
return root;
@@ -112,9 +119,4 @@ public void setupAnim(Entity entity, float f, float g, float h, float i, float j
public ResourceLocation getDefaultTexture() {
return FACTORY_TEXTURE;
}
-
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.FACTORY.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/InitiativeConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/InitiativeConsoleModel.java
index e3599858..1b0075de 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/InitiativeConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/InitiativeConsoleModel.java
@@ -2,11 +2,9 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
@@ -17,7 +15,6 @@
import whocraft.tardis_refined.TRConfig;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TardisClientData;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
@@ -25,8 +22,8 @@
public class InitiativeConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/initiative/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/initiative/flight.json"));
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/initiative/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/initiative/flight.json"));
private static final ResourceLocation INITIATIVE_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/initiative/initiative_console.png");
@@ -37,741 +34,9 @@ public class InitiativeConsoleModel extends HierarchicalModel implements Console
public InitiativeConsoleModel(ModelPart root) {
this.root = root;
- this.throttle = JsonToAnimationDefinition.findPart(this, "bone178");
- this.rotor_on = JsonToAnimationDefinition.findPart(this, "rotor_on");
- this.handbrake = JsonToAnimationDefinition.findPart(this, "bone185");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition baseconsole = root.addOrReplaceChild("baseconsole", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone73 = baseconsole.addOrReplaceChild("bone73", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone73_r1 = bone73.addOrReplaceChild("bone73_r1", CubeListBuilder.create().texOffs(54, 31).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 2.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -21.585F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone74_r1 = bone74.addOrReplaceChild("bone74_r1", CubeListBuilder.create().texOffs(54, 31).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 2.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -21.585F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone75_r1 = bone75.addOrReplaceChild("bone75_r1", CubeListBuilder.create().texOffs(58, 48).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 2.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -21.585F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone212 = bone75.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(98, 104).addBox(-1.0F, 0.0F, -5.0F, 2.0F, 3.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.025F, -12.935F));
-
- PartDefinition side = bone212.addOrReplaceChild("side", CubeListBuilder.create().texOffs(35, 75).addBox(0.0F, -11.025F, -14.0208F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(35, 70).addBox(0.0F, -11.025F, -17.8492F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 8.025F, 12.935F));
-
- PartDefinition side_r1 = side.addOrReplaceChild("side_r1", CubeListBuilder.create().texOffs(32, 59).addBox(-1.0F, -2.0F, -1.0F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.025F, -15.435F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone187 = side.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(5, 33).addBox(-0.5F, -24.275F, -15.935F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(0, 33).addBox(-0.5F, -25.025F, -15.935F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 13.0F, 0.0F));
-
- PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone76_r1 = bone76.addOrReplaceChild("bone76_r1", CubeListBuilder.create().texOffs(54, 31).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 2.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -21.585F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone77_r1 = bone77.addOrReplaceChild("bone77_r1", CubeListBuilder.create().texOffs(54, 31).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 2.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -21.585F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone78_r1 = bone78.addOrReplaceChild("bone78_r1", CubeListBuilder.create().texOffs(54, 31).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 2.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -21.585F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone85 = baseconsole.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -22.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone86 = bone85.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone88 = bone87.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone31 = baseconsole.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(36, 114).addBox(-1.5F, -2.0F, -9.59F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(36, 114).addBox(-1.5F, -2.0F, -9.59F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(36, 114).addBox(-1.5F, -2.0F, -9.59F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(36, 114).addBox(-1.5F, -2.0F, -9.59F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(36, 114).addBox(-1.5F, -2.0F, -9.59F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(36, 114).addBox(-1.5F, -2.0F, -9.59F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone49 = baseconsole.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(0, 96).addBox(0.0F, -12.0F, -11.09F, 1.0F, 12.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(0, 96).addBox(0.0F, -12.0F, -11.09F, 1.0F, 12.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone51 = bone50.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(0, 96).addBox(0.0F, -12.0F, -11.09F, 1.0F, 12.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(0, 96).addBox(0.0F, -12.0F, -11.09F, 1.0F, 12.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(0, 96).addBox(0.0F, -12.0F, -11.09F, 1.0F, 12.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(0, 96).addBox(0.0F, -12.0F, -11.09F, 1.0F, 12.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97 = baseconsole.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(8, 111).addBox(-1.5F, -2.5F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -61.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone255 = bone97.addOrReplaceChild("bone255", CubeListBuilder.create().texOffs(10, 106).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -9.065F));
-
- PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(8, 111).addBox(-1.5F, -2.5F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone256 = bone98.addOrReplaceChild("bone256", CubeListBuilder.create().texOffs(10, 106).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -9.065F));
-
- PartDefinition bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(8, 111).addBox(-1.5F, -2.5F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone257 = bone99.addOrReplaceChild("bone257", CubeListBuilder.create().texOffs(10, 106).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -9.065F));
-
- PartDefinition bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(8, 111).addBox(-1.5F, -2.5F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone258 = bone100.addOrReplaceChild("bone258", CubeListBuilder.create().texOffs(10, 106).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -9.065F));
-
- PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(8, 111).addBox(-1.5F, -2.5F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone259 = bone101.addOrReplaceChild("bone259", CubeListBuilder.create().texOffs(10, 106).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -9.065F));
-
- PartDefinition bone102 = bone101.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(8, 111).addBox(-1.5F, -2.5F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone260 = bone102.addOrReplaceChild("bone260", CubeListBuilder.create().texOffs(10, 106).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, -9.065F));
-
- PartDefinition bone7 = baseconsole.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(110, 110).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(110, 110).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(110, 110).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(110, 110).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(110, 110).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(110, 110).addBox(-1.5F, -3.0F, -9.59F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone61 = baseconsole.addOrReplaceChild("bone61", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone61_r1 = bone61.addOrReplaceChild("bone61_r1", CubeListBuilder.create().texOffs(22, 72).addBox(-0.475F, -5.0F, 0.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -19.585F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone62 = bone61.addOrReplaceChild("bone62", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone62_r1 = bone62.addOrReplaceChild("bone62_r1", CubeListBuilder.create().texOffs(22, 72).addBox(-0.475F, -5.0F, 0.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -19.585F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone63_r1 = bone63.addOrReplaceChild("bone63_r1", CubeListBuilder.create().texOffs(22, 72).addBox(-0.475F, -5.0F, 0.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -19.585F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone64_r1 = bone64.addOrReplaceChild("bone64_r1", CubeListBuilder.create().texOffs(22, 72).addBox(-0.475F, -5.0F, 0.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -19.585F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone65_r1 = bone65.addOrReplaceChild("bone65_r1", CubeListBuilder.create().texOffs(22, 72).addBox(-0.475F, -5.0F, 0.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -19.585F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone66_r1 = bone66.addOrReplaceChild("bone66_r1", CubeListBuilder.create().texOffs(22, 72).addBox(-0.475F, -5.0F, 0.0F, 1.0F, 5.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -19.585F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone19 = baseconsole.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(58, 99).addBox(-1.5F, -4.0F, -21.585F, 3.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(58, 99).addBox(-1.5F, -4.0F, -21.585F, 3.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(58, 99).addBox(-1.5F, -4.0F, -21.585F, 3.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(100, 62).addBox(-1.5F, -4.0F, -21.585F, 3.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone209 = bone22.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(38, 106).addBox(-1.5F, -1.525F, -2.0F, 3.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.5F, -23.085F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(58, 99).addBox(-1.5F, -4.0F, -21.585F, 3.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(58, 99).addBox(-1.5F, -4.0F, -21.585F, 3.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone103 = baseconsole.addOrReplaceChild("bone103", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone103_r1 = bone103.addOrReplaceChild("bone103_r1", CubeListBuilder.create().texOffs(16, 91).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone104_r1 = bone104.addOrReplaceChild("bone104_r1", CubeListBuilder.create().texOffs(16, 91).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone105_r1 = bone105.addOrReplaceChild("bone105_r1", CubeListBuilder.create().texOffs(16, 91).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone106_r1 = bone106.addOrReplaceChild("bone106_r1", CubeListBuilder.create().texOffs(16, 91).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone107_r1 = bone107.addOrReplaceChild("bone107_r1", CubeListBuilder.create().texOffs(16, 91).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone108 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108_r1 = bone108.addOrReplaceChild("bone108_r1", CubeListBuilder.create().texOffs(89, 89).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone109 = baseconsole.addOrReplaceChild("bone109", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone109_r1 = bone109.addOrReplaceChild("bone109_r1", CubeListBuilder.create().texOffs(0, 38).addBox(-7.0F, -0.25F, 0.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone110 = bone109.addOrReplaceChild("bone110", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone110_r1 = bone110.addOrReplaceChild("bone110_r1", CubeListBuilder.create().texOffs(0, 38).addBox(-7.0F, -0.25F, 0.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone111_r1 = bone111.addOrReplaceChild("bone111_r1", CubeListBuilder.create().texOffs(73, 75).addBox(-6.0F, -0.275F, 4.0F, 12.0F, 3.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 38).addBox(-7.0F, -0.25F, 0.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone112 = bone111.addOrReplaceChild("bone112", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone111_r2 = bone112.addOrReplaceChild("bone111_r2", CubeListBuilder.create().texOffs(73, 75).addBox(-6.0F, 1.5F, -7.575F, 12.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.775F, -22.31F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone113_r1 = bone112.addOrReplaceChild("bone113_r1", CubeListBuilder.create().texOffs(0, 38).addBox(-7.0F, -0.0627F, -8.0756F, 14.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -7.2F, -11.41F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone113_r2 = bone113.addOrReplaceChild("bone113_r2", CubeListBuilder.create().texOffs(0, 38).addBox(-7.0F, -0.25F, 0.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone114 = bone113.addOrReplaceChild("bone114", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone114_r1 = bone114.addOrReplaceChild("bone114_r1", CubeListBuilder.create().texOffs(0, 38).addBox(-7.0F, -0.25F, 0.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone67 = baseconsole.addOrReplaceChild("bone67", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone67_r1 = bone67.addOrReplaceChild("bone67_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, 0.0F, 0.0F, 20.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone68_r1 = bone68.addOrReplaceChild("bone68_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, 0.0F, 0.0F, 20.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone69_r1 = bone69.addOrReplaceChild("bone69_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, 0.0F, 0.0F, 20.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone70_r1 = bone70.addOrReplaceChild("bone70_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, 0.0F, 0.0F, 20.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone71_r1 = bone71.addOrReplaceChild("bone71_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, 0.0F, 0.0F, 20.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone72 = bone71.addOrReplaceChild("bone72", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone72_r1 = bone72.addOrReplaceChild("bone72_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-10.0F, 0.0F, 0.0F, 20.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone115 = baseconsole.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(53, 7).addBox(-9.5F, -3.5F, -19.935F, 19.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(53, 7).addBox(-9.5F, -3.25F, -19.935F, 19.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(53, 7).addBox(-9.5F, -3.5F, -19.935F, 19.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(53, 7).addBox(-9.5F, -3.5F, -19.935F, 19.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone119 = bone118.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(53, 7).addBox(-9.5F, -3.5F, -19.935F, 19.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(53, 7).addBox(-9.5F, -3.5F, -19.935F, 19.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone13 = baseconsole.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(53, 0).addBox(-9.5F, -3.0F, -19.435F, 19.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone239 = bone13.addOrReplaceChild("bone239", CubeListBuilder.create().texOffs(55, 14).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, -1.0F, -19.035F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(53, 0).addBox(-9.5F, -3.0F, -19.435F, 19.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone240 = bone14.addOrReplaceChild("bone240", CubeListBuilder.create().texOffs(55, 14).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, -1.0F, -19.035F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(53, 0).addBox(-9.5F, -3.0F, -19.435F, 19.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone241 = bone15.addOrReplaceChild("bone241", CubeListBuilder.create().texOffs(55, 14).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, -1.0F, -19.035F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(53, 0).addBox(-9.5F, -3.0F, -19.435F, 19.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone242 = bone16.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(55, 14).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, -1.0F, -19.035F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(53, 0).addBox(-9.5F, -3.0F, -19.435F, 19.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone243 = bone17.addOrReplaceChild("bone243", CubeListBuilder.create().texOffs(55, 14).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, -1.0F, -19.035F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(53, 0).addBox(-9.5F, -3.0F, -19.435F, 19.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone245 = bone18.addOrReplaceChild("bone245", CubeListBuilder.create().texOffs(55, 14).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, -1.0F, -19.035F));
-
- PartDefinition bone155 = baseconsole.addOrReplaceChild("bone155", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -12.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone155_r1 = bone155.addOrReplaceChild("bone155_r1", CubeListBuilder.create().texOffs(85, 104).mirror().addBox(5.5F, -2.675F, -9.0F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(85, 104).addBox(-6.5F, -2.675F, -9.0F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.025F, -8.06F, 0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone155_r2 = bone155.addOrReplaceChild("bone155_r2", CubeListBuilder.create().texOffs(0, 14).addBox(-9.5F, -0.25F, -10.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(-0.75F)), PartPose.offsetAndRotation(0.0F, -0.025F, -8.06F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone200 = bone155.addOrReplaceChild("bone200", CubeListBuilder.create().texOffs(77, 48).addBox(-6.5F, 0.0F, -1.0F, 13.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -0.025F, -14.56F));
-
- PartDefinition bone152 = baseconsole.addOrReplaceChild("bone152", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -12.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone206 = bone152.addOrReplaceChild("bone206", CubeListBuilder.create(), PartPose.offset(0.0F, 0.075F, -8.06F));
-
- PartDefinition bone205 = bone206.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(0, 14).addBox(-9.5F, -0.25F, -10.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(-0.75F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone152_r1 = bone205.addOrReplaceChild("bone152_r1", CubeListBuilder.create().texOffs(85, 104).mirror().addBox(5.5F, -2.675F, -9.0F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(85, 104).addBox(-6.5F, -2.675F, -9.0F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone199 = bone206.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(77, 48).addBox(-6.5F, 0.0F, -1.0F, 13.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -6.5F));
-
- PartDefinition bone151 = baseconsole.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offset(0.0F, -12.0F, 0.0F));
-
- PartDefinition bone198 = bone151.addOrReplaceChild("bone198", CubeListBuilder.create(), PartPose.offset(0.0F, 0.075F, -8.06F));
-
- PartDefinition bone210 = bone198.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(0, 14).addBox(-9.5F, -0.25F, -10.0F, 19.0F, 1.0F, 10.0F, new CubeDeformation(-0.75F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone152_r2 = bone210.addOrReplaceChild("bone152_r2", CubeListBuilder.create().texOffs(85, 104).mirror().addBox(5.5F, -2.675F, -9.0F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(85, 104).addBox(-6.5F, -2.675F, -9.0F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone211 = bone198.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(77, 48).addBox(-6.5F, 0.0F, -1.0F, 13.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -6.5F));
-
- PartDefinition bone145 = baseconsole.addOrReplaceChild("bone145", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -55.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone145_r1 = bone145.addOrReplaceChild("bone145_r1", CubeListBuilder.create().texOffs(58, 65).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -5.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone192 = bone145.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(0, 120).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -4.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 7.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone146_r1 = bone146.addOrReplaceChild("bone146_r1", CubeListBuilder.create().texOffs(17, 48).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -5.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone197 = bone146.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(0, 137).addBox(-3.0F, 0.999F, 0.0436F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 137).addBox(-3.0F, 0.999F, -0.7064F, 6.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -4.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone147 = bone146.addOrReplaceChild("bone147", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone147_r1 = bone147.addOrReplaceChild("bone147_r1", CubeListBuilder.create().texOffs(58, 65).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -5.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone193 = bone147.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(0, 120).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -4.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone148 = bone147.addOrReplaceChild("bone148", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone148_r1 = bone148.addOrReplaceChild("bone148_r1", CubeListBuilder.create().texOffs(17, 48).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -5.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone196 = bone148.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(0, 137).addBox(-3.0F, 0.999F, 0.0436F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 137).addBox(-3.0F, 0.999F, -0.7064F, 6.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -4.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone149 = bone148.addOrReplaceChild("bone149", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone149_r1 = bone149.addOrReplaceChild("bone149_r1", CubeListBuilder.create().texOffs(58, 65).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -5.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone194 = bone149.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(0, 120).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -4.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone150_r1 = bone150.addOrReplaceChild("bone150_r1", CubeListBuilder.create().texOffs(17, 48).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.0F, -5.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone195 = bone150.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(0, 137).addBox(-3.0F, 0.999F, 0.0436F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 137).addBox(-3.0F, 0.999F, -0.7064F, 6.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -4.21F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone55 = baseconsole.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(0, 26).addBox(-9.5F, -1.025F, -18.06F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.0F, 0.0F));
-
- PartDefinition bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(0, 14).addBox(-9.5F, -1.025F, -18.06F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone57 = bone56.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(0, 26).addBox(-9.5F, -1.025F, -18.06F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 26).addBox(-9.5F, -1.025F, -18.06F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(0, 14).addBox(-9.5F, -1.025F, -18.06F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone60 = bone59.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(0, 14).addBox(-9.5F, -1.025F, -18.06F, 19.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone139 = baseconsole.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(73, 95).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -48.0F, 0.0F));
-
- PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(41, 95).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone141 = bone140.addOrReplaceChild("bone141", CubeListBuilder.create().texOffs(73, 95).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone142 = bone141.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(41, 95).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone143 = bone142.addOrReplaceChild("bone143", CubeListBuilder.create().texOffs(73, 95).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(41, 95).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone133 = baseconsole.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(95, 9).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -23.0F, 0.0F));
-
- PartDefinition bone134 = bone133.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(95, 9).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone135 = bone134.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(95, 9).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(95, 9).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(95, 9).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(95, 9).addBox(-3.5F, -8.0F, -6.56F, 7.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone153 = baseconsole.addOrReplaceChild("bone153", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -23.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(100, 55).addBox(-2.5F, -1.675F, -4.06F, 5.0F, 2.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(107, 79).addBox(-3.5F, -2.675F, -5.06F, 7.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.25F, -8.5F, -0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone154_r1 = bone154.addOrReplaceChild("bone154_r1", CubeListBuilder.create().texOffs(89, 83).addBox(-3.5F, -0.75F, 8.5F, 7.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 7.25F, -13.81F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone79 = baseconsole.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(11, 98).addBox(-3.5F, -2.925F, -9.56F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -23.0F, 0.0F));
-
- PartDefinition bone80 = bone79.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(11, 98).addBox(-3.5F, -2.925F, -9.56F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(11, 98).addBox(-3.5F, -2.925F, -9.56F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(11, 98).addBox(-3.5F, -2.925F, -9.56F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(11, 98).addBox(-3.5F, -2.925F, -9.56F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone84 = bone83.addOrReplaceChild("bone84", CubeListBuilder.create().texOffs(106, 38).addBox(-3.5F, -2.925F, -8.56F, 7.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone25 = baseconsole.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(49, 31).addBox(-3.5F, -2.0F, -9.06F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -10.0F, 0.0F));
-
- PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(49, 31).addBox(-3.5F, -2.0F, -9.06F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(49, 31).addBox(-3.5F, -2.0F, -9.06F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(49, 31).addBox(-3.5F, -2.0F, -9.06F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(49, 31).addBox(-3.5F, -2.0F, -9.06F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(49, 31).addBox(-3.5F, -2.0F, -9.06F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43 = baseconsole.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(32, 48).addBox(-0.5F, -9.0F, -7.86F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(32, 48).addBox(-0.5F, -9.0F, -7.86F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(32, 48).addBox(-0.5F, -9.0F, -7.86F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(32, 48).addBox(-0.5F, -9.0F, -7.86F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(32, 48).addBox(-0.5F, -9.0F, -7.86F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(32, 48).addBox(-0.5F, -9.0F, -7.86F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = baseconsole.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(97, 29).addBox(-3.5F, -7.0F, -7.06F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, 0.0F));
-
- PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(147, 19).addBox(-3.5F, -7.0F, -7.06F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone261 = bone38.addOrReplaceChild("bone261", CubeListBuilder.create().texOffs(148, 11).addBox(-1.5F, -3.0F, -1.0125F, 3.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(158, 9).addBox(-1.5F, -3.25F, -0.9875F, 3.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, -6.0725F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(97, 29).addBox(-3.5F, -7.0F, -7.06F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(97, 29).addBox(-3.5F, -7.0F, -7.06F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(97, 29).addBox(-3.5F, -7.0F, -7.06F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(97, 29).addBox(-3.5F, -7.0F, -7.06F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone162 = baseconsole.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(93, 104).addBox(-1.0F, -3.0F, -7.475F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -31.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone163 = bone162.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(93, 104).addBox(-1.0F, -3.0F, -7.475F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(93, 104).addBox(-1.0F, -3.0F, -7.475F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(93, 104).addBox(-1.0F, -3.0F, -7.475F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(93, 104).addBox(-1.0F, -3.0F, -7.475F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone167 = bone166.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(93, 104).addBox(-1.0F, -3.0F, -7.475F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone127 = baseconsole.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(37, 81).addBox(-1.0F, -5.0F, -7.725F, 2.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -56.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone128 = bone127.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(37, 81).addBox(-1.0F, -5.0F, -7.725F, 2.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone129 = bone128.addOrReplaceChild("bone129", CubeListBuilder.create().texOffs(37, 81).addBox(-1.0F, -5.0F, -7.725F, 2.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create().texOffs(37, 81).addBox(-1.0F, -5.0F, -7.725F, 2.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone131 = bone130.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(37, 81).addBox(-1.0F, -5.0F, -7.725F, 2.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone132 = bone131.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(37, 81).addBox(-1.0F, -5.0F, -7.725F, 2.0F, 5.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone169 = baseconsole.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(73, 65).addBox(-4.5F, -3.65F, -7.56F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, 0.0F));
-
- PartDefinition bone170 = bone169.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(73, 65).addBox(-4.5F, -3.65F, -7.56F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone171 = bone170.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(73, 65).addBox(-4.5F, -3.65F, -7.56F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(73, 65).addBox(-4.5F, -3.65F, -7.56F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone173 = bone172.addOrReplaceChild("bone173", CubeListBuilder.create().texOffs(73, 65).addBox(-4.5F, -3.65F, -7.56F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone174 = bone173.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(73, 65).addBox(-4.5F, -3.65F, -7.56F, 9.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone156 = baseconsole.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(106, 20).addBox(-3.0F, -3.0F, -7.175F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -32.0F, 0.0F));
-
- PartDefinition bone157 = bone156.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(123, 14).addBox(-3.0F, -3.0F, -7.175F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone246 = bone157.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(127, 6).addBox(-3.0F, -1.0F, -0.5F, 6.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -1.25F, -6.775F));
-
- PartDefinition bone227 = bone157.addOrReplaceChild("bone227", CubeListBuilder.create().texOffs(127, 10).addBox(-3.0F, -1.0F, -0.5F, 6.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, -1.25F, -6.75F));
-
- PartDefinition bone226 = bone157.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(123, 20).addBox(-3.0F, -1.25F, -1.0F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.025F))
- .texOffs(126, 26).addBox(-1.0F, -1.25F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.75F, -6.175F));
-
- PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(106, 20).addBox(-3.0F, -3.0F, -7.175F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone159 = bone158.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(106, 20).addBox(-3.0F, -3.0F, -7.175F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone160 = bone159.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(106, 20).addBox(-3.0F, -3.0F, -7.175F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone161 = bone160.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(106, 20).addBox(-3.0F, -3.0F, -7.175F, 6.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone121 = baseconsole.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(74, 12).addBox(-3.0F, -4.0F, -7.175F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -56.0F, 0.0F));
-
- PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(74, 12).addBox(-3.0F, -4.0F, -7.175F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone123 = bone122.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(74, 12).addBox(-3.0F, -4.0F, -7.175F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone124 = bone123.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(74, 12).addBox(-3.0F, -4.0F, -7.175F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(74, 12).addBox(-3.0F, -4.0F, -7.175F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone126 = bone125.addOrReplaceChild("bone126", CubeListBuilder.create().texOffs(74, 12).addBox(-3.0F, -4.0F, -7.175F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone91 = baseconsole.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(49, 16).addBox(-3.5F, -4.0F, -9.96F, 7.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -60.0F, 0.0F));
-
- PartDefinition bone176 = bone91.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(149, 28).addBox(-2.5F, -1.5F, -1.0125F, 5.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(148, 33).addBox(-2.5F, -1.0F, -0.9625F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, -8.9725F));
-
- PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(49, 16).addBox(-3.5F, -4.0F, -9.96F, 7.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone250 = bone92.addOrReplaceChild("bone250", CubeListBuilder.create().texOffs(149, 28).addBox(-2.5F, -1.5F, -1.0125F, 5.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(148, 33).addBox(-2.5F, -1.0F, -0.9625F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, -8.9725F));
-
- PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(49, 16).addBox(-3.5F, -4.0F, -9.96F, 7.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone251 = bone93.addOrReplaceChild("bone251", CubeListBuilder.create().texOffs(149, 28).addBox(-2.5F, -1.5F, -1.0125F, 5.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(148, 33).addBox(-2.5F, -1.0F, -0.9625F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, -8.9725F));
-
- PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(49, 16).addBox(-3.5F, -4.0F, -9.96F, 7.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone252 = bone94.addOrReplaceChild("bone252", CubeListBuilder.create().texOffs(149, 28).addBox(-2.5F, -1.5F, -1.0125F, 5.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(148, 33).addBox(-2.5F, -1.0F, -0.9625F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, -8.9725F));
-
- PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(49, 16).addBox(-3.5F, -4.0F, -9.96F, 7.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone253 = bone95.addOrReplaceChild("bone253", CubeListBuilder.create().texOffs(149, 28).addBox(-2.5F, -1.5F, -1.0125F, 5.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(148, 33).addBox(-2.5F, -1.0F, -0.9625F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, -8.9725F));
-
- PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(49, 16).addBox(-3.5F, -4.0F, -9.96F, 7.0F, 4.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone254 = bone96.addOrReplaceChild("bone254", CubeListBuilder.create().texOffs(149, 28).addBox(-2.5F, -1.5F, -1.0125F, 5.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(148, 33).addBox(-2.5F, -1.0F, -0.9625F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, -8.9725F));
-
- PartDefinition bone = baseconsole.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(73, 31).addBox(-3.5F, -3.0F, -9.06F, 7.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(73, 31).addBox(-3.5F, -3.0F, -9.06F, 7.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(73, 31).addBox(-3.5F, -3.0F, -9.06F, 7.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(73, 31).addBox(-3.5F, -3.0F, -9.06F, 7.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(73, 31).addBox(-3.5F, -3.0F, -9.06F, 7.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(73, 31).addBox(-3.5F, -3.0F, -9.06F, 7.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition rotor_on = root.addOrReplaceChild("rotor_on", CubeListBuilder.create(), PartPose.offset(0.0F, -39.4F, 0.0F));
-
- PartDefinition bone244 = rotor_on.addOrReplaceChild("bone244", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition rotor_r1 = bone244.addOrReplaceChild("rotor_r1", CubeListBuilder.create().texOffs(140, 41).addBox(-2.0F, -16.0F, -2.0F, 4.0F, 32.0F, 4.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone238 = bone244.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(41, 44).addBox(-2.0F, -16.0F, -2.0F, 4.0F, 32.0F, 4.0F, new CubeDeformation(1.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone237 = bone244.addOrReplaceChild("bone237", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition rotor_r2 = bone237.addOrReplaceChild("rotor_r2", CubeListBuilder.create().texOffs(0, 48).addBox(-2.0F, -16.0F, -2.0F, 4.0F, 32.0F, 4.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition controls = root.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition monitor = controls.addOrReplaceChild("monitor", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -32.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone168 = monitor.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(90, 96).addBox(-4.0F, -2.069F, -3.0286F, 8.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(111, 0).addBox(-2.5F, -0.069F, -2.0286F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.931F, -7.1464F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone168_r1 = bone168.addOrReplaceChild("bone168_r1", CubeListBuilder.create().texOffs(108, 49).addBox(-2.5F, -1.0F, -3.0F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.931F, -0.5286F, 0.7854F, 0.0F, 0.0F));
-
- PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create().texOffs(114, 92).addBox(-2.0F, -11.2F, -10.06F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 85).addBox(0.5F, -10.7F, -10.56F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(74, 16).addBox(-1.75F, -10.7F, -10.16F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(109, 96).addBox(-2.5F, -12.45F, -9.66F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone190 = north.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(16, 85).addBox(0.0F, -0.2498F, -2.0109F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -9.7F, -10.56F, -0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone231 = north.addOrReplaceChild("bone231", CubeListBuilder.create().texOffs(123, 38).addBox(-1.0F, -1.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(125, 97).addBox(0.25F, -2.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, -9.7F, -9.635F));
-
- PartDefinition bone181 = north.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(112, 9).addBox(3.5F, -0.75F, 1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(113, 26).addBox(-2.0F, -1.25F, 9.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(112, 9).mirror().addBox(-6.5F, -0.75F, 1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(63, 12).addBox(-3.5F, -0.35F, 0.75F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(25, 101).addBox(-1.5F, -1.25F, 1.5F, 3.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(0, 114).mirror().addBox(-2.5F, -0.35F, 2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 69).mirror().addBox(-3.75F, -0.35F, 4.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 69).addBox(2.75F, -0.35F, 4.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 114).addBox(1.5F, -0.35F, 2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone191 = bone181.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(73, 31).addBox(-1.0F, -1.75F, -1.25F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, 3.25F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone228 = bone181.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(77, 114).mirror().addBox(-6.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(77, 114).addBox(4.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -0.5F, 2.5F));
-
- PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create().texOffs(109, 96).addBox(-2.5F, -12.45F, -9.66F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(109, 96).mirror().addBox(-2.5F, -10.95F, -9.66F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone236 = north_left.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(125, 97).addBox(-0.5F, -25.45F, -9.635F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(125, 95).addBox(-1.0F, -26.95F, -9.635F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, 14.5F, 0.0F));
-
- PartDefinition bone177 = north_left.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(87, 44).addBox(-4.0F, -0.35F, 1.0F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(87, 44).addBox(-4.0F, -0.35F, 5.5F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 26).addBox(4.5F, -3.25F, 1.25F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 38).addBox(2.0F, -2.25F, 6.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 38).addBox(-4.0F, -2.25F, 6.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 38).addBox(-1.0F, -2.25F, 6.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 26).mirror().addBox(-6.5F, -3.25F, 1.25F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(96, 113).addBox(-4.5F, -0.35F, 3.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(96, 113).mirror().addBox(0.5F, -0.35F, 3.25F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(108, 102).addBox(-2.5F, -0.85F, 8.65F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone214 = bone177.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(115, 56).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.0F, 0.125F, 2.0F));
-
- PartDefinition bone247 = bone177.addOrReplaceChild("bone247", CubeListBuilder.create().texOffs(119, 56).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.0F, 0.125F, 2.0F));
-
- PartDefinition bone215 = bone177.addOrReplaceChild("bone215", CubeListBuilder.create().texOffs(115, 54).addBox(3.0F, -0.55F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-4.0F, 0.15F, 2.5F));
-
- PartDefinition bone248 = bone177.addOrReplaceChild("bone248", CubeListBuilder.create().texOffs(119, 54).addBox(3.0F, -0.55F, -1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-4.0F, 0.15F, 2.5F));
-
- PartDefinition bone232 = bone177.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(91, 115).mirror().addBox(0.0F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(1.5F, 0.125F, 4.25F));
-
- PartDefinition bone233 = bone177.addOrReplaceChild("bone233", CubeListBuilder.create().texOffs(91, 115).addBox(-1.0F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.5F, 0.125F, 4.25F));
-
- PartDefinition bone249 = bone177.addOrReplaceChild("bone249", CubeListBuilder.create().texOffs(91, 117).addBox(-1.0F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.5F, 0.125F, 4.25F));
-
- PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone184 = south_left.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(94, 1).addBox(1.0F, -0.35F, 1.0F, 5.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(114, 30).addBox(3.5F, -0.45F, 1.25F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(73, 65).addBox(2.25F, -0.75F, 4.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(73, 65).addBox(2.25F, -0.75F, 1.5F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(49, 106).addBox(-1.75F, -0.75F, 1.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(112, 14).addBox(-4.75F, -2.25F, 2.25F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(49, 106).addBox(-1.75F, -0.75F, 4.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone114_r2 = bone184.addOrReplaceChild("bone114_r2", CubeListBuilder.create().texOffs(73, 36).addBox(-1.5F, -2.0F, -0.5F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.75F, -1.75F, 3.75F, -0.7418F, 0.0F, 0.0F));
-
- PartDefinition bone229 = bone184.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(122, 32).addBox(-1.0F, -0.5F, -1.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(4.5F, 0.075F, 2.75F));
-
- PartDefinition bone188 = bone184.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(73, 83).addBox(-0.75F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.75F, -0.75F, 5.5F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone189 = bone184.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(73, 83).addBox(-0.75F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.75F, -0.75F, 2.5F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create().texOffs(77, 59).addBox(-2.5F, -11.925F, -10.56F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(109, 96).mirror().addBox(-2.5F, -9.95F, -9.66F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone179 = south.addOrReplaceChild("bone179", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(108, 44).addBox(-3.0F, -2.0627F, -3.0756F, 6.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(91, 59).addBox(-1.0F, -1.5627F, -7.0756F, 2.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(53, 110).addBox(1.5F, -0.1627F, -7.0756F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(53, 110).mirror().addBox(-5.5F, -0.1627F, -7.0756F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 7).mirror().addBox(-4.75F, -0.2627F, -7.3256F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 21).mirror().addBox(-4.75F, -1.0127F, -4.5756F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 21).mirror().addBox(-4.75F, -1.0127F, -5.5756F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 21).mirror().addBox(-4.75F, -1.0127F, -6.5756F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 21).addBox(2.75F, -1.0127F, -6.5756F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 21).addBox(2.75F, -1.0127F, -5.5756F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 21).addBox(2.75F, -1.0127F, -4.5756F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 7).addBox(2.75F, -0.2627F, -7.3256F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -7.2F, -11.41F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone178 = bone180.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(50, 81).mirror().addBox(-1.1F, -1.75F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(50, 81).addBox(0.1F, -1.75F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0627F, -5.8256F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone222 = bone180.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(109, 87).addBox(-3.0F, -3.0F, 0.0F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0627F, -2.0756F));
-
- PartDefinition bone219 = bone180.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(110, 84).addBox(-0.75F, 2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(-1.25F, -7.0627F, -1.8506F));
-
- PartDefinition bone220 = bone180.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(110, 84).addBox(-0.75F, 2.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, -6.0627F, -2.1006F));
-
- PartDefinition bone221 = bone180.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(114, 84).addBox(-0.75F, 3.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(2.5F, -7.5627F, -2.1006F));
-
- PartDefinition bone208 = south.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(32, 65).addBox(-1.0F, -1.0F, -2.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -11.425F, -9.56F));
-
- PartDefinition bone207 = bone208.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(51, 85).addBox(0.5F, -1.5627F, -3.0756F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, 0.5627F, 1.1006F));
-
- PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create().texOffs(109, 96).mirror().addBox(-2.5F, -9.95F, -9.66F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition bone186 = south_right.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(108, 44).addBox(-3.0F, -1.5F, -2.0F, 6.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.2627F, -9.4856F, 1.8326F, 0.0F, 0.0F));
-
- PartDefinition bone230 = bone186.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(125, 46).addBox(-2.0F, 0.5F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.975F, -1.0F));
-
- PartDefinition bone223 = bone186.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(109, 87).addBox(-3.0F, -2.75F, 0.0F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.75F, -1.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(114, 84).addBox(0.5F, 3.0F, 0.025F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.75F, -5.5F, -0.05F));
-
- PartDefinition bone225 = bone223.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(114, 84).addBox(0.5F, 3.0F, 0.025F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(114, 84).addBox(2.5F, 3.25F, 0.025F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.75F, -5.5F, -0.05F));
-
- PartDefinition bone182 = south_right.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(11, 105).addBox(-5.0F, -0.35F, 1.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(104, 73).addBox(1.0F, -0.35F, 1.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(49, 20).addBox(-0.75F, -0.35F, 1.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(66, 114).mirror().addBox(1.25F, -0.35F, 5.25F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(66, 114).addBox(-4.25F, -0.35F, 5.25F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(49, 14).addBox(-0.5F, -2.25F, 3.5F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(108, 102).addBox(-2.5F, -0.85F, 8.65F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone183 = bone182.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(70, 107).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(25, 108).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(3.0F, -0.35F, 3.0F, -0.1745F, -0.0873F, 0.0F));
-
- PartDefinition bone201 = bone182.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(70, 107).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(25, 108).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-3.0F, -0.35F, 3.0F, 0.1745F, -0.0873F, 0.0F));
-
- PartDefinition bone234 = bone182.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(61, 114).addBox(-2.0F, -16.325F, -17.31F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.75F, 16.0F, 23.06F));
-
- PartDefinition bone235 = bone182.addOrReplaceChild("bone235", CubeListBuilder.create().texOffs(61, 116).addBox(-2.0F, -16.325F, -17.31F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.75F, 16.0F, 23.06F));
-
- PartDefinition bone185 = bone182.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(67, 48).addBox(-0.5F, -1.75F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 33).mirror().addBox(-1.0F, -2.75F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.5F, -2.0F, 5.0F, -0.6545F, 0.0F, 0.0F));
-
- PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition GRUM_core = north_right.addOrReplaceChild("GRUM_core", CubeListBuilder.create().texOffs(0, 85).addBox(-2.5F, -2.8217F, -4.5569F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.025F))
- .texOffs(73, 83).addBox(-2.5F, -2.8217F, -4.5569F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.275F)), PartPose.offsetAndRotation(0.0F, -12.25F, -11.5F, -0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone203 = GRUM_core.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(15, 118).addBox(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.025F)), PartPose.offset(0.0F, -0.3217F, -4.7069F));
-
- PartDefinition bone202 = GRUM_core.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(80, 106).mirror().addBox(0.475F, -0.25F, 0.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(80, 106).addBox(-2.475F, -0.25F, 0.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.7467F, -5.0319F));
-
- PartDefinition bone213 = GRUM_core.addOrReplaceChild("bone213", CubeListBuilder.create(), PartPose.offset(0.0F, -9.8217F, 1.1931F));
-
- PartDefinition bone176_r1 = bone213.addOrReplaceChild("bone176_r1", CubeListBuilder.create().texOffs(58, 48).addBox(-1.0F, -4.5F, -1.5F, 2.0F, 7.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 4.5F, -1.25F, 0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone204 = GRUM_core.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(111, 62).addBox(-3.0F, -2.0F, 0.0F, 6.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.3217F, -4.0569F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone175 = north_right.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(113, 26).addBox(-2.0F, -1.25F, 9.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(37, 38).addBox(-5.5F, -0.75F, 1.5F, 11.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(77, 54).addBox(-4.75F, -0.85F, 2.25F, 10.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -18.31F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone175_r1 = bone175.addOrReplaceChild("bone175_r1", CubeListBuilder.create().texOffs(84, 25).addBox(-5.25F, -1.5F, 0.0F, 10.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -0.85F, 4.5F, -0.48F, 0.0F, 0.0F));
-
- PartDefinition bone216 = bone175.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(115, 66).addBox(-5.0F, -0.5F, -0.5F, 10.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, -0.325F, 2.75F));
-
- PartDefinition bone217 = bone175.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(84, 28).addBox(-5.25F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(84, 28).addBox(-2.25F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(84, 28).addBox(0.75F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -0.85F, 4.5F, -1.0472F, 0.0F, 0.0F));
-
- PartDefinition bone218 = bone175.addOrReplaceChild("bone218", CubeListBuilder.create().texOffs(84, 28).addBox(3.75F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(84, 28).addBox(-0.75F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -0.85F, 4.5F, -0.48F, 0.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 256, 256);
+ this.throttle = Frame.findPart(this, "bone178");
+ this.rotor_on = Frame.findPart(this, "rotor_on");
+ this.handbrake = Frame.findPart(this, "bone185");
}
@Override
@@ -817,8 +82,4 @@ public ResourceLocation getDefaultTexture() {
return INITIATIVE_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.INITIATIVE.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/MystConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/MystConsoleModel.java
index c4bda339..18787f12 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/MystConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/MystConsoleModel.java
@@ -2,7 +2,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
@@ -52,531 +52,7 @@ public MystConsoleModel(ModelPart root) {
this.controls = root.getChild("controls");
this.rotor = root.getChild("rotor");
this.throttle_control = controls.getChild("south").getChild("bone120").getChild("throttle_control");
- this.handbrake = JsonToAnimationDefinition.findPart(this, "door_control");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition base_console = partdefinition.addOrReplaceChild("base_console", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone25 = base_console.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(27, 94).addBox(-1.0F, -3.0F, -22.73F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(27, 94).addBox(-1.0F, -3.0F, -22.73F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(27, 94).addBox(-1.0F, -3.0F, -22.73F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(27, 94).addBox(-1.0F, -3.0F, -22.73F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(27, 94).addBox(-1.0F, -3.0F, -22.73F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(27, 94).addBox(-1.0F, -3.0F, -22.73F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone7 = base_console.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, -8.0F, -8.73F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -21.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, -8.0F, -8.73F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, -8.0F, -8.73F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, -8.0F, -8.73F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, -8.0F, -8.73F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, -8.0F, -8.73F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone86 = base_console.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(25, 61).addBox(0.0F, -13.0F, -10.23F, 1.0F, 13.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -21.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(25, 61).addBox(0.0F, -14.0F, -10.23F, 1.0F, 13.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone88 = bone87.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(25, 61).addBox(0.0F, -13.0F, -10.23F, 1.0F, 13.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(25, 61).addBox(0.0F, -14.0F, -10.23F, 1.0F, 13.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(25, 61).addBox(0.0F, -13.0F, -10.23F, 1.0F, 13.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(25, 61).addBox(0.0F, -14.0F, -10.23F, 1.0F, 13.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone32 = base_console.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone32_r1 = bone32.addOrReplaceChild("bone32_r1", CubeListBuilder.create().texOffs(35, 43).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone33_r1 = bone33.addOrReplaceChild("bone33_r1", CubeListBuilder.create().texOffs(35, 43).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34_r1 = bone34.addOrReplaceChild("bone34_r1", CubeListBuilder.create().texOffs(35, 43).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35_r1 = bone35.addOrReplaceChild("bone35_r1", CubeListBuilder.create().texOffs(35, 43).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36_r1 = bone36.addOrReplaceChild("bone36_r1", CubeListBuilder.create().texOffs(35, 43).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37_r1 = bone37.addOrReplaceChild("bone37_r1", CubeListBuilder.create().texOffs(35, 43).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone80 = base_console.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone80_r1 = bone80.addOrReplaceChild("bone80_r1", CubeListBuilder.create().texOffs(0, 71).addBox(0.0F, -2.5F, 7.0F, 1.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone81_r1 = bone81.addOrReplaceChild("bone81_r1", CubeListBuilder.create().texOffs(0, 71).addBox(0.0F, -2.5F, 7.0F, 1.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone82_r1 = bone82.addOrReplaceChild("bone82_r1", CubeListBuilder.create().texOffs(0, 71).addBox(0.0F, -2.5F, 7.0F, 1.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone83_r1 = bone83.addOrReplaceChild("bone83_r1", CubeListBuilder.create().texOffs(0, 71).addBox(0.0F, -2.5F, 7.0F, 1.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone84 = bone83.addOrReplaceChild("bone84", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone84_r1 = bone84.addOrReplaceChild("bone84_r1", CubeListBuilder.create().texOffs(0, 71).addBox(0.0F, -2.5F, 7.0F, 1.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone85_r1 = bone85.addOrReplaceChild("bone85_r1", CubeListBuilder.create().texOffs(0, 71).addBox(0.0F, -2.5F, 7.0F, 1.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -22.73F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone50 = base_console.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -16.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone50_r1 = bone50.addOrReplaceChild("bone50_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.5F, -3.0F, 1.0F, 11.0F, 16.0F, new CubeDeformation(-0.225F)), PartPose.offsetAndRotation(0.75F, 3.0F, -22.73F, -0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone75 = bone50.addOrReplaceChild("bone75", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone75_r1 = bone75.addOrReplaceChild("bone75_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.5F, -3.0F, 1.0F, 11.0F, 16.0F, new CubeDeformation(-0.225F)), PartPose.offsetAndRotation(0.75F, 3.0F, -22.73F, -0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone76_r1 = bone76.addOrReplaceChild("bone76_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.5F, -3.0F, 1.0F, 11.0F, 16.0F, new CubeDeformation(-0.225F)), PartPose.offsetAndRotation(0.75F, 3.0F, -22.73F, -0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone77_r1 = bone77.addOrReplaceChild("bone77_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.5F, -3.0F, 1.0F, 11.0F, 16.0F, new CubeDeformation(-0.225F)), PartPose.offsetAndRotation(0.75F, 3.0F, -22.73F, -0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone78_r1 = bone78.addOrReplaceChild("bone78_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.5F, -3.0F, 1.0F, 11.0F, 16.0F, new CubeDeformation(-0.225F)), PartPose.offsetAndRotation(0.75F, 3.0F, -22.73F, -0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone79_r1 = bone79.addOrReplaceChild("bone79_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.5F, -3.0F, 1.0F, 11.0F, 16.0F, new CubeDeformation(-0.225F)), PartPose.offsetAndRotation(0.75F, 3.0F, -22.73F, -0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone38 = base_console.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone38_r1 = bone38.addOrReplaceChild("bone38_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-20.0F, 0.25F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(63, 24).mirror().addBox(-9.0F, -0.475F, 1.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 15).addBox(-20.0F, -0.5F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone39_r1 = bone38.addOrReplaceChild("bone39_r1", CubeListBuilder.create().texOffs(19, 53).addBox(-2.5F, -0.5F, -0.5F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.5F, -19.175F, 0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone39_r2 = bone38.addOrReplaceChild("bone39_r2", CubeListBuilder.create().texOffs(12, 71).addBox(-12.0F, -2.0F, 3.0F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.5F, -2.3433F, -19.0458F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone39_r3 = bone39.addOrReplaceChild("bone39_r3", CubeListBuilder.create().texOffs(0, 0).addBox(-20.0F, 0.25F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(0, 15).addBox(-20.0F, -0.5F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40_r1 = bone40.addOrReplaceChild("bone40_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-20.0F, 0.25F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(0, 15).addBox(-20.0F, -0.5F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone39_r4 = bone40.addOrReplaceChild("bone39_r4", CubeListBuilder.create().texOffs(19, 53).addBox(-2.5F, -0.5F, -0.5F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.5F, -19.175F, 0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone39_r5 = bone40.addOrReplaceChild("bone39_r5", CubeListBuilder.create().texOffs(12, 71).addBox(-12.0F, -2.0F, 3.0F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(10.5F, -2.3433F, -19.0458F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41_r1 = bone41.addOrReplaceChild("bone41_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-20.0F, 0.25F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(63, 24).addBox(-16.0F, -0.475F, 1.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 15).addBox(-20.0F, -0.5F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42_r1 = bone42.addOrReplaceChild("bone42_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-20.0F, 0.25F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(63, 24).mirror().addBox(-9.0F, -0.475F, 1.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(63, 24).addBox(-16.0F, -0.475F, 1.0F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 15).addBox(-20.0F, -0.5F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43_r1 = bone43.addOrReplaceChild("bone43_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-20.0F, 0.25F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(0, 15).addBox(-20.0F, -0.5F, 0.0F, 21.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone19 = base_console.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(56, 0).addBox(-10.5F, -3.0F, -20.175F, 21.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(56, 0).addBox(-10.5F, -3.0F, -20.175F, 21.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(56, 0).addBox(-10.5F, -3.0F, -20.175F, 21.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(56, 0).addBox(-10.5F, -3.0F, -20.175F, 21.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(56, 0).addBox(-10.5F, -3.0F, -20.175F, 21.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(56, 0).addBox(-10.5F, -3.0F, -20.175F, 21.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone92 = base_console.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offset(0.0F, -19.0F, 0.0F));
-
- PartDefinition bone92_r1 = bone92.addOrReplaceChild("bone92_r1", CubeListBuilder.create().texOffs(19, 43).addBox(-3.5F, 0.0F, 0.0F, 7.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone93_r1 = bone93.addOrReplaceChild("bone93_r1", CubeListBuilder.create().texOffs(19, 43).addBox(-3.5F, 0.0F, 0.0F, 7.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone94_r1 = bone94.addOrReplaceChild("bone94_r1", CubeListBuilder.create().texOffs(19, 43).addBox(-3.5F, 0.0F, 0.0F, 7.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone95_r1 = bone95.addOrReplaceChild("bone95_r1", CubeListBuilder.create().texOffs(19, 43).addBox(-3.5F, 0.0F, 0.0F, 7.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone96_r1 = bone96.addOrReplaceChild("bone96_r1", CubeListBuilder.create().texOffs(19, 43).addBox(-3.5F, 0.0F, 0.0F, 7.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97_r1 = bone97.addOrReplaceChild("bone97_r1", CubeListBuilder.create().texOffs(19, 43).addBox(-3.5F, 0.0F, 0.0F, 7.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone114 = base_console.addOrReplaceChild("bone114", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -19.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone93_r2 = bone114.addOrReplaceChild("bone93_r2", CubeListBuilder.create().texOffs(41, 98).addBox(-1.0F, 0.025F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone121 = bone114.addOrReplaceChild("bone121", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone94_r2 = bone121.addOrReplaceChild("bone94_r2", CubeListBuilder.create().texOffs(41, 98).addBox(-1.0F, 0.025F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone126 = bone121.addOrReplaceChild("bone126", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone95_r2 = bone126.addOrReplaceChild("bone95_r2", CubeListBuilder.create().texOffs(41, 98).addBox(-1.0F, 0.025F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone129 = bone126.addOrReplaceChild("bone129", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone96_r2 = bone129.addOrReplaceChild("bone96_r2", CubeListBuilder.create().texOffs(41, 98).addBox(-1.0F, 0.025F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97_r2 = bone130.addOrReplaceChild("bone97_r2", CubeListBuilder.create().texOffs(41, 98).addBox(-1.0F, 0.025F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone131 = bone130.addOrReplaceChild("bone131", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone98_r1 = bone131.addOrReplaceChild("bone98_r1", CubeListBuilder.create().texOffs(41, 98).addBox(-1.0F, 0.025F, -0.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -7.925F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone51 = base_console.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(0, 30).addBox(-10.5F, -1.0F, -18.175F, 21.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(0, 30).addBox(-10.5F, -1.0F, -18.175F, 21.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(0, 30).addBox(-10.5F, -1.0F, -18.175F, 21.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(0, 30).addBox(-10.5F, -1.0F, -18.175F, 21.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone55 = bone54.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(0, 30).addBox(-10.5F, -1.0F, -18.175F, 21.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone74 = bone55.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(0, 30).addBox(-10.5F, -1.0F, -18.175F, 21.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone44 = base_console.addOrReplaceChild("bone44", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone44_r1 = bone44.addOrReplaceChild("bone44_r1", CubeListBuilder.create().texOffs(56, 6).addBox(-9.5F, 0.0F, -3.0F, 19.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.175F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone45_r1 = bone45.addOrReplaceChild("bone45_r1", CubeListBuilder.create().texOffs(56, 6).addBox(-9.5F, 0.0F, -3.0F, 19.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.175F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46_r1 = bone46.addOrReplaceChild("bone46_r1", CubeListBuilder.create().texOffs(56, 6).addBox(-9.5F, 0.0F, -3.0F, 19.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.175F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47_r1 = bone47.addOrReplaceChild("bone47_r1", CubeListBuilder.create().texOffs(56, 6).addBox(-9.5F, 0.0F, -3.0F, 19.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.175F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48_r1 = bone48.addOrReplaceChild("bone48_r1", CubeListBuilder.create().texOffs(56, 6).addBox(-9.5F, 0.0F, -3.0F, 19.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.175F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone49_r1 = bone49.addOrReplaceChild("bone49_r1", CubeListBuilder.create().texOffs(56, 6).addBox(-9.5F, 0.0F, -3.0F, 19.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -3.0F, -20.175F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone13 = base_console.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -3.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone62 = bone13.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(0, 30).addBox(-1.0F, -5.0F, 0.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.75F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone62_r1 = bone62.addOrReplaceChild("bone62_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(0, 30).addBox(-1.0F, -5.0F, 0.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.75F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone15_r1 = bone15.addOrReplaceChild("bone15_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone16 = bone14.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(0, 30).addBox(-1.0F, -5.0F, 0.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.75F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone17_r1 = bone17.addOrReplaceChild("bone17_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone18 = bone16.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone56 = bone18.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(0, 30).addBox(-1.0F, -5.0F, 0.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.75F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone56_r1 = bone56.addOrReplaceChild("bone56_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone57 = bone18.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 30).addBox(-1.0F, -5.0F, 0.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.75F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone58_r1 = bone58.addOrReplaceChild("bone58_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone59 = bone57.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone60 = bone59.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(0, 30).addBox(-1.0F, -5.0F, 0.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.75F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone60_r1 = bone60.addOrReplaceChild("bone60_r1", CubeListBuilder.create().texOffs(0, 43).addBox(-1.0F, -7.0F, 0.0F, 2.0F, 7.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, 0.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone = base_console.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(56, 33).addBox(-4.5F, -3.0F, -9.8F, 9.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(56, 33).addBox(-4.5F, -3.0F, -9.8F, 9.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(56, 33).addBox(-4.5F, -3.0F, -9.8F, 9.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(56, 33).addBox(-4.5F, -3.0F, -9.8F, 9.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(56, 33).addBox(-4.5F, -3.0F, -9.8F, 9.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(56, 33).addBox(-4.5F, -3.0F, -9.8F, 9.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone61 = base_console.addOrReplaceChild("bone61", CubeListBuilder.create(), PartPose.offset(0.0F, -3.0F, 0.0F));
-
- PartDefinition bone68 = bone61.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(67, 68).addBox(-4.5F, -11.0F, 0.0F, 9.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.3F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone68_r1 = bone68.addOrReplaceChild("bone68_r1", CubeListBuilder.create().texOffs(56, 47).addBox(-6.5F, -5.5F, 0.0F, 11.0F, 7.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -5.0F, -0.65F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone63 = bone61.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone69 = bone63.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(67, 68).addBox(-4.5F, -11.0F, 0.0F, 9.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.3F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone69_r1 = bone69.addOrReplaceChild("bone69_r1", CubeListBuilder.create().texOffs(56, 47).addBox(-6.5F, -5.5F, 0.0F, 11.0F, 7.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -5.0F, -0.65F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(67, 68).addBox(-4.5F, -11.0F, 0.0F, 9.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.3F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone65_r1 = bone65.addOrReplaceChild("bone65_r1", CubeListBuilder.create().texOffs(56, 47).addBox(-6.5F, -5.5F, 0.0F, 11.0F, 7.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -5.0F, -0.65F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone66 = bone64.addOrReplaceChild("bone66", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(67, 68).addBox(-4.5F, -11.0F, 0.0F, 9.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.3F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone67_r1 = bone67.addOrReplaceChild("bone67_r1", CubeListBuilder.create().texOffs(56, 47).addBox(-6.5F, -5.5F, 0.0F, 11.0F, 7.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -5.0F, -0.65F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone70 = bone66.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(67, 68).addBox(-4.5F, -11.0F, 0.0F, 9.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.3F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone71_r1 = bone71.addOrReplaceChild("bone71_r1", CubeListBuilder.create().texOffs(56, 47).addBox(-6.5F, -5.5F, 0.0F, 11.0F, 7.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -5.0F, -0.65F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone72 = bone70.addOrReplaceChild("bone72", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(67, 68).addBox(-4.5F, -11.0F, 0.0F, 9.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.3F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone73_r1 = bone73.addOrReplaceChild("bone73_r1", CubeListBuilder.create().texOffs(56, 47).addBox(-6.5F, -5.5F, 0.0F, 11.0F, 7.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -5.0F, -0.65F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition controls = partdefinition.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 11.0F, 0.0F));
-
- PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition north_r1 = north.addOrReplaceChild("north_r1", CubeListBuilder.create().texOffs(74, 88).mirror().addBox(-1.0F, -9.0F, -2.0F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(3.5F, -3.5F, -10.175F, 0.0F, 0.4363F, 0.0F));
-
- PartDefinition north_r2 = north.addOrReplaceChild("north_r2", CubeListBuilder.create().texOffs(74, 88).addBox(-1.0F, -9.0F, -2.0F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5F, -3.5F, -10.175F, 0.0F, -0.4363F, 0.0F));
-
- PartDefinition rotate_control = north.addOrReplaceChild("rotate_control", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -10.0F, -11.575F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone114_r1 = rotate_control.addOrReplaceChild("bone114_r1", CubeListBuilder.create().texOffs(0, 91).addBox(-1.5F, -2.5F, -0.5F, 4.0F, 4.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.75F, 0.0F, 0.0F, -0.7854F));
-
- PartDefinition bone110 = north.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(44, 84).addBox(-16.0F, -3.5F, 1.5F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(85, 30).addBox(-6.5F, -0.6F, 1.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(19, 85).addBox(-6.25F, -0.7F, 1.75F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(62, 93).addBox(-10.5F, -2.25F, 2.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(42, 43).addBox(-15.0F, -3.75F, 2.5F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition north_r3 = bone110.addOrReplaceChild("north_r3", CubeListBuilder.create().texOffs(88, 70).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-14.0F, -3.5F, 3.5F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition north_r4 = bone110.addOrReplaceChild("north_r4", CubeListBuilder.create().texOffs(94, 93).addBox(-1.25F, -3.0F, 0.0F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, -2.25F, 5.75F, -0.3054F, 0.0F, 0.0F));
-
- PartDefinition increment_control = bone110.addOrReplaceChild("increment_control", CubeListBuilder.create().texOffs(77, 97).addBox(-1.25F, -1.25F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.5F, -1.1F, 2.75F, 0.0F, 0.48F, 0.0F));
-
- PartDefinition bone127 = bone110.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(57, 84).addBox(-0.5F, -0.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(95, 75).addBox(-0.65F, 0.25F, -1.35F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-9.5F, -2.75F, 4.25F, 0.0F, -0.6109F, 0.0F));
-
- PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create().texOffs(0, 71).addBox(-1.0F, -11.75F, -13.175F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(72, 97).addBox(0.5F, -9.75F, -12.675F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone120 = south.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(54, 30).addBox(-5.0F, -2.6F, 1.5F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 84).addBox(-6.0F, -0.6F, 0.5F, 4.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(85, 36).addBox(0.5F, -1.0F, 0.0F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(82, 75).addBox(0.0F, -0.6F, -0.5F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone120_r1 = bone120.addOrReplaceChild("bone120_r1", CubeListBuilder.create().texOffs(82, 11).addBox(-2.5F, -0.45F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(81, 53).mirror().addBox(-2.5F, -0.35F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(6.5F, -0.25F, 3.0F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone120_r2 = bone120.addOrReplaceChild("bone120_r2", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -1.0F, 2.5F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone120_r3 = bone120.addOrReplaceChild("bone120_r3", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.325F, -0.5F, 3.75F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone120_r4 = bone120.addOrReplaceChild("bone120_r4", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -1.0F, 1.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone120_r5 = bone120.addOrReplaceChild("bone120_r5", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.25F, -1.0F, 4.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition throttle_control = bone120.addOrReplaceChild("throttle_control", CubeListBuilder.create().texOffs(0, 56).addBox(-2.0F, -0.5F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(18, 91).addBox(-1.5F, -2.75F, -0.75F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-4.0F, -1.6F, 3.0F, -1.0036F, 0.0F, 0.0F));
-
- PartDefinition bone122 = bone120.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(34, 53).addBox(-1.25F, -1.25F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.575F, -0.85F, 1.925F, 0.0F, 0.48F, 0.0F));
-
- PartDefinition bone115 = south.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(83, 93).addBox(0.0F, -1.0F, -1.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -12.175F, 0.0F, 0.6545F, 0.0F));
-
- PartDefinition bone116 = south.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offsetAndRotation(1.75F, -9.5F, -12.175F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone116_r1 = bone116.addOrReplaceChild("bone116_r1", CubeListBuilder.create().texOffs(32, 87).addBox(0.0F, -1.25F, -4.0F, 1.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.0873F, 0.0F));
-
- PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone125 = south_left.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(82, 24).addBox(4.0F, -0.75F, 0.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(82, 24).addBox(-5.75F, -0.75F, 3.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(54, 37).addBox(-5.25F, -1.75F, 4.5F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(82, 24).addBox(-0.5F, -0.6F, 7.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(51, 93).addBox(0.5F, -1.6F, 8.0F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(56, 15).addBox(0.75F, -4.6F, 10.75F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(14, 84).addBox(5.0F, -2.75F, 1.5F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(89, 18).addBox(-0.5F, -4.75F, 4.0F, 4.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 97).addBox(0.25F, -2.525F, 1.35F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 84).addBox(5.5F, -3.75F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 88).addBox(4.5F, -1.75F, 1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-1.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone123_r1 = bone125.addOrReplaceChild("bone123_r1", CubeListBuilder.create().texOffs(97, 52).addBox(0.0F, -2.0F, -0.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.0F, -2.5F, 3.9F, 0.0F, 0.0F, -0.7854F));
-
- PartDefinition bone124_r1 = bone125.addOrReplaceChild("bone124_r1", CubeListBuilder.create().texOffs(0, 43).addBox(0.0F, -3.0F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -1.1F, 9.5F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition door_control = bone125.addOrReplaceChild("door_control", CubeListBuilder.create().texOffs(88, 65).addBox(-1.5F, 0.0F, 0.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 47).addBox(-1.5F, -0.5F, 2.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.75F, -1.75F, 5.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone124 = bone125.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(19, 43).addBox(-1.0F, -1.5F, 0.0F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, -4.5F, 3.975F, -0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone128 = south_left.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(56, 24).addBox(-0.5F, -1.0F, 1.0F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -2.5F, -19.175F, 0.8727F, 0.0F, 0.0F));
-
- PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create().texOffs(83, 83).addBox(-3.5F, -14.0F, -11.175F, 7.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition random_control = north_left.addOrReplaceChild("random_control", CubeListBuilder.create().texOffs(78, 82).addBox(-0.5F, 0.0F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-1.5F, 1.0F, -1.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(59, 61).addBox(-1.5F, 4.25F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -13.5F, -11.175F));
-
- PartDefinition bone31 = north_left.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(82, 47).addBox(-10.0F, -1.5F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(18, 96).addBox(-11.0F, -1.025F, 4.75F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(82, 47).addBox(-8.5F, -1.5F, 2.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(69, 11).addBox(-11.75F, -1.1F, 2.5F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(82, 47).mirror().addBox(-11.5F, -1.5F, 2.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(95, 43).addBox(-16.0F, -0.5F, 3.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(59, 66).addBox(-6.0F, -0.85F, 5.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(59, 66).addBox(-6.0F, -0.85F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone31_r1 = bone31.addOrReplaceChild("bone31_r1", CubeListBuilder.create().texOffs(81, 53).mirror().addBox(-2.5F, -0.35F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(38, 61).mirror().addBox(-1.5F, -0.45F, -1.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-5.5F, -0.25F, 4.0F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone31_r2 = bone31.addOrReplaceChild("bone31_r2", CubeListBuilder.create().texOffs(38, 61).addBox(-2.5F, -0.35F, -1.5F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(81, 53).addBox(-2.5F, -0.25F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-13.5F, -0.35F, 4.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone31_r3 = bone31.addOrReplaceChild("bone31_r3", CubeListBuilder.create().texOffs(39, 85).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.25F, -1.025F, 5.25F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone31_r4 = bone31.addOrReplaceChild("bone31_r4", CubeListBuilder.create().texOffs(62, 81).addBox(-2.5F, -0.5F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, -0.5F, 4.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone117 = bone31.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(34, 53).addBox(-1.25F, -1.25F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.5F, -1.1F, 2.25F, 0.0F, 0.48F, 0.0F));
-
- PartDefinition bone112 = bone31.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(36, 97).addBox(-0.5F, -3.25F, -0.5F, 1.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(84, 97).addBox(-1.0F, -4.25F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-15.0F, -0.35F, 4.0F, -0.7418F, 0.0F, 0.0F));
-
- PartDefinition bone113 = bone31.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(82, 18).addBox(-1.0F, -2.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.75F, -1.1F, 5.75F, -0.7418F, 0.0F, 0.0F));
-
- PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create().texOffs(81, 60).addBox(-3.5F, -3.35F, -20.675F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(12, 77).addBox(-2.75F, -3.6F, -20.425F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition south_right_r1 = south_right.addOrReplaceChild("south_right_r1", CubeListBuilder.create().texOffs(19, 48).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -3.35F, -20.175F, 0.7418F, 0.0F, 0.0F));
-
- PartDefinition bone111 = south_right.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(95, 36).addBox(-4.0F, -0.85F, 1.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(51, 61).addBox(-3.5F, -1.6F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(40, 93).addBox(-17.25F, -0.7F, 0.5F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone111_r1 = bone111.addOrReplaceChild("bone111_r1", CubeListBuilder.create().texOffs(81, 53).addBox(-4.25F, -0.5F, -2.0F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-14.5F, -0.1F, 3.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition monitor_control = bone111.addOrReplaceChild("monitor_control", CubeListBuilder.create().texOffs(56, 15).addBox(-14.0F, -0.6F, 2.5F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition south_right2 = controls.addOrReplaceChild("south_right2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone118 = south_right2.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(54, 30).addBox(-5.0F, -2.6F, 1.5F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(64, 58).addBox(-15.0F, -0.6F, 0.5F, 4.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(85, 47).addBox(-11.5F, -0.6F, 8.75F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(95, 24).addBox(-13.25F, -0.625F, 5.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(38, 53).addBox(-13.25F, -0.625F, 1.0F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(11, 56).addBox(-14.5F, -1.35F, 7.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(11, 56).addBox(-14.5F, -1.35F, 1.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(11, 56).addBox(-14.5F, -1.35F, 4.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(85, 36).addBox(-10.5F, -1.0F, 1.0F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(82, 75).addBox(-11.0F, -0.6F, 0.5F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -2.5F, -19.175F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone118_r1 = bone118.addOrReplaceChild("bone118_r1", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.75F, -1.0F, 3.5F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone118_r2 = bone118.addOrReplaceChild("bone118_r2", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.75F, -1.0F, 5.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone118_r3 = bone118.addOrReplaceChild("bone118_r3", CubeListBuilder.create().texOffs(10, 43).addBox(-0.5F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.75F, -1.0F, 2.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone118_r4 = bone118.addOrReplaceChild("bone118_r4", CubeListBuilder.create().texOffs(38, 67).addBox(-1.0F, 0.0F, -0.25F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-12.25F, -0.6F, 5.5F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone123 = bone118.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(0, 8).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, -0.6F, 10.25F, 0.0F, -0.4363F, 0.0F));
-
- PartDefinition Z_control = bone118.addOrReplaceChild("Z_control", CubeListBuilder.create().texOffs(34, 53).addBox(-1.3F, -1.25F, 0.25F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-14.025F, -1.35F, 1.5F, 0.0F, 0.829F, 0.0F));
-
- PartDefinition Y_control = bone118.addOrReplaceChild("Y_control", CubeListBuilder.create().texOffs(34, 53).addBox(-1.3F, -1.25F, 0.25F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-14.025F, -1.35F, 4.5F, 0.0F, 0.1745F, 0.0F));
-
- PartDefinition X_control = bone118.addOrReplaceChild("X_control", CubeListBuilder.create().texOffs(34, 53).addBox(-1.3F, -1.25F, 0.25F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-14.025F, -1.35F, 7.5F, 0.0F, -0.3927F, 0.0F));
-
- PartDefinition bone119 = bone118.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(0, 56).addBox(-2.0F, -0.5F, -0.5F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(18, 91).addBox(-1.5F, -2.75F, -0.75F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-4.0F, -1.6F, 3.0F, -1.0036F, 0.0F, 0.0F));
-
- PartDefinition rotor = partdefinition.addOrReplaceChild("rotor", CubeListBuilder.create(), PartPose.offset(0.0F, 23.0F, 0.0F));
-
- PartDefinition bone98 = rotor.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(48, 61).addBox(0.0F, -14.0F, -7.98F, 1.0F, 14.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -21.0F, 0.0F));
-
- PartDefinition bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(48, 61).addBox(0.0F, -14.0F, -7.98F, 1.0F, 14.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(48, 61).addBox(0.0F, -14.0F, -7.98F, 1.0F, 14.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(48, 61).addBox(0.0F, -14.0F, -7.98F, 1.0F, 14.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone102 = bone101.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(48, 61).addBox(0.0F, -14.0F, -7.98F, 1.0F, 14.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(48, 61).addBox(0.0F, -14.0F, -7.98F, 1.0F, 14.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone104 = rotor.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(0, 15).addBox(-1.5F, -10.0F, -2.605F, 3.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -21.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(0, 15).addBox(-1.5F, -10.0F, -2.605F, 3.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(0, 15).addBox(-1.5F, -10.0F, -2.605F, 3.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(0, 15).addBox(-1.5F, -10.0F, -2.605F, 3.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(0, 15).addBox(-1.5F, -10.0F, -2.605F, 3.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 15).addBox(-1.5F, -10.0F, -2.605F, 3.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
+ this.handbrake = Frame.findPart(this, "door_control");
}
@Override
@@ -615,8 +91,4 @@ public ResourceLocation getDefaultTexture() {
return MYST_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.MYST.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/NukaConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/NukaConsoleModel.java
index b082c565..d06df29e 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/NukaConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/NukaConsoleModel.java
@@ -2,12 +2,9 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
@@ -26,7 +23,7 @@ public class NukaConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/nuka/flight.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/nuka/flight.json"));
private static final ResourceLocation NUKA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/nuka/nuka_console.png");
@@ -54,390 +51,6 @@ public NukaConsoleModel(ModelPart root) {
this.throttle = this.panels.getChild("North").getChild("bone148").getChild("bigLever1");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition rotor_zminus3_yplus5_rotateY = partdefinition.addOrReplaceChild("rotor_zminus3_yplus5_rotateY", CubeListBuilder.create().texOffs(62, 23).addBox(-5.0F, -22.0F, -8.0F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.0F, 0.0F));
-
- PartDefinition bone111 = rotor_zminus3_yplus5_rotateY.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(62, 23).addBox(-5.0F, -22.0F, -8.0F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone112 = bone111.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(62, 23).addBox(-5.0F, -22.0F, -8.0F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition panels = partdefinition.addOrReplaceChild("panels", CubeListBuilder.create(), PartPose.offset(0.0F, 25.0F, 0.0F));
-
- PartDefinition North = panels.addOrReplaceChild("North", CubeListBuilder.create(), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone148 = North.addOrReplaceChild("bone148", CubeListBuilder.create().texOffs(88, 46).addBox(1.0F, -0.75F, 6.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(88, 46).addBox(-2.75F, -0.75F, 6.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(61, 55).addBox(-3.5F, -0.1F, 5.75F, 8.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 39).addBox(-1.0F, -0.75F, 1.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 87).addBox(-5.25F, -0.025F, 1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(14, 47).addBox(1.25F, -0.125F, 3.25F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(82, 54).addBox(0.75F, -0.025F, 3.0F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(77, 8).addBox(0.25F, -0.075F, 1.25F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition gauge1 = bone148.addOrReplaceChild("gauge1", CubeListBuilder.create().texOffs(13, 73).addBox(-0.25F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.35F, 8.0F, 0.0F, 2.1817F, 0.0F));
-
- PartDefinition gauge2 = bone148.addOrReplaceChild("gauge2", CubeListBuilder.create().texOffs(13, 73).addBox(-0.25F, -0.5F, -0.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.25F, -0.35F, 8.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bigLever1 = bone148.addOrReplaceChild("bigLever1", CubeListBuilder.create().texOffs(88, 51).addBox(-1.5F, -2.75F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(41, 90).addBox(-1.5F, -2.25F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(-3.75F, 0.475F, 2.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition smallLever1 = bone148.addOrReplaceChild("smallLever1", CubeListBuilder.create().texOffs(0, 15).addBox(-0.5F, -2.625F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(6, 39).addBox(-0.5F, -2.875F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.125F, 3.0F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition North_left = panels.addOrReplaceChild("North_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone114 = North_left.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(0, 65).addBox(-6.5F, -0.25F, 1.5F, 5.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(31, 25).addBox(-4.75F, -0.05F, 1.5F, 11.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(88, 12).addBox(0.5F, -0.75F, 5.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(82, 87).addBox(0.75F, -0.85F, 5.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 39).addBox(-1.0F, -0.75F, 2.5F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(87, 79).addBox(-6.25F, -0.35F, 1.75F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 73).addBox(-4.5F, -0.35F, 1.75F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition smallLever2 = bone114.addOrReplaceChild("smallLever2", CubeListBuilder.create().texOffs(0, 15).addBox(-0.5F, -2.625F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(6, 39).addBox(-0.5F, -2.875F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.125F, 4.0F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone119 = bone114.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(76, 61).addBox(-3.0F, 0.0F, -3.0F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 81).addBox(-2.5F, -0.025F, -2.75F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(28, 84).addBox(-2.0F, -0.125F, -2.5F, 5.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, 0.0F, 4.5F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone115 = bone114.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, -8.5F, 2.5F, 3.0F, 6.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(50, 91).addBox(-1.0F, -9.5F, 3.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, 6.5F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(34, 66).addBox(-0.5F, -1.0F, -1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -5.5F, 2.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition South_left = panels.addOrReplaceChild("South_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone120 = South_left.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(69, 87).addBox(-4.0F, -0.75F, 5.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(10, 87).addBox(-5.0F, -0.25F, 3.75F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(75, 2).addBox(-6.0F, -0.025F, 0.75F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(24, 35).addBox(-0.75F, -0.025F, 1.25F, 2.0F, 1.0F, 7.0F, new CubeDeformation(0.0F))
- .texOffs(82, 54).addBox(1.5F, -0.025F, 1.25F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(14, 47).addBox(2.0F, -0.125F, 1.5F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 87).addBox(1.75F, -0.025F, 4.25F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(19, 59).addBox(-2.0F, -0.525F, 1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 35).addBox(-0.25F, -0.525F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(19, 59).addBox(-6.0F, -0.525F, 1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bigLever = bone120.addOrReplaceChild("bigLever", CubeListBuilder.create().texOffs(88, 51).addBox(-1.5F, -2.75F, -0.5F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(41, 90).addBox(-1.5F, -2.25F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F)), PartPose.offsetAndRotation(3.25F, 0.475F, 5.75F, -0.9163F, 0.0F, 0.0F));
-
- PartDefinition button2 = bone120.addOrReplaceChild("button2", CubeListBuilder.create().texOffs(90, 0).addBox(-3.5F, -18.0F, -12.6F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, 16.0F, 18.6F));
-
- PartDefinition bone124 = bone120.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(28, 47).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5F, -0.025F, 2.0F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition South = panels.addOrReplaceChild("South", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone127 = South.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(18, 68).addBox(0.75F, -1.025F, 1.25F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(45, 77).addBox(-2.75F, -0.075F, 1.25F, 3.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(61, 35).addBox(-6.0F, -0.075F, 0.75F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(24, 38).addBox(-6.75F, -0.575F, 1.25F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 33).addBox(-4.25F, -0.175F, 2.0F, 1.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 22).addBox(-3.0F, -0.225F, 1.75F, 3.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(58, 80).addBox(1.25F, -1.125F, 1.75F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition smallLever = bone127.addOrReplaceChild("smallLever", CubeListBuilder.create().texOffs(0, 15).addBox(-3.75F, -2.625F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(6, 39).addBox(-3.75F, -2.875F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -0.125F, 3.75F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition reallysmallLever = bone127.addOrReplaceChild("reallysmallLever", CubeListBuilder.create().texOffs(19, 55).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.0F, -0.575F, 2.25F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone131 = bone127.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(0, 39).addBox(-4.25F, -16.75F, -16.1F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.0F, 18.35F));
-
- PartDefinition bone121 = bone127.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(50, 6).addBox(-5.0F, 0.0F, -3.0F, 10.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(56, 86).addBox(-3.5F, -0.025F, -2.25F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(84, 41).addBox(-3.6F, -0.125F, -2.0F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 47).addBox(-3.25F, -1.525F, -2.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.25F, 10.75F, -0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(11, 91).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.025F, -2.75F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition button = bone122.addOrReplaceChild("button", CubeListBuilder.create().texOffs(90, 0).addBox(1.5F, -16.525F, -10.6F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F)), PartPose.offset(-2.5F, 15.775F, 10.6F));
-
- PartDefinition South_right = panels.addOrReplaceChild("South_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition bone117 = South_right.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(42, 55).addBox(-7.0F, -0.075F, 1.75F, 6.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 15).addBox(4.0F, -0.325F, -0.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(69, 17).addBox(-0.5F, -0.825F, 3.75F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(36, 35).addBox(4.5F, -0.325F, 4.75F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(80, 31).addBox(-5.25F, -0.325F, 4.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition switches = bone117.addOrReplaceChild("switches", CubeListBuilder.create().texOffs(19, 52).addBox(-3.0F, 0.0F, 0.0F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.25F, -0.075F, 2.25F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition dial1 = bone117.addOrReplaceChild("dial1", CubeListBuilder.create().texOffs(24, 33).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.75F, -0.575F, 5.75F, -0.3054F, 0.0F, 0.0F));
-
- PartDefinition dial2 = bone117.addOrReplaceChild("dial2", CubeListBuilder.create().texOffs(24, 33).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -0.575F, 5.75F, 0.5672F, 0.0F, 0.0F));
-
- PartDefinition dial3 = bone117.addOrReplaceChild("dial3", CubeListBuilder.create().texOffs(24, 33).addBox(-0.5F, -1.0F, -1.0F, 1.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.25F, -0.575F, 5.75F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition smallLever3 = bone117.addOrReplaceChild("smallLever3", CubeListBuilder.create().texOffs(10, 15).addBox(0.0F, -2.25F, -0.25F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(36, 39).addBox(-0.5F, -3.25F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(5.0F, 0.175F, 5.75F, -0.7854F, 0.0F, 0.0F));
-
- PartDefinition keyboard = bone117.addOrReplaceChild("keyboard", CubeListBuilder.create().texOffs(50, 0).addBox(-5.0F, 0.0F, -4.0F, 10.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(65, 12).addBox(-4.0F, -0.1F, -3.75F, 8.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.25F, 1.5F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone128 = bone117.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(84, 17).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -0.825F, 7.75F, 0.829F, 0.0F, 0.0F));
-
- PartDefinition North_right = panels.addOrReplaceChild("North_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone136 = North_right.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(77, 8).addBox(-0.25F, -0.075F, 1.25F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(83, 73).addBox(-4.25F, -0.075F, 1.0F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(75, 82).addBox(-4.25F, -0.275F, 1.5F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(80, 37).addBox(-4.0F, -0.075F, 4.25F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(24, 23).addBox(-3.5F, -1.075F, 6.0F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition smallLever4 = bone136.addOrReplaceChild("smallLever4", CubeListBuilder.create().texOffs(0, 15).addBox(-3.75F, -2.625F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(6, 39).addBox(-3.75F, -2.875F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.25F, -0.125F, 3.25F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone125 = bone136.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(35, 55).addBox(2.0F, -17.325F, -15.1F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(71, 75).addBox(1.5F, -16.575F, -15.6F, 3.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 16.0F, 18.6F));
-
- PartDefinition bone140 = bone136.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(0, 39).addBox(-4.25F, -16.75F, -16.1F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.75F, 16.0F, 17.85F));
-
- PartDefinition bone139 = bone136.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(0, 10).addBox(-2.25F, 0.0F, 0.0F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.25F, -0.075F, 5.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.5F, -0.825F, 8.0F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(70, 31).addBox(0.0F, 0.0F, 0.0F, 3.0F, 0.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition console = partdefinition.addOrReplaceChild("console", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone85 = console.addOrReplaceChild("bone85", CubeListBuilder.create(), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone73 = bone85.addOrReplaceChild("bone73", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 4.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone79 = bone73.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(0, 47).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -19.0F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(0, 47).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -19.0F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone76 = bone74.addOrReplaceChild("bone76", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(0, 47).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -19.0F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone78 = bone76.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone80 = bone78.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(0, 47).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -19.0F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone81 = bone78.addOrReplaceChild("bone81", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(0, 47).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -19.0F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone83 = bone81.addOrReplaceChild("bone83", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone84 = bone83.addOrReplaceChild("bone84", CubeListBuilder.create().texOffs(0, 47).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -19.0F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone92 = bone85.addOrReplaceChild("bone92", CubeListBuilder.create(), PartPose.offset(0.0F, 5.0F, 0.0F));
-
- PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(34, 46).addBox(-8.0F, 0.0F, 0.0F, 17.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -12.0F, -15.6F, 1.1345F, 0.0F, 0.0F));
-
- PartDefinition bone94 = bone92.addOrReplaceChild("bone94", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(34, 46).addBox(-8.0F, 0.0F, 0.0F, 17.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -12.0F, -15.6F, 1.1345F, 0.0F, 0.0F));
-
- PartDefinition bone96 = bone94.addOrReplaceChild("bone96", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(34, 46).addBox(-8.0F, 0.0F, 0.0F, 17.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -12.0F, -15.6F, 1.1345F, 0.0F, 0.0F));
-
- PartDefinition bone98 = bone96.addOrReplaceChild("bone98", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(34, 46).addBox(-8.0F, 0.0F, 0.0F, 17.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -12.0F, -15.6F, 1.1345F, 0.0F, 0.0F));
-
- PartDefinition bone100 = bone98.addOrReplaceChild("bone100", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(34, 46).addBox(-8.0F, 0.0F, 0.0F, 17.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -12.0F, -15.6F, 1.1345F, 0.0F, 0.0F));
-
- PartDefinition bone102 = bone100.addOrReplaceChild("bone102", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(34, 46).addBox(-8.0F, 0.0F, 0.0F, 17.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.5F, -12.0F, -15.6F, 1.1345F, 0.0F, 0.0F));
-
- PartDefinition bone55 = bone85.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(28, 89).addBox(-2.0F, -11.0F, -9.475F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -7.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone56 = bone55.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(28, 89).addBox(-2.0F, -11.0F, -9.475F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone57 = bone56.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(28, 89).addBox(-2.0F, -11.0F, -9.475F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(28, 89).addBox(-2.0F, -11.0F, -9.475F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(28, 89).addBox(-2.0F, -11.0F, -9.475F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone60 = bone59.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(28, 89).addBox(-2.0F, -11.0F, -9.475F, 4.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone49 = bone85.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(76, 67).addBox(-3.0F, -11.0F, -9.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -7.0F, 0.0F));
-
- PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(76, 67).addBox(-3.0F, -11.0F, -9.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone51 = bone50.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(76, 67).addBox(-3.0F, -11.0F, -9.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(76, 67).addBox(-3.0F, -11.0F, -9.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(76, 67).addBox(-3.0F, -11.0F, -9.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(76, 67).addBox(-3.0F, -11.0F, -9.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone25 = bone85.addOrReplaceChild("bone25", CubeListBuilder.create(), PartPose.offset(0.0F, 1.0F, 0.0F));
-
- PartDefinition bone31 = bone25.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone32 = bone26.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone29 = bone27.addOrReplaceChild("bone29", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone33 = bone29.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone35 = bone33.addOrReplaceChild("bone35", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -11.0F, -18.6F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone13 = bone85.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone19 = bone13.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 15).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 2.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -22.0F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone20 = bone14.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(0, 15).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 2.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -22.0F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(0, 15).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 2.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -22.0F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone17 = bone15.addOrReplaceChild("bone17", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 15).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 2.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -22.0F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone21 = bone17.addOrReplaceChild("bone21", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(0, 15).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 2.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -22.0F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone23 = bone21.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 15).addBox(-2.0F, 0.0F, 0.0F, 4.0F, 2.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -22.0F, 0.48F, 0.0F, 0.0F));
-
- PartDefinition bone7 = bone85.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(28, 75).addBox(-2.0F, -12.0F, -22.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(28, 75).addBox(-2.0F, -12.0F, -22.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(28, 75).addBox(-2.0F, -12.0F, -22.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(28, 75).addBox(-2.0F, -12.0F, -22.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(28, 75).addBox(-2.0F, -12.0F, -22.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(28, 75).addBox(-2.0F, -12.0F, -22.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone86 = bone85.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(71, 43).addBox(-2.0F, -14.0F, -11.35F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 14.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(71, 43).addBox(-2.0F, -14.0F, -11.35F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone88 = bone87.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(71, 43).addBox(-2.0F, -14.0F, -11.35F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(71, 43).addBox(-2.0F, -14.0F, -11.35F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(71, 43).addBox(-2.0F, -14.0F, -11.35F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(71, 43).addBox(-2.0F, -14.0F, -11.35F, 4.0F, 6.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone104 = bone85.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(42, 63).addBox(-4.0F, -20.0F, -10.0F, 8.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 14.0F, 0.0F));
-
- PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(42, 63).addBox(-4.0F, -20.0F, -10.0F, 8.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(42, 63).addBox(-4.0F, -20.0F, -10.0F, 8.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(42, 63).addBox(-4.0F, -20.0F, -10.0F, 8.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(42, 63).addBox(-4.0F, -20.0F, -10.0F, 8.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(42, 63).addBox(-4.0F, -20.0F, -10.0F, 8.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone142 = bone85.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(35, 35).addBox(-4.0F, -9.0F, -9.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 14.0F, 0.0F));
-
- PartDefinition bone143 = bone142.addOrReplaceChild("bone143", CubeListBuilder.create().texOffs(35, 35).addBox(-4.0F, -9.0F, -9.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(35, 35).addBox(-4.0F, -9.0F, -9.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone145 = bone144.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(35, 35).addBox(-4.0F, -9.0F, -9.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(35, 35).addBox(-4.0F, -9.0F, -9.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone147 = bone146.addOrReplaceChild("bone147", CubeListBuilder.create().texOffs(35, 35).addBox(-4.0F, -9.0F, -9.0F, 8.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone = bone85.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(24, 15).addBox(-9.0F, -11.0F, -19.6F, 18.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 1.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(24, 15).addBox(-9.0F, -11.0F, -19.6F, 18.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(24, 15).addBox(-9.0F, -11.0F, -19.6F, 18.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(24, 15).addBox(-9.0F, -11.0F, -19.6F, 18.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(24, 15).addBox(-9.0F, -11.0F, -19.6F, 18.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(24, 15).addBox(-9.0F, -11.0F, -19.6F, 18.0F, 3.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = partdefinition.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(19, 75).addBox(-1.0F, -23.0F, -8.0F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 10.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(19, 75).addBox(-1.0F, -23.0F, -8.0F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(19, 75).addBox(-1.0F, -23.0F, -8.0F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(19, 75).addBox(-1.0F, -23.0F, -8.0F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(19, 75).addBox(-1.0F, -23.0F, -8.0F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(19, 75).addBox(-1.0F, -23.0F, -8.0F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43 = partdefinition.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(61, 63).addBox(-3.0F, -23.0F, -7.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 10.0F, 0.0F));
-
- PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(61, 63).addBox(-3.0F, -23.0F, -7.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(61, 63).addBox(-3.0F, -23.0F, -7.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(61, 63).addBox(-3.0F, -23.0F, -7.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(85, 23).addBox(-2.5F, -21.5F, -7.35F, 5.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(43, 84).addBox(-2.5F, -16.5F, -7.35F, 5.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(61, 63).addBox(-3.0F, -23.0F, -7.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(61, 63).addBox(-3.0F, -23.0F, -7.0F, 6.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone67 = partdefinition.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(0, 33).addBox(-3.0F, -10.0F, -9.175F, 6.0F, 2.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -5.0F, 0.0F));
-
- PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(0, 33).addBox(-3.0F, -10.0F, -9.175F, 6.0F, 2.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(0, 33).addBox(-3.0F, -10.0F, -9.175F, 6.0F, 2.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(0, 33).addBox(-3.0F, -10.0F, -9.175F, 6.0F, 2.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(0, 33).addBox(-3.0F, -10.0F, -9.175F, 6.0F, 2.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone72 = bone71.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(0, 33).addBox(-3.0F, -10.0F, -9.175F, 6.0F, 2.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone61 = partdefinition.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(19, 55).addBox(-2.0F, -11.0F, -9.5F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone62 = bone61.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(19, 55).addBox(-2.0F, -11.0F, -9.5F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(19, 55).addBox(-2.0F, -11.0F, -9.5F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(19, 55).addBox(-2.0F, -11.0F, -9.5F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(19, 55).addBox(-2.0F, -11.0F, -9.5F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create().texOffs(19, 55).addBox(-2.0F, -11.0F, -9.5F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
@@ -489,8 +102,4 @@ public ResourceLocation getDefaultTexture() {
return NUKA_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.NUKA.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/RefurbishedConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/RefurbishedConsoleModel.java
index 8720caf7..1a092b8a 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/RefurbishedConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/RefurbishedConsoleModel.java
@@ -2,6 +2,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
import net.minecraft.client.animation.AnimationDefinition;
import net.minecraft.client.model.HierarchicalModel;
@@ -14,7 +15,6 @@
import whocraft.tardis_refined.TRConfig;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TardisClientData;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
@@ -27,1185 +27,17 @@ public class RefurbishedConsoleModel extends HierarchicalModel implements Consol
private final ModelPart throttle;
private final ModelPart handbrake;
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/refurbished/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/refurbished/flight.json"));
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/refurbished/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/refurbished/flight.json"));
public RefurbishedConsoleModel(ModelPart root) {
this.root = root;
- this.throttle = (ModelPart) getAnyDescendantWithName("throttle").get();
- this.handbrake = (ModelPart) getAnyDescendantWithName("bone309").get();
+ this.throttle = Frame.findPart(this, "throttle");
+ this.handbrake = Frame.findPart(this, "bone309");
}
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create(), PartPose.offset(0.0F, 24.5F, 0.0F));
-
- PartDefinition console = root.addOrReplaceChild("console", CubeListBuilder.create(), PartPose.offset(0.0F, -2.5F, 0.0F));
-
- PartDefinition console_r1 = console.addOrReplaceChild("console_r1", CubeListBuilder.create().texOffs(80, 61).addBox(-8.0F, -0.5F, -8.0F, 16.0F, 1.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(80, 61).addBox(-8.0F, 40.5F, -8.0F, 16.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -64.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition Rotor = console.addOrReplaceChild("Rotor", CubeListBuilder.create(), PartPose.offset(0.0F, -45.0F, 0.0F));
-
- PartDefinition bone152 = Rotor.addOrReplaceChild("bone152", CubeListBuilder.create().texOffs(77, 9).addBox(-3.5F, 5.25F, 15.225F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.5F, -21.285F));
-
- PartDefinition bone153 = bone152.addOrReplaceChild("bone153", CubeListBuilder.create().texOffs(77, 9).addBox(-3.5F, 5.25F, -6.06F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create().texOffs(77, 9).addBox(-3.5F, 5.25F, -6.06F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone155 = bone154.addOrReplaceChild("bone155", CubeListBuilder.create().texOffs(77, 9).addBox(-3.5F, 5.25F, -6.06F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create().texOffs(77, 9).addBox(-3.5F, 5.25F, -6.06F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone157 = bone156.addOrReplaceChild("bone157", CubeListBuilder.create().texOffs(77, 9).addBox(-3.5F, 5.25F, -6.06F, 7.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone212 = Rotor.addOrReplaceChild("bone212", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.5F, 0.0F));
-
- PartDefinition bone213 = bone212.addOrReplaceChild("bone213", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone214 = bone213.addOrReplaceChild("bone214", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone215 = bone214.addOrReplaceChild("bone215", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone216 = bone215.addOrReplaceChild("bone216", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone217 = bone216.addOrReplaceChild("bone217", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone206 = Rotor.addOrReplaceChild("bone206", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -10.0F, 0.0F));
-
- PartDefinition bone207 = bone206.addOrReplaceChild("bone207", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone208 = bone207.addOrReplaceChild("bone208", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone209 = bone208.addOrReplaceChild("bone209", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone210 = bone209.addOrReplaceChild("bone210", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone211 = bone210.addOrReplaceChild("bone211", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone158 = Rotor.addOrReplaceChild("bone158", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.5F, 0.0F));
-
- PartDefinition bone159 = bone158.addOrReplaceChild("bone159", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone160 = bone159.addOrReplaceChild("bone160", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone161 = bone160.addOrReplaceChild("bone161", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone162 = bone161.addOrReplaceChild("bone162", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone163 = bone162.addOrReplaceChild("bone163", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone176 = Rotor.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.0F, 0.0F));
-
- PartDefinition bone177 = bone176.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone178 = bone177.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone179 = bone178.addOrReplaceChild("bone179", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone181 = bone180.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone182 = Rotor.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -17.5F, 0.0F));
-
- PartDefinition bone183 = bone182.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone184 = bone183.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone185 = bone184.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone186 = bone185.addOrReplaceChild("bone186", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone187 = bone186.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone188 = Rotor.addOrReplaceChild("bone188", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.5F, 0.0F));
-
- PartDefinition bone189 = bone188.addOrReplaceChild("bone189", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone190 = bone189.addOrReplaceChild("bone190", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone191 = bone190.addOrReplaceChild("bone191", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone192 = bone191.addOrReplaceChild("bone192", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone193 = bone192.addOrReplaceChild("bone193", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone164 = Rotor.addOrReplaceChild("bone164", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.0F, 0.0F));
-
- PartDefinition bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone167 = bone166.addOrReplaceChild("bone167", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone168 = bone167.addOrReplaceChild("bone168", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone169 = bone168.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone194 = Rotor.addOrReplaceChild("bone194", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 4.0F, 0.0F));
-
- PartDefinition bone195 = bone194.addOrReplaceChild("bone195", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone196 = bone195.addOrReplaceChild("bone196", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone197 = bone196.addOrReplaceChild("bone197", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone198 = bone197.addOrReplaceChild("bone198", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone199 = bone198.addOrReplaceChild("bone199", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone170 = Rotor.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 1.5F, 0.0F));
-
- PartDefinition bone171 = bone170.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone173 = bone172.addOrReplaceChild("bone173", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone174 = bone173.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone175 = bone174.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(49, 34).addBox(-3.0F, 6.0F, -5.21F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone200 = Rotor.addOrReplaceChild("bone200", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 6.0F, 0.0F));
-
- PartDefinition bone201 = bone200.addOrReplaceChild("bone201", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone202 = bone201.addOrReplaceChild("bone202", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone203 = bone202.addOrReplaceChild("bone203", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone204 = bone203.addOrReplaceChild("bone204", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone205 = bone204.addOrReplaceChild("bone205", CubeListBuilder.create().texOffs(49, 37).addBox(-2.5F, 6.0F, -4.31F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone60 = console.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone32 = bone60.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offset(0.0F, -21.5F, -21.285F));
-
- PartDefinition bone98 = bone32.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(0, 76).addBox(-2.0F, -5.0F, -3.75F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 8).addBox(-1.5F, -7.5F, -3.25F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 3).addBox(-1.0F, -8.0F, -2.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, 14.0F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone349 = bone98.addOrReplaceChild("bone349", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.5F, -1.75F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone99 = bone33.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(0, 76).addBox(-2.0F, -5.0F, -3.75F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 8).addBox(-1.5F, -7.5F, -3.25F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 3).addBox(-1.0F, -8.0F, -2.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -7.285F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone350 = bone99.addOrReplaceChild("bone350", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.5F, -1.75F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(0, 76).addBox(-2.0F, -5.0F, -3.75F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 8).addBox(-1.5F, -7.5F, -3.25F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 3).addBox(-1.0F, -8.0F, -2.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -7.285F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone351 = bone35.addOrReplaceChild("bone351", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.5F, -1.75F));
-
- PartDefinition bone36 = bone34.addOrReplaceChild("bone36", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(0, 76).addBox(-2.0F, -5.0F, -3.75F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 8).addBox(-1.5F, -7.5F, -3.25F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 3).addBox(-1.0F, -8.0F, -2.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -7.285F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone346 = bone37.addOrReplaceChild("bone346", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.5F, -1.75F));
-
- PartDefinition bone100 = bone36.addOrReplaceChild("bone100", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(0, 76).addBox(-2.0F, -5.0F, -3.75F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 8).addBox(-1.5F, -7.5F, -3.25F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 3).addBox(-1.0F, -8.0F, -2.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -7.285F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone347 = bone101.addOrReplaceChild("bone347", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.5F, -1.75F));
-
- PartDefinition bone102 = bone100.addOrReplaceChild("bone102", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(0, 76).addBox(-2.0F, -5.0F, -3.75F, 4.0F, 5.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 8).addBox(-1.5F, -7.5F, -3.25F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(97, 3).addBox(-1.0F, -8.0F, -2.75F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -7.285F, 0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone348 = bone103.addOrReplaceChild("bone348", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -8.5F, -1.75F));
-
- PartDefinition bone44 = bone60.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -25.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone243 = bone60.addOrReplaceChild("bone243", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -67.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone244 = bone243.addOrReplaceChild("bone244", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone245 = bone244.addOrReplaceChild("bone245", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone246 = bone245.addOrReplaceChild("bone246", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone247 = bone246.addOrReplaceChild("bone247", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone248 = bone247.addOrReplaceChild("bone248", CubeListBuilder.create().texOffs(49, 40).addBox(-0.5F, 0.5F, -8.87F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone249 = bone60.addOrReplaceChild("bone249", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -69.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone249_r1 = bone249.addOrReplaceChild("bone249_r1", CubeListBuilder.create().texOffs(91, 37).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.5F, -8.62F, 0.5454F, 0.0F, 0.0F));
-
- PartDefinition bone250 = bone249.addOrReplaceChild("bone250", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone250_r1 = bone250.addOrReplaceChild("bone250_r1", CubeListBuilder.create().texOffs(91, 37).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.5F, -8.62F, 0.5454F, 0.0F, 0.0F));
-
- PartDefinition bone251 = bone250.addOrReplaceChild("bone251", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone251_r1 = bone251.addOrReplaceChild("bone251_r1", CubeListBuilder.create().texOffs(91, 37).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.5F, -8.62F, 0.5454F, 0.0F, 0.0F));
-
- PartDefinition bone252 = bone251.addOrReplaceChild("bone252", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone252_r1 = bone252.addOrReplaceChild("bone252_r1", CubeListBuilder.create().texOffs(91, 37).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.5F, -8.62F, 0.5454F, 0.0F, 0.0F));
-
- PartDefinition bone253 = bone252.addOrReplaceChild("bone253", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone253_r1 = bone253.addOrReplaceChild("bone253_r1", CubeListBuilder.create().texOffs(91, 37).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.5F, -8.62F, 0.5454F, 0.0F, 0.0F));
-
- PartDefinition bone254 = bone253.addOrReplaceChild("bone254", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone254_r1 = bone254.addOrReplaceChild("bone254_r1", CubeListBuilder.create().texOffs(91, 37).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.5F, -8.62F, 0.5454F, 0.0F, 0.0F));
-
- PartDefinition bone123 = bone60.addOrReplaceChild("bone123", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -26.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone345 = bone123.addOrReplaceChild("bone345", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -4.6828F, 0.4833F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 1.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone345_r1 = bone345.addOrReplaceChild("bone345_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone345_r2 = bone345.addOrReplaceChild("bone345_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone124 = bone123.addOrReplaceChild("bone124", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -4.6828F, 0.4833F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 1.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone125_r1 = bone125.addOrReplaceChild("bone125_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone125_r2 = bone125.addOrReplaceChild("bone125_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone131 = bone124.addOrReplaceChild("bone131", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone132 = bone131.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -4.6828F, 0.4833F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 1.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone132_r1 = bone132.addOrReplaceChild("bone132_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone132_r2 = bone132.addOrReplaceChild("bone132_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone133 = bone131.addOrReplaceChild("bone133", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone140 = bone133.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -4.6828F, 0.4833F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 1.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone140_r1 = bone140.addOrReplaceChild("bone140_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone140_r2 = bone140.addOrReplaceChild("bone140_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone141 = bone133.addOrReplaceChild("bone141", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone142 = bone141.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -4.6828F, 0.4833F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 1.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone142_r1 = bone142.addOrReplaceChild("bone142_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone142_r2 = bone142.addOrReplaceChild("bone142_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone143 = bone141.addOrReplaceChild("bone143", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -4.6828F, 0.4833F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 1.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone144_r1 = bone144.addOrReplaceChild("bone144_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone144_r2 = bone144.addOrReplaceChild("bone144_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -1.9817F, 0.4583F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone134 = bone60.addOrReplaceChild("bone134", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -61.5F, 0.0F, 0.0F, -0.5236F, -3.1416F));
-
- PartDefinition bone135 = bone134.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -6.6354F, 0.0505F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 3.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone135_r1 = bone135.addOrReplaceChild("bone135_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone135_r2 = bone135.addOrReplaceChild("bone135_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone136 = bone134.addOrReplaceChild("bone136", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -6.6354F, 0.0505F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 3.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone137_r1 = bone137.addOrReplaceChild("bone137_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone137_r2 = bone137.addOrReplaceChild("bone137_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone138 = bone136.addOrReplaceChild("bone138", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone139 = bone138.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -6.6354F, 0.0505F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 3.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone139_r1 = bone139.addOrReplaceChild("bone139_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone139_r2 = bone139.addOrReplaceChild("bone139_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone145 = bone138.addOrReplaceChild("bone145", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -6.6354F, 0.0505F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 3.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone146_r1 = bone146.addOrReplaceChild("bone146_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone146_r2 = bone146.addOrReplaceChild("bone146_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone147 = bone145.addOrReplaceChild("bone147", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone148 = bone147.addOrReplaceChild("bone148", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -6.6354F, 0.0505F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 3.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone148_r1 = bone148.addOrReplaceChild("bone148_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone148_r2 = bone148.addOrReplaceChild("bone148_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone149 = bone147.addOrReplaceChild("bone149", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(0, 0).addBox(-2.5F, -6.6354F, 0.0505F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 3.6743F, -6.9448F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone150_r1 = bone150.addOrReplaceChild("bone150_r1", CubeListBuilder.create().texOffs(21, 53).mirror().addBox(0.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, 0.3665F));
-
- PartDefinition bone150_r2 = bone150.addOrReplaceChild("bone150_r2", CubeListBuilder.create().texOffs(21, 53).addBox(-1.0F, -3.0F, 0.05F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(2.3591F, -3.9343F, 0.0255F, 0.0F, 0.0F, -0.3665F));
-
- PartDefinition bone38 = bone60.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 1.5F, 13.35F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -26.0F, -21.285F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 1.5F, -7.935F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 1.5F, -7.935F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 1.5F, -7.935F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 1.5F, -7.935F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 1.5F, -7.935F, 8.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone321 = bone60.addOrReplaceChild("bone321", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 0.5F, 13.35F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -67.0F, -21.285F));
-
- PartDefinition bone322 = bone321.addOrReplaceChild("bone322", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 0.5F, -7.935F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone323 = bone322.addOrReplaceChild("bone323", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 0.5F, -7.935F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone324 = bone323.addOrReplaceChild("bone324", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 0.5F, -7.935F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone325 = bone324.addOrReplaceChild("bone325", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 0.5F, -7.935F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone326 = bone325.addOrReplaceChild("bone326", CubeListBuilder.create().texOffs(68, 50).addBox(-4.0F, 0.5F, -7.935F, 8.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone104 = bone60.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.5F, 16.35F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -27.0F, -21.285F));
-
- PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.5F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.5F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.5F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.5F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.5F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone110 = bone60.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, 16.35F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offset(0.0F, -62.0F, -21.285F));
-
- PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone112 = bone111.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone114 = bone113.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone115 = bone114.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, -4.935F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone116 = bone60.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(29, 53).addBox(-0.75F, -12.0F, 17.35F, 2.0F, 28.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -47.0F, -21.285F));
-
- PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(29, 53).addBox(-0.75F, -12.0F, -3.935F, 2.0F, 28.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(29, 53).addBox(-0.75F, -12.0F, -3.935F, 2.0F, 28.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone120 = bone118.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(29, 53).addBox(-0.75F, -12.0F, -3.935F, 2.0F, 28.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone121 = bone120.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(29, 53).addBox(-0.75F, -12.0F, -3.935F, 2.0F, 28.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(29, 53).addBox(-0.75F, -12.0F, -3.935F, 2.0F, 28.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone352 = bone60.addOrReplaceChild("bone352", CubeListBuilder.create().texOffs(37, 53).addBox(-1.0F, -0.5F, -0.5F, 2.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, -42.0F, -3.46F));
-
- PartDefinition bone353 = bone352.addOrReplaceChild("bone353", CubeListBuilder.create().texOffs(37, 53).addBox(-0.75F, -2.0F, -3.96F, 2.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, 1.5F, 3.46F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone354 = bone353.addOrReplaceChild("bone354", CubeListBuilder.create().texOffs(37, 53).addBox(-0.75F, -2.0F, -3.96F, 2.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone355 = bone354.addOrReplaceChild("bone355", CubeListBuilder.create().texOffs(37, 53).addBox(-0.75F, -2.0F, -3.96F, 2.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone356 = bone355.addOrReplaceChild("bone356", CubeListBuilder.create().texOffs(37, 53).addBox(-0.75F, -2.0F, -3.96F, 2.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone357 = bone356.addOrReplaceChild("bone357", CubeListBuilder.create().texOffs(37, 53).addBox(-0.75F, -2.0F, -3.96F, 2.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone50 = bone60.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offset(0.0F, -19.5F, -21.285F));
-
- PartDefinition bone = bone50.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, 10.725F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone_r1 = bone.addOrReplaceChild("bone_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone_r2 = bone.addOrReplaceChild("bone_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone51 = bone50.addOrReplaceChild("bone51", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone268 = bone51.addOrReplaceChild("bone268", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone268_r1 = bone268.addOrReplaceChild("bone268_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone268_r2 = bone268.addOrReplaceChild("bone268_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone53_r1 = bone53.addOrReplaceChild("bone53_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone53_r2 = bone53.addOrReplaceChild("bone53_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone54 = bone52.addOrReplaceChild("bone54", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone55 = bone54.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone55_r1 = bone55.addOrReplaceChild("bone55_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone55_r2 = bone55.addOrReplaceChild("bone55_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone56 = bone54.addOrReplaceChild("bone56", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone57 = bone56.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone57_r1 = bone57.addOrReplaceChild("bone57_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone57_r2 = bone57.addOrReplaceChild("bone57_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone58 = bone56.addOrReplaceChild("bone58", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone59_r1 = bone59.addOrReplaceChild("bone59_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone59_r2 = bone59.addOrReplaceChild("bone59_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone26 = bone60.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(67, 55).addBox(-5.0F, 0.5F, 10.625F, 10.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.5F, -21.285F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(67, 55).addBox(-5.0F, 0.5F, -10.66F, 10.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(67, 55).addBox(-5.0F, 0.5F, -10.66F, 10.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(67, 55).addBox(-5.0F, 0.5F, -10.66F, 10.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(67, 55).addBox(-5.0F, 0.5F, -10.66F, 10.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone31 = bone30.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(67, 55).addBox(-5.0F, 0.5F, -10.66F, 10.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone256 = bone60.addOrReplaceChild("bone256", CubeListBuilder.create().texOffs(92, 45).mirror().addBox(-7.75F, 1.45F, 6.835F, 16.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -19.2F, -21.285F));
-
- PartDefinition bone257 = bone256.addOrReplaceChild("bone257", CubeListBuilder.create().texOffs(92, 45).addBox(-8.5F, 1.6F, -15.725F, 17.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone258 = bone257.addOrReplaceChild("bone258", CubeListBuilder.create().texOffs(92, 45).addBox(-8.5F, 1.6F, -15.725F, 17.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone259 = bone258.addOrReplaceChild("bone259", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone260 = bone259.addOrReplaceChild("bone260", CubeListBuilder.create().texOffs(92, 45).addBox(-8.5F, 1.6F, -15.725F, 17.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone261 = bone260.addOrReplaceChild("bone261", CubeListBuilder.create().texOffs(92, 45).addBox(-8.25F, 1.45F, -14.45F, 16.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone262 = bone60.addOrReplaceChild("bone262", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -19.2F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone262_r1 = bone262.addOrReplaceChild("bone262_r1", CubeListBuilder.create().texOffs(122, 101).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.6105F, -17.6117F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone263 = bone262.addOrReplaceChild("bone263", CubeListBuilder.create().texOffs(0, 40).addBox(-0.5F, 1.6F, -17.875F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone264 = bone263.addOrReplaceChild("bone264", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone264_r1 = bone264.addOrReplaceChild("bone264_r1", CubeListBuilder.create().texOffs(122, 101).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.6105F, -17.6117F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone265 = bone264.addOrReplaceChild("bone265", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone265_r1 = bone265.addOrReplaceChild("bone265_r1", CubeListBuilder.create().texOffs(122, 101).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.6105F, -17.6117F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone266 = bone265.addOrReplaceChild("bone266", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone266_r1 = bone266.addOrReplaceChild("bone266_r1", CubeListBuilder.create().texOffs(122, 101).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.6105F, -17.6117F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone267 = bone266.addOrReplaceChild("bone267", CubeListBuilder.create().texOffs(0, 40).addBox(-0.5F, 1.45F, -16.375F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone20 = bone60.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(5, 53).addBox(-1.0F, 0.5F, -11.728F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(5, 53).addBox(-1.0F, 0.5F, -11.728F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(5, 53).addBox(-1.0F, 0.5F, -11.728F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(5, 53).addBox(-1.0F, 0.5F, -11.728F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(5, 53).addBox(-1.0F, 0.5F, -11.728F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone25 = bone24.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(5, 53).addBox(-1.0F, 0.5F, -11.728F, 2.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone275 = bone60.addOrReplaceChild("bone275", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -22.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone275_r1 = bone275.addOrReplaceChild("bone275_r1", CubeListBuilder.create().texOffs(19, 76).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 3.5F, -11.478F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone282 = bone275.addOrReplaceChild("bone282", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone282_r1 = bone282.addOrReplaceChild("bone282_r1", CubeListBuilder.create().texOffs(19, 76).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 3.5F, -11.478F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone296 = bone282.addOrReplaceChild("bone296", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone296_r1 = bone296.addOrReplaceChild("bone296_r1", CubeListBuilder.create().texOffs(19, 76).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 3.5F, -11.478F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone297 = bone296.addOrReplaceChild("bone297", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone297_r1 = bone297.addOrReplaceChild("bone297_r1", CubeListBuilder.create().texOffs(19, 76).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 3.5F, -11.478F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone298 = bone297.addOrReplaceChild("bone298", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone298_r1 = bone298.addOrReplaceChild("bone298_r1", CubeListBuilder.create().texOffs(19, 76).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 3.5F, -11.478F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone299 = bone298.addOrReplaceChild("bone299", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone299_r1 = bone299.addOrReplaceChild("bone299_r1", CubeListBuilder.create().texOffs(19, 76).addBox(-1.0F, -6.0F, 0.0F, 2.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 3.5F, -11.478F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone255 = bone60.addOrReplaceChild("bone255", CubeListBuilder.create(), PartPose.offset(0.0F, 5.0F, 0.0F));
-
- PartDefinition bone225 = bone255.addOrReplaceChild("bone225", CubeListBuilder.create().texOffs(0, 31).addBox(-1.0F, -4.5F, -11.728F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -78.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone226 = bone225.addOrReplaceChild("bone226", CubeListBuilder.create().texOffs(0, 31).addBox(-1.0F, -4.5F, -11.728F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone227 = bone226.addOrReplaceChild("bone227", CubeListBuilder.create().texOffs(0, 31).addBox(-1.0F, -4.5F, -11.728F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone228 = bone227.addOrReplaceChild("bone228", CubeListBuilder.create().texOffs(0, 31).addBox(-1.0F, -4.5F, -11.728F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone229 = bone228.addOrReplaceChild("bone229", CubeListBuilder.create().texOffs(0, 31).addBox(-1.0F, -4.5F, -11.728F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone230 = bone229.addOrReplaceChild("bone230", CubeListBuilder.create().texOffs(0, 31).addBox(-1.0F, -4.5F, -11.728F, 2.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone219 = bone255.addOrReplaceChild("bone219", CubeListBuilder.create().texOffs(36, 60).addBox(-5.0F, -4.5F, 10.625F, 10.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -78.5F, -21.285F));
-
- PartDefinition bone220 = bone219.addOrReplaceChild("bone220", CubeListBuilder.create().texOffs(36, 60).addBox(-5.0F, -4.5F, -10.66F, 10.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone221 = bone220.addOrReplaceChild("bone221", CubeListBuilder.create().texOffs(36, 60).addBox(-5.0F, -4.5F, -10.66F, 10.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone222 = bone221.addOrReplaceChild("bone222", CubeListBuilder.create().texOffs(36, 60).addBox(-5.0F, -4.5F, -10.66F, 10.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone223 = bone222.addOrReplaceChild("bone223", CubeListBuilder.create().texOffs(36, 60).addBox(-5.0F, -4.5F, -10.66F, 10.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone224 = bone223.addOrReplaceChild("bone224", CubeListBuilder.create().texOffs(36, 60).addBox(-5.0F, -4.5F, -10.66F, 10.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone327 = bone255.addOrReplaceChild("bone327", CubeListBuilder.create().texOffs(90, 19).addBox(-5.5F, -4.5F, 11.625F, 11.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -78.5F, -21.285F));
-
- PartDefinition bone328 = bone327.addOrReplaceChild("bone328", CubeListBuilder.create().texOffs(90, 19).addBox(-5.5F, -4.5F, -9.66F, 11.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone329 = bone328.addOrReplaceChild("bone329", CubeListBuilder.create().texOffs(90, 19).addBox(-5.5F, -4.5F, -9.66F, 11.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone330 = bone329.addOrReplaceChild("bone330", CubeListBuilder.create().texOffs(90, 19).addBox(-5.5F, -4.5F, -9.66F, 11.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone331 = bone330.addOrReplaceChild("bone331", CubeListBuilder.create().texOffs(90, 19).addBox(-5.5F, -4.5F, -9.66F, 11.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone332 = bone331.addOrReplaceChild("bone332", CubeListBuilder.create().texOffs(90, 19).addBox(-5.5F, -4.5F, -9.66F, 11.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone231 = bone255.addOrReplaceChild("bone231", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -75.5F, 0.0F, 0.0F, 0.0F, -3.1416F));
-
- PartDefinition bone232 = bone231.addOrReplaceChild("bone232", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(142, 204).addBox(-2.5F, -4.0125F, -0.9783F, 5.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone232_r1 = bone232.addOrReplaceChild("bone232_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone232_r2 = bone232.addOrReplaceChild("bone232_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone233 = bone231.addOrReplaceChild("bone233", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone234 = bone233.addOrReplaceChild("bone234", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(142, 204).addBox(-2.5F, -4.0125F, -0.9783F, 5.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone234_r1 = bone234.addOrReplaceChild("bone234_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone234_r2 = bone234.addOrReplaceChild("bone234_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone235 = bone233.addOrReplaceChild("bone235", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone236 = bone235.addOrReplaceChild("bone236", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(142, 204).addBox(-2.5F, -4.0125F, -0.9783F, 5.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone236_r1 = bone236.addOrReplaceChild("bone236_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone236_r2 = bone236.addOrReplaceChild("bone236_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone237 = bone235.addOrReplaceChild("bone237", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone238 = bone237.addOrReplaceChild("bone238", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(142, 204).addBox(-2.5F, -4.0125F, -0.9783F, 5.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone238_r1 = bone238.addOrReplaceChild("bone238_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone238_r2 = bone238.addOrReplaceChild("bone238_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone239 = bone237.addOrReplaceChild("bone239", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone240 = bone239.addOrReplaceChild("bone240", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(142, 204).addBox(-2.5F, -4.0125F, -0.9783F, 5.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone240_r1 = bone240.addOrReplaceChild("bone240_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone240_r2 = bone240.addOrReplaceChild("bone240_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone241 = bone239.addOrReplaceChild("bone241", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone242 = bone241.addOrReplaceChild("bone242", CubeListBuilder.create().texOffs(36, 75).addBox(-5.0F, -6.0125F, 0.0217F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(142, 204).addBox(-2.5F, -4.0125F, -0.9783F, 5.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.5F, -10.56F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone242_r1 = bone242.addOrReplaceChild("bone242_r1", CubeListBuilder.create().texOffs(7, 31).addBox(0.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.1833F));
-
- PartDefinition bone242_r2 = bone242.addOrReplaceChild("bone242_r2", CubeListBuilder.create().texOffs(7, 31).mirror().addBox(-1.0F, -6.0F, 0.0F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(5.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.1833F));
-
- PartDefinition bone68 = console.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(176, 85).addBox(-7.0F, 1.5F, 8.175F, 14.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.5F, -21.285F));
-
- PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(176, 85).addBox(-7.0F, 1.5F, -13.11F, 14.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(176, 85).addBox(-7.0F, 1.5F, -13.11F, 14.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(176, 85).addBox(-7.0F, 1.5F, -13.11F, 14.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone72 = bone71.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(176, 85).addBox(-7.0F, 1.5F, -13.11F, 14.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(176, 85).addBox(-7.0F, 1.5F, -13.11F, 14.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone92 = console.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(16, 53).addBox(-0.5F, 0.5F, -14.85F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(16, 53).addBox(-0.5F, 0.5F, -14.85F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(16, 53).addBox(-0.5F, 0.5F, -14.85F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(16, 53).addBox(-0.5F, 0.5F, -14.85F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(16, 53).addBox(-0.5F, 0.5F, -14.85F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(16, 53).addBox(-0.5F, 0.5F, -14.85F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone333 = console.addOrReplaceChild("bone333", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -1.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone333_r1 = bone333.addOrReplaceChild("bone333_r1", CubeListBuilder.create().texOffs(16, 57).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -11.1F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition bone334 = bone333.addOrReplaceChild("bone334", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone334_r1 = bone334.addOrReplaceChild("bone334_r1", CubeListBuilder.create().texOffs(16, 57).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -11.1F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition bone335 = bone334.addOrReplaceChild("bone335", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone335_r1 = bone335.addOrReplaceChild("bone335_r1", CubeListBuilder.create().texOffs(16, 57).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -11.1F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition bone336 = bone335.addOrReplaceChild("bone336", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone336_r1 = bone336.addOrReplaceChild("bone336_r1", CubeListBuilder.create().texOffs(16, 57).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -11.1F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition bone337 = bone336.addOrReplaceChild("bone337", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone337_r1 = bone337.addOrReplaceChild("bone337_r1", CubeListBuilder.create().texOffs(16, 57).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -11.1F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition bone338 = bone337.addOrReplaceChild("bone338", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone338_r1 = bone338.addOrReplaceChild("bone338_r1", CubeListBuilder.create().texOffs(16, 57).addBox(-1.0F, -8.0F, 0.0F, 2.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -11.1F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition bone74 = console.addOrReplaceChild("bone74", CubeListBuilder.create(), PartPose.offset(0.0F, -1.5F, -21.285F));
-
- PartDefinition bone74_r1 = bone74.addOrReplaceChild("bone74_r1", CubeListBuilder.create().texOffs(139, 39).addBox(-5.0F, -9.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, 11.625F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone75_r1 = bone75.addOrReplaceChild("bone75_r1", CubeListBuilder.create().texOffs(139, 39).addBox(-5.0F, -9.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -9.66F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone76_r1 = bone76.addOrReplaceChild("bone76_r1", CubeListBuilder.create().texOffs(139, 39).addBox(-5.0F, -9.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -9.66F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone77_r1 = bone77.addOrReplaceChild("bone77_r1", CubeListBuilder.create().texOffs(139, 39).addBox(-5.0F, -9.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -9.66F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone78_r1 = bone78.addOrReplaceChild("bone78_r1", CubeListBuilder.create().texOffs(139, 39).addBox(-5.0F, -9.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -9.66F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone79_r1 = bone79.addOrReplaceChild("bone79_r1", CubeListBuilder.create().texOffs(139, 39).addBox(-5.0F, -9.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 3.5F, -9.66F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone339 = console.addOrReplaceChild("bone339", CubeListBuilder.create().texOffs(160, 42).addBox(-5.0F, 2.5F, 11.625F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -1.5F, -21.285F));
-
- PartDefinition bone340 = bone339.addOrReplaceChild("bone340", CubeListBuilder.create().texOffs(160, 42).addBox(-5.0F, 2.5F, -9.66F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone341 = bone340.addOrReplaceChild("bone341", CubeListBuilder.create().texOffs(160, 42).addBox(-5.0F, 2.5F, -9.66F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone342 = bone341.addOrReplaceChild("bone342", CubeListBuilder.create().texOffs(160, 42).addBox(-5.0F, 2.5F, -9.66F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone343 = bone342.addOrReplaceChild("bone343", CubeListBuilder.create().texOffs(160, 42).addBox(-5.0F, 2.5F, -9.66F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone344 = bone343.addOrReplaceChild("bone344", CubeListBuilder.create().texOffs(160, 42).addBox(-5.0F, 2.5F, -9.66F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone218 = console.addOrReplaceChild("bone218", CubeListBuilder.create(), PartPose.offset(0.0F, 0.75F, 0.0F));
-
- PartDefinition bone62 = bone218.addOrReplaceChild("bone62", CubeListBuilder.create(), PartPose.offset(0.0F, -13.5F, -21.285F));
-
- PartDefinition bone62_r1 = bone62.addOrReplaceChild("bone62_r1", CubeListBuilder.create().texOffs(23, 202).addBox(-7.25F, 0.0F, 0.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.75F, -5.0F, 7.835F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone63_r1 = bone63.addOrReplaceChild("bone63_r1", CubeListBuilder.create().texOffs(0, 31).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.6042F, -15.4837F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone64_r1 = bone64.addOrReplaceChild("bone64_r1", CubeListBuilder.create().texOffs(0, 31).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.6042F, -15.4837F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone66_r1 = bone66.addOrReplaceChild("bone66_r1", CubeListBuilder.create().texOffs(0, 31).addBox(-9.0F, 0.0F, 0.0F, 18.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.6042F, -15.4837F, -0.2618F, 0.0F, 0.0F));
-
- PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone67_r1 = bone67.addOrReplaceChild("bone67_r1", CubeListBuilder.create().texOffs(23, 202).mirror().addBox(-6.75F, 0.0F, 0.0F, 14.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.75F, -5.0F, -13.45F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone8 = bone218.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offset(0.0F, -13.5F, -21.285F));
-
- PartDefinition bone295 = bone8.addOrReplaceChild("bone295", CubeListBuilder.create().texOffs(134, 24).addBox(-14.5F, 0.0F, 0.0F, 29.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -4.455F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone295_r1 = bone295.addOrReplaceChild("bone295_r1", CubeListBuilder.create().texOffs(73, 82).mirror().addBox(-1.5F, 0.025F, 11.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 82).mirror().addBox(-1.5F, 0.025F, 4.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(14.5F, 0.0F, 0.0F, 0.0F, -0.48F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 21.285F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone9_r1 = bone9.addOrReplaceChild("bone9_r1", CubeListBuilder.create().texOffs(161, 62).addBox(-14.5F, 0.0F, 0.0F, 29.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10_r1 = bone10.addOrReplaceChild("bone10_r1", CubeListBuilder.create().texOffs(161, 62).mirror().addBox(-14.5F, 0.0F, 0.0F, 29.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone274 = bone11.addOrReplaceChild("bone274", CubeListBuilder.create().texOffs(134, 24).addBox(-14.5F, 0.0F, 0.0F, 29.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone274_r1 = bone274.addOrReplaceChild("bone274_r1", CubeListBuilder.create().texOffs(73, 82).mirror().addBox(-1.5F, 0.025F, 4.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 82).mirror().addBox(-1.5F, 0.025F, 11.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(14.5F, 0.0F, 0.0F, 0.0F, -0.48F, 0.0F));
-
- PartDefinition bone274_r2 = bone274.addOrReplaceChild("bone274_r2", CubeListBuilder.create().texOffs(73, 82).addBox(-0.5F, 0.025F, 11.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(73, 82).addBox(-0.5F, 0.025F, 4.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-14.5F, 0.0F, 0.0F, 0.0F, 0.48F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12_r1 = bone12.addOrReplaceChild("bone12_r1", CubeListBuilder.create().texOffs(0, 18).addBox(-14.5F, 0.0F, 0.0F, 29.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone13 = bone12.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone288 = bone13.addOrReplaceChild("bone288", CubeListBuilder.create().texOffs(134, 24).addBox(-14.5F, 0.0F, 0.0F, 29.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone288_r1 = bone288.addOrReplaceChild("bone288_r1", CubeListBuilder.create().texOffs(73, 82).addBox(-0.5F, 0.025F, 11.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(73, 82).addBox(-0.5F, 0.025F, 4.0F, 2.0F, 3.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-14.5F, 0.0F, 0.0F, 0.0F, 0.48F, 0.0F));
-
- PartDefinition bone14 = bone218.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone14_r1 = bone14.addOrReplaceChild("bone14_r1", CubeListBuilder.create().texOffs(0, 53).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -29.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone313 = bone15.addOrReplaceChild("bone313", CubeListBuilder.create().texOffs(40, 231).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(38, 245).addBox(-2.5F, 0.75F, 6.0F, 5.0F, 2.0F, 7.0F, new CubeDeformation(0.0F))
- .texOffs(17, 240).addBox(-3.0F, 0.0F, 5.0F, 6.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -29.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone313_r1 = bone313.addOrReplaceChild("bone313_r1", CubeListBuilder.create().texOffs(13, 223).mirror().addBox(0.0F, 0.125F, 0.0F, 1.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-3.0F, 0.0F, 6.0F, 0.0F, 0.2182F, 0.0F));
-
- PartDefinition bone313_r2 = bone313.addOrReplaceChild("bone313_r2", CubeListBuilder.create().texOffs(13, 223).addBox(-1.0F, 0.125F, 0.0F, 1.0F, 2.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.0F, 0.0F, 6.0F, 0.0F, -0.2182F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone16_r1 = bone16.addOrReplaceChild("bone16_r1", CubeListBuilder.create().texOffs(0, 53).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -29.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone17_r1 = bone17.addOrReplaceChild("bone17_r1", CubeListBuilder.create().texOffs(0, 53).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -29.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone18_r1 = bone18.addOrReplaceChild("bone18_r1", CubeListBuilder.create().texOffs(0, 53).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -29.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone19_r1 = bone19.addOrReplaceChild("bone19_r1", CubeListBuilder.create().texOffs(38, 128).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 15.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.25F, -25.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone19_r2 = bone19.addOrReplaceChild("bone19_r2", CubeListBuilder.create().texOffs(40, 231).addBox(-0.5F, 0.0F, 0.0F, 1.0F, 2.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -29.866F, 0.3403F, 0.0F, 0.0F));
-
- PartDefinition bone119 = bone218.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(0, 45).addBox(-15.0F, 1.0F, -26.98F, 30.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-14.5F, -1.0F, -26.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone126 = bone119.addOrReplaceChild("bone126", CubeListBuilder.create().texOffs(0, 45).addBox(-15.0F, 1.0F, -26.98F, 30.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-14.5F, -1.0F, -26.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone127 = bone126.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(0, 45).addBox(-15.0F, 1.0F, -26.98F, 30.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-14.5F, -1.0F, -26.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone128 = bone127.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(0, 45).addBox(-15.0F, 1.0F, -26.98F, 30.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-14.5F, -1.0F, -26.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone129 = bone128.addOrReplaceChild("bone129", CubeListBuilder.create().texOffs(0, 45).addBox(-15.0F, 1.0F, -26.98F, 30.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-14.5F, -1.0F, -26.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create().texOffs(0, 45).addBox(-15.0F, 1.0F, -26.98F, 30.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-14.5F, -1.0F, -26.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone61 = bone218.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(0, 88).addBox(-14.5F, 0.0F, -25.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone269 = bone61.addOrReplaceChild("bone269", CubeListBuilder.create().texOffs(0, 88).addBox(-14.5F, 0.0F, -25.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone270 = bone269.addOrReplaceChild("bone270", CubeListBuilder.create().texOffs(0, 88).addBox(-14.5F, 0.0F, -25.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone271 = bone270.addOrReplaceChild("bone271", CubeListBuilder.create().texOffs(0, 88).addBox(-14.5F, 0.0F, -25.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone272 = bone271.addOrReplaceChild("bone272", CubeListBuilder.create().texOffs(0, 88).addBox(-14.5F, 0.0F, -25.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone273 = bone272.addOrReplaceChild("bone273", CubeListBuilder.create().texOffs(0, 88).addBox(-14.5F, 0.0F, -25.115F, 29.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone80 = bone218.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offset(0.0F, -13.0F, 0.0F));
-
- PartDefinition bone80_r1 = bone80.addOrReplaceChild("bone80_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-15.5F, -1.0F, 0.0F, 30.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -26.73F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone81_r1 = bone81.addOrReplaceChild("bone81_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-15.5F, -1.0F, 0.0F, 30.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -26.73F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone82_r1 = bone82.addOrReplaceChild("bone82_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-15.5F, -1.0F, 0.0F, 30.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -26.73F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone83_r1 = bone83.addOrReplaceChild("bone83_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-15.5F, -1.0F, 0.0F, 30.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -26.73F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone84 = bone83.addOrReplaceChild("bone84", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone84_r1 = bone84.addOrReplaceChild("bone84_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-15.5F, -1.0F, 0.0F, 30.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -26.73F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone85_r1 = bone85.addOrReplaceChild("bone85_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-15.5F, -1.0F, 0.0F, 30.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, 2.0F, -26.73F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone218.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(10, 8).addBox(-0.5F, -1.0F, -29.866F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 39).addBox(-0.5F, 1.0F, -30.865F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(10, 8).addBox(-0.5F, -1.0F, -29.866F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 39).addBox(-0.5F, 1.0F, -30.865F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(10, 8).addBox(-0.5F, -1.0F, -29.866F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 39).addBox(-0.5F, 1.0F, -30.865F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(10, 8).addBox(-0.5F, -1.0F, -29.866F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 39).addBox(-0.5F, 1.0F, -30.865F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(10, 8).addBox(-0.5F, -1.0F, -29.866F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 39).addBox(-0.5F, 1.0F, -30.865F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(10, 8).addBox(-0.5F, -1.0F, -29.866F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 39).addBox(-0.5F, 1.0F, -30.865F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone86 = bone218.addOrReplaceChild("bone86", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -13.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone86_r1 = bone86.addOrReplaceChild("bone86_r1", CubeListBuilder.create().texOffs(47, 35).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, -30.865F, -0.2094F, 0.0F, 0.0F));
-
- PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone87_r1 = bone87.addOrReplaceChild("bone87_r1", CubeListBuilder.create().texOffs(47, 35).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, -30.865F, -0.2094F, 0.0F, 0.0F));
-
- PartDefinition bone88 = bone87.addOrReplaceChild("bone88", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone88_r1 = bone88.addOrReplaceChild("bone88_r1", CubeListBuilder.create().texOffs(47, 35).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, -30.865F, -0.2094F, 0.0F, 0.0F));
-
- PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone89_r1 = bone89.addOrReplaceChild("bone89_r1", CubeListBuilder.create().texOffs(47, 35).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, -30.865F, -0.2094F, 0.0F, 0.0F));
-
- PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone90_r1 = bone90.addOrReplaceChild("bone90_r1", CubeListBuilder.create().texOffs(47, 35).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, -30.865F, -0.2094F, 0.0F, 0.0F));
-
- PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone91_r1 = bone91.addOrReplaceChild("bone91_r1", CubeListBuilder.create().texOffs(47, 35).addBox(-0.5F, -1.0F, 0.0F, 1.0F, 1.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 2.0F, -30.865F, -0.2094F, 0.0F, 0.0F));
-
- PartDefinition bone276 = root.addOrReplaceChild("bone276", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone277 = bone276.addOrReplaceChild("bone277", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.25F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone278 = bone277.addOrReplaceChild("bone278", CubeListBuilder.create().texOffs(91, 156).addBox(-12.5F, -0.1F, 0.5F, 25.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(98, 166).addBox(-2.5F, -0.2F, 5.75F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(-8.0F, -0.6F, 5.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(-5.5F, -1.6F, 6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(96, 122).addBox(-10.0F, -0.6F, 1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(107, 134).addBox(-11.25F, -2.35F, 1.75F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(96, 122).mirror().addBox(9.0F, -0.6F, 1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)).mirror(false)
- .texOffs(101, 122).mirror().addBox(8.5F, -2.1F, 3.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(107, 134).mirror().addBox(8.25F, -2.35F, 1.75F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(50, 121).addBox(-9.5F, -0.6F, 3.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 133).addBox(-4.5F, -0.6F, 2.5F, 9.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(-8.25F, -1.85F, 6.25F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(-9.75F, -1.85F, 3.75F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(-4.75F, -1.85F, 3.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).mirror().addBox(2.75F, -1.85F, 3.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 9).mirror().addBox(0.75F, -1.85F, 3.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 9).addBox(-2.75F, -1.85F, 3.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(-0.75F, -1.85F, 3.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).mirror().addBox(6.25F, -1.85F, 6.25F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(101, 122).mirror().addBox(7.0F, -0.6F, 5.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(99, 149).addBox(-6.5F, -1.1F, 6.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(88, 152).addBox(-6.5F, -2.1F, 8.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.025F))
- .texOffs(88, 152).mirror().addBox(3.5F, -2.1F, 8.0F, 3.0F, 2.0F, 2.0F, new CubeDeformation(0.025F)).mirror(false)
- .texOffs(101, 122).mirror().addBox(4.5F, -1.6F, 6.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(99, 149).mirror().addBox(3.5F, -1.1F, 6.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(99, 149).mirror().addBox(3.5F, -1.1F, 6.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(110, 147).mirror().addBox(-1.0F, -1.6F, 7.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone316 = bone278.addOrReplaceChild("bone316", CubeListBuilder.create().texOffs(20, 151).mirror().addBox(-1.0F, -3.5F, -3.25F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(15, 153).mirror().addBox(-0.5F, -3.5F, -3.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(9.0F, -2.1F, 3.75F, -0.3491F, 0.3491F, 0.0F));
-
- PartDefinition bone279 = bone276.addOrReplaceChild("bone279", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.25F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone280 = bone279.addOrReplaceChild("bone280", CubeListBuilder.create().texOffs(91, 169).addBox(-12.5F, -0.1F, 0.5F, 25.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(72, 165).addBox(3.5F, -0.2F, 1.25F, 6.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(56, 198).addBox(-9.75F, -0.6F, 1.5F, 6.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(50, 121).addBox(-5.25F, -0.6F, 5.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(50, 121).addBox(-7.25F, -0.6F, 5.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(57, 118).addBox(6.25F, -1.6F, 5.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(57, 118).addBox(4.25F, -1.6F, 5.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(-5.5F, -2.1F, 5.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(-7.5F, -2.1F, 5.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(6.0F, -3.1F, 6.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(4.0F, -3.1F, 6.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(40, 128).addBox(-1.0F, -1.1F, 1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F))
- .texOffs(40, 128).addBox(-3.0F, -1.1F, 1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F))
- .texOffs(40, 128).addBox(1.0F, -1.1F, 1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F))
- .texOffs(72, 191).addBox(-3.0F, -2.1F, 3.0F, 6.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone310 = bone280.addOrReplaceChild("bone310", CubeListBuilder.create().texOffs(76, 187).addBox(5.0F, -16.1F, -19.24F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(76, 187).addBox(2.0F, -16.1F, -19.24F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(76, 187).addBox(-1.0F, -16.1F, -19.24F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(76, 187).addBox(-4.0F, -16.1F, -19.24F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(76, 187).addBox(-7.0F, -16.1F, -19.24F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 15.25F, 26.74F));
-
- PartDefinition throttle = bone280.addOrReplaceChild("throttle", CubeListBuilder.create().texOffs(75, 198).addBox(-2.5F, -5.0F, -0.5F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(75, 198).mirror().addBox(1.5F, -5.0F, -0.5F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -1.1F, 5.0F, -0.7854F, 0.0F, 0.0F));
-
- PartDefinition monitor = bone279.addOrReplaceChild("monitor", CubeListBuilder.create().texOffs(86, 135).addBox(-3.5F, -5.0F, -3.25F, 7.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(87, 142).addBox(-1.0F, -4.0F, -1.25F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(84, 126).addBox(-5.0F, -6.0F, -3.225F, 10.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.0F, -6.0F, -8.75F, -0.1745F, 0.2618F, 0.0F));
-
- PartDefinition bone358 = monitor.addOrReplaceChild("bone358", CubeListBuilder.create().texOffs(83, 134).addBox(0.0F, -0.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.5F, -4.25F, -3.275F));
-
- PartDefinition bone359 = monitor.addOrReplaceChild("bone359", CubeListBuilder.create().texOffs(83, 134).addBox(0.0F, -0.75F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.5F, -3.25F, -3.275F));
-
- PartDefinition bone311 = monitor.addOrReplaceChild("bone311", CubeListBuilder.create().texOffs(141, 187).addBox(-4.0F, 0.0F, -3.0F, 8.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(104, 123).addBox(1.5F, -0.5F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(104, 123).addBox(-3.5F, -0.5F, -2.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -1.0F, -3.225F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone281 = bone276.addOrReplaceChild("bone281", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.25F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone304 = bone281.addOrReplaceChild("bone304", CubeListBuilder.create().texOffs(2, 101).addBox(-2.5F, -19.5F, -21.24F, 5.0F, 4.0F, 5.0F, new CubeDeformation(1.0F)), PartPose.offset(0.0F, 13.75F, 2.0F));
-
- PartDefinition bone151 = bone304.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offset(0.0F, -19.25F, -18.74F));
-
- PartDefinition bone151_r1 = bone151.addOrReplaceChild("bone151_r1", CubeListBuilder.create().texOffs(0, 136).addBox(-2.0F, -0.75F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.0436F, 0.0F));
-
- PartDefinition bone283 = bone281.addOrReplaceChild("bone283", CubeListBuilder.create().texOffs(11, 172).addBox(-14.5F, 2.0F, 3.0F, 29.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(0, 161).addBox(-8.0F, 0.25F, 8.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 161).mirror().addBox(4.0F, 0.25F, 8.0F, 4.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(2, 117).addBox(-6.0F, -0.1F, -0.25F, 10.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(2, 123).addBox(-5.5F, -0.85F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 130).addBox(-4.0F, -0.2F, 1.0F, 7.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(2, 123).addBox(2.5F, -0.85F, 1.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone283_r1 = bone283.addOrReplaceChild("bone283_r1", CubeListBuilder.create().texOffs(1, 133).addBox(-2.5F, -0.5F, 0.0F, 5.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -0.2F, 2.5F, -0.48F, 0.0F, 0.0F));
-
- PartDefinition bone302 = bone283.addOrReplaceChild("bone302", CubeListBuilder.create().texOffs(13, 135).addBox(-6.0F, -15.35F, -24.99F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-6.5F, 15.25F, 25.74F));
-
- PartDefinition bone302_r1 = bone302.addOrReplaceChild("bone302_r1", CubeListBuilder.create().texOffs(25, 138).addBox(-1.0F, -0.75F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-4.5F, -16.1F, -23.49F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone303 = bone283.addOrReplaceChild("bone303", CubeListBuilder.create().texOffs(13, 135).mirror().addBox(3.0F, -15.35F, -24.99F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(6.5F, 15.25F, 25.74F));
-
- PartDefinition bone303_r1 = bone303.addOrReplaceChild("bone303_r1", CubeListBuilder.create().texOffs(25, 138).mirror().addBox(-1.0F, -0.75F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(4.5F, -16.1F, -23.49F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition bone284 = bone283.addOrReplaceChild("bone284", CubeListBuilder.create().texOffs(21, 129).mirror().addBox(-8.5F, -1.101F, 5.9137F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.25F)).mirror(false)
- .texOffs(5, 123).addBox(-9.5F, -0.1F, 2.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.25F, 0.0F, -0.5F));
-
- PartDefinition bone284_r1 = bone284.addOrReplaceChild("bone284_r1", CubeListBuilder.create().texOffs(9, 127).addBox(-1.0F, -2.25F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(16, 122).addBox(-1.5F, -2.75F, 0.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.0F, -0.1F, 2.5F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone300 = bone284.addOrReplaceChild("bone300", CubeListBuilder.create(), PartPose.offset(-8.0F, -0.2901F, 3.1366F));
-
- PartDefinition bone285 = bone283.addOrReplaceChild("bone285", CubeListBuilder.create().texOffs(21, 129).addBox(-8.5F, -1.101F, 5.9137F, 1.0F, 2.0F, 3.0F, new CubeDeformation(0.25F))
- .texOffs(5, 123).addBox(-9.5F, -0.1F, 2.0F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(13.75F, 0.0F, -0.5F));
-
- PartDefinition bone285_r1 = bone285.addOrReplaceChild("bone285_r1", CubeListBuilder.create().texOffs(9, 127).addBox(-1.0F, -2.25F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(16, 122).addBox(-1.5F, -2.75F, 0.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.0F, -0.1F, 2.5F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone301 = bone285.addOrReplaceChild("bone301", CubeListBuilder.create(), PartPose.offset(-8.0F, -0.2901F, 3.1366F));
-
- PartDefinition bone286 = bone276.addOrReplaceChild("bone286", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.25F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition bone287 = bone286.addOrReplaceChild("bone287", CubeListBuilder.create().texOffs(32, 110).addBox(-12.5F, -0.1F, 0.5F, 25.0F, 1.0F, 7.0F, new CubeDeformation(0.0F))
- .texOffs(33, 133).addBox(-8.75F, -0.125F, 0.25F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(41, 148).addBox(0.0F, -1.125F, 0.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(30, 148).addBox(-2.5F, -0.625F, 0.75F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(33, 120).addBox(5.0F, -1.1F, 4.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(40, 118).addBox(10.5F, -1.1F, 1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(40, 128).addBox(-12.5F, -1.1F, 1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(49, 118).addBox(-9.5F, -0.6F, 1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(50, 121).addBox(-7.0F, -0.6F, 1.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(40, 128).addBox(-11.5F, -1.1F, 3.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(34, 124).addBox(7.5F, -0.6F, 5.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(29, 123).addBox(8.5F, -0.6F, 2.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(29, 123).addBox(8.0F, -0.6F, 1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(29, 123).addBox(7.0F, -0.6F, 2.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(29, 123).addBox(6.5F, -0.6F, 1.25F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(26, 126).addBox(2.0F, -0.125F, 0.75F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(33, 120).addBox(2.5F, -1.1F, 4.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(39, 123).addBox(-8.5F, -1.0F, 7.0F, 17.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(23, 145).addBox(5.5F, -1.75F, 7.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(30, 144).addBox(4.0F, -1.5F, 7.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(30, 144).addBox(0.0F, -1.5F, 7.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(23, 145).addBox(-2.5F, -1.75F, 7.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(20, 144).addBox(-2.0F, -2.75F, 8.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(20, 144).addBox(6.0F, -2.75F, 8.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(21, 149).addBox(-7.5F, -1.1F, 7.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone305 = bone287.addOrReplaceChild("bone305", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.5F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, -0.6F, 2.0F, 0.0F, -0.3491F, 0.0F));
-
- PartDefinition bone306 = bone287.addOrReplaceChild("bone306", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.5F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.5F, -1.6F, 4.5F, 0.0F, -1.5272F, 0.0F));
-
- PartDefinition bone307 = bone287.addOrReplaceChild("bone307", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.5F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-11.5F, -1.1F, 2.0F, 0.0F, 0.9599F, 0.0F));
-
- PartDefinition bone308 = bone287.addOrReplaceChild("bone308", CubeListBuilder.create().texOffs(20, 151).addBox(0.0F, -3.0F, -3.5F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(15, 153).addBox(-0.5F, -3.0F, -3.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, -1.1F, 8.5F, -0.5236F, -0.5672F, 0.0F));
-
- PartDefinition bone292 = bone276.addOrReplaceChild("bone292", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.25F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone293 = bone292.addOrReplaceChild("bone293", CubeListBuilder.create().texOffs(117, 129).addBox(-12.5F, -0.1F, 0.5F, 25.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(15, 186).addBox(-10.5F, 1.75F, 4.0F, 21.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(154, 103).addBox(-12.0F, -1.5F, 0.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(154, 103).addBox(9.0F, -1.5F, 0.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(5.5F, -0.6F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(3.75F, -0.6F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(2.0F, -0.6F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(5.25F, -1.85F, 2.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(3.5F, -1.85F, 2.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(98, 9).addBox(1.75F, -1.85F, 2.5F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 153).addBox(-6.5F, -0.85F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 153).addBox(-4.75F, -0.85F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 153).addBox(-3.0F, -0.85F, 2.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(5, 147).addBox(0.25F, -0.85F, 1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(5, 147).addBox(-1.25F, -0.85F, 1.0F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(11, 172).addBox(-14.5F, 2.0F, 3.0F, 29.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone317 = bone293.addOrReplaceChild("bone317", CubeListBuilder.create().texOffs(7, 200).addBox(-2.0F, 0.1F, -1.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(120, 123).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(137, 122).addBox(-1.0F, 0.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.5F, -1.35F, 5.5F, 0.0F, -0.1745F, 0.0F));
-
- PartDefinition bone317_r1 = bone317.addOrReplaceChild("bone317_r1", CubeListBuilder.create().texOffs(146, 119).addBox(0.0F, -1.0F, -2.5F, 1.0F, 4.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, 0.5F, 0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone317_r2 = bone317.addOrReplaceChild("bone317_r2", CubeListBuilder.create().texOffs(6, 203).addBox(-1.0F, -0.555F, -1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.088F)), PartPose.offsetAndRotation(0.0042F, 0.518F, 0.0429F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone318 = bone293.addOrReplaceChild("bone318", CubeListBuilder.create().texOffs(7, 200).addBox(-2.0F, 0.1F, -1.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(112, 123).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(137, 122).addBox(-1.0F, 0.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -1.85F, 8.25F, 2.9664F, -0.0859F, -3.1264F));
-
- PartDefinition bone318_r1 = bone318.addOrReplaceChild("bone318_r1", CubeListBuilder.create().texOffs(146, 119).addBox(0.0F, -1.0F, -2.5F, 1.0F, 4.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, 0.5F, 0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone318_r2 = bone318.addOrReplaceChild("bone318_r2", CubeListBuilder.create().texOffs(6, 203).addBox(-1.0F, -0.555F, -1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.088F)), PartPose.offsetAndRotation(0.0042F, 0.518F, 0.0429F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone319 = bone293.addOrReplaceChild("bone319", CubeListBuilder.create().texOffs(7, 200).addBox(-2.0F, 0.1F, -1.75F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(128, 123).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(137, 122).addBox(-1.0F, 0.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.5F, -1.35F, 7.25F, 0.3491F, -0.2618F, 0.0F));
-
- PartDefinition bone319_r1 = bone319.addOrReplaceChild("bone319_r1", CubeListBuilder.create().texOffs(146, 119).addBox(0.0F, -1.0F, -2.5F, 1.0F, 4.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, 0.5F, 0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone319_r2 = bone319.addOrReplaceChild("bone319_r2", CubeListBuilder.create().texOffs(6, 203).addBox(-1.0F, -0.555F, -1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.088F)), PartPose.offsetAndRotation(0.0042F, 0.518F, -0.2071F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone320 = bone293.addOrReplaceChild("bone320", CubeListBuilder.create().texOffs(7, 200).addBox(-2.0F, 0.1F, -1.5F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(112, 123).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(137, 122).addBox(-1.0F, 0.0F, -1.0F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-7.5F, -1.35F, 5.5F, 2.9671F, 0.0F, 3.1416F));
-
- PartDefinition bone320_r1 = bone320.addOrReplaceChild("bone320_r1", CubeListBuilder.create().texOffs(146, 119).addBox(0.0F, -1.0F, -2.5F, 1.0F, 4.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, 0.25F, 0.1309F, 0.0F, 0.0F));
-
- PartDefinition bone320_r2 = bone320.addOrReplaceChild("bone320_r2", CubeListBuilder.create().texOffs(6, 203).addBox(-1.0F, -0.555F, -1.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.088F)), PartPose.offsetAndRotation(0.0042F, 0.518F, 0.0429F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone294 = bone292.addOrReplaceChild("bone294", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -3.5F, -19.24F, -0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone289 = bone276.addOrReplaceChild("bone289", CubeListBuilder.create(), PartPose.offset(0.0F, -15.25F, 0.0F));
-
- PartDefinition bone290 = bone289.addOrReplaceChild("bone290", CubeListBuilder.create().texOffs(99, 117).addBox(-12.5F, -0.1F, 0.5F, 25.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(-8.0F, -0.6F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(-6.5F, -0.6F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(101, 122).addBox(-5.0F, -0.6F, 2.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(104, 123).addBox(-0.5F, -0.6F, 1.5F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(104, 123).addBox(4.0F, -0.6F, 1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(104, 123).addBox(6.5F, -0.6F, 1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(107, 127).addBox(6.5F, -0.6F, 4.75F, 2.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(107, 138).addBox(-3.5F, 0.65F, 4.75F, 10.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(107, 134).addBox(5.75F, -2.1F, 5.75F, 3.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(11, 172).addBox(-14.5F, 2.0F, 3.0F, 29.0F, 1.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(15, 186).addBox(-10.5F, 1.75F, 4.0F, 21.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -25.74F, 0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone290_r1 = bone290.addOrReplaceChild("bone290_r1", CubeListBuilder.create().texOffs(98, 9).addBox(-0.75F, -1.25F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.75F, -0.35F, 1.75F, 0.0F, 0.5236F, 0.0F));
-
- PartDefinition bone290_r2 = bone290.addOrReplaceChild("bone290_r2", CubeListBuilder.create().texOffs(110, 108).addBox(-1.0F, -6.75F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(111, 103).addBox(-0.5F, -7.0F, -0.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(99, 109).addBox(-1.5F, -4.0F, -1.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, 3.9F, 11.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone291 = bone289.addOrReplaceChild("bone291", CubeListBuilder.create().texOffs(35, 96).addBox(-3.5F, -2.0F, -2.0F, 9.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(65, 81).mirror().addBox(5.5F, -1.5F, -1.5F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(65, 81).addBox(-4.5F, -1.5F, -1.5F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(69, 98).addBox(-7.5F, -1.75F, 0.0F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(69, 98).mirror().addBox(6.5F, -1.75F, 0.0F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(28, 94).addBox(0.0F, -1.0F, -3.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(97, 99).addBox(2.75F, -2.25F, -2.5F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(97, 99).addBox(-2.75F, -2.25F, -2.5F, 2.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -3.5F, -18.24F, -0.3927F, 0.0F, 0.0F));
-
- PartDefinition bone360 = bone291.addOrReplaceChild("bone360", CubeListBuilder.create().texOffs(27, 98).addBox(1.5F, -1.0F, 0.02F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(27, 98).mirror().addBox(-3.5F, -1.0F, 0.02F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(1.0F, 1.0F, -2.025F));
-
- PartDefinition bone361 = bone291.addOrReplaceChild("bone361", CubeListBuilder.create().texOffs(27, 98).addBox(1.5F, -1.0F, 0.02F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(27, 98).mirror().addBox(-3.5F, -1.0F, 0.02F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(1.0F, -0.5F, -2.025F));
-
- PartDefinition bone362 = bone291.addOrReplaceChild("bone362", CubeListBuilder.create().texOffs(27, 98).addBox(1.5F, -1.0F, -0.025F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(27, 98).mirror().addBox(-3.5F, -1.0F, -0.025F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, -2.0F, -2.025F, -1.5708F, 0.0F, 0.0F));
-
- PartDefinition bone363 = bone291.addOrReplaceChild("bone363", CubeListBuilder.create().texOffs(27, 98).addBox(1.5F, -1.0F, -0.025F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(27, 98).mirror().addBox(-3.5F, -1.0F, -0.025F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, -2.0F, -0.525F, -1.5708F, 0.0F, 0.0F));
-
- PartDefinition bone364 = bone291.addOrReplaceChild("bone364", CubeListBuilder.create().texOffs(27, 100).addBox(1.5F, -1.0F, -0.025F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(27, 100).mirror().addBox(-3.5F, -1.0F, -0.025F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, -2.0F, 0.975F, -1.5708F, 0.0F, 0.0F));
-
- PartDefinition bone309 = bone291.addOrReplaceChild("bone309", CubeListBuilder.create().texOffs(67, 88).mirror().addBox(-0.5F, -5.5F, -0.5F, 1.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-4.475F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone314 = bone276.addOrReplaceChild("bone314", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -15.25F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone314_r1 = bone314.addOrReplaceChild("bone314_r1", CubeListBuilder.create().texOffs(73, 216).addBox(-1.5F, -0.75F, -1.5F, 3.0F, 2.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -3.1F, -22.24F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone315 = bone314.addOrReplaceChild("bone315", CubeListBuilder.create().texOffs(128, 217).addBox(0.25F, -4.25F, -1.75F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -4.1F, -22.24F));
-
- PartDefinition bone315_r1 = bone315.addOrReplaceChild("bone315_r1", CubeListBuilder.create().texOffs(128, 217).addBox(0.25F, -2.0F, -1.75F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(0.0F, -2.25F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
@@ -1244,11 +76,6 @@ public ResourceLocation getDefaultTexture() {
return REFURBISHED_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.REFURBISHED.getId();
- }
-
@Override
public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ToyotaConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ToyotaConsoleModel.java
index 9aa58758..c754d0c7 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ToyotaConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/ToyotaConsoleModel.java
@@ -2,16 +2,11 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.Level;
@@ -25,8 +20,8 @@
public class ToyotaConsoleModel extends HierarchicalModel implements ConsoleUnit {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/toyota/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/toyota/flight.json"));
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/toyota/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/toyota/flight.json"));
private static final ResourceLocation TOYOTA_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/toyota/toyota_console.png");
@@ -36,8 +31,8 @@ public class ToyotaConsoleModel extends HierarchicalModel implements ConsoleUnit
public ToyotaConsoleModel(ModelPart root) {
this.bone181 = root.getChild("bone181");
- this.throttle = JsonToAnimationDefinition.findPart(this, "bone198");
- this.handbrake = JsonToAnimationDefinition.findPart(this, "bone202");
+ this.throttle = Frame.findPart(this, "bone198");
+ this.handbrake = Frame.findPart(this, "bone202");
}
@@ -85,8 +80,4 @@ public ResourceLocation getDefaultTexture() {
return TOYOTA_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.TOYOTA.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/VictorianConsoleModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/VictorianConsoleModel.java
index 261c8d68..0b003619 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/VictorianConsoleModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/VictorianConsoleModel.java
@@ -3,16 +3,11 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.level.Level;
@@ -22,2269 +17,32 @@
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
-import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;
public class VictorianConsoleModel extends HierarchicalModel implements ConsoleUnit {
-/*
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/victorian/idle.json"));
- public static final AnimationDefinition FLIGHT = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/console/victorian/flight.json"));
-*/
-
- public static final AnimationDefinition IDLE = AnimationDefinition.Builder.withLength(10f).looping()
- .addAnimation("bone186",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.68f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.8f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.84f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.92f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.28f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.32f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.68f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone188",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(1.36f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.4f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.08f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.44f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.48f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.88f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.92f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.96f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.32f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.36f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone189",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.52f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone190",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone191",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone192",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(6.08f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.52f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone193",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.88f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone194",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.08f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone195",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.12f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.68f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone196",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.52f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone197",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone200",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone198",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone199",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(5.24f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone201",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone203",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone204",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 360f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone205",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -720f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone206",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(3f, KeyframeAnimations.degreeVec(0f, 172.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6f, KeyframeAnimations.degreeVec(0f, -62.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(8.72f, KeyframeAnimations.degreeVec(0f, 107.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone207",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.44f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone208",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone209",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.32f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone210",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone211",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone212",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone213",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone214",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone215",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone216",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone217",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone218",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone219",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone220",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone221",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone222",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.12f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone223",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.08f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone224",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(4.08f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.12f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone227",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone228",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone229",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone230",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(0f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(3f, KeyframeAnimations.scaleVec(2.6f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(5.96f, KeyframeAnimations.scaleVec(1.5f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(7.64f, KeyframeAnimations.scaleVec(2.2f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(9.28f, KeyframeAnimations.scaleVec(1.4f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(0f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone231",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.88f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.28f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone232",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -720f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone234",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.64f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.08f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.12f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.24f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.68f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.52f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.96f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone235",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.24f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.88f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.48f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.48f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone236",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone237",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone238",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 0.42f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone239",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone240",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone241",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 0.42f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone242",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 0.42f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR))).build();
- public static final AnimationDefinition FLIGHT = AnimationDefinition.Builder.withLength(10f).looping()
- .addAnimation("bone186",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone188",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone189",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.48f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.48f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone190",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone191",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone192",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone193",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.88f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone194",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.08f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone195",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.12f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.12f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.68f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone196",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.52f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone197",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone200",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone198",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone199",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(5.24f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone201",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone203",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone204",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 1080f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone205",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -720f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone206",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -1080f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone207",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.6f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.44f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone208",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.52f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.24f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.28f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.84f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone209",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.32f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.44f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.48f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone210",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone211",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone212",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone213",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone214",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone215",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone216",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone217",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone218",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone219",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone220",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone221",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 1f, 0.025f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone222",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone223",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(1f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone224",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.96f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone227",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.72f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone228",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(2.28f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.56f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone229",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(4.6f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone230",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(0f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(3f, KeyframeAnimations.scaleVec(2.6f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(5.96f, KeyframeAnimations.scaleVec(1.5f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(7.64f, KeyframeAnimations.scaleVec(2.2f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(9.28f, KeyframeAnimations.scaleVec(1.4f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(0f, 1f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone231",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.44f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.32f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.36f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.32f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.4f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.44f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.32f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.56f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.64f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.68f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.24f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9.28f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone232",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, -720f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone234",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.48f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.52f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.96f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.6f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.64f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.48f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.52f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.24f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.68f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.24f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.68f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.72f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.48f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.52f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.96f, KeyframeAnimations.scaleVec(1.04f, 1.06f, 1.06f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(9f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone235",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.04f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.8f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.84f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.84f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.88f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.64f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2.68f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.88f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(3.92f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.44f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.48f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.04f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.08f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.84f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.88f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.48f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(6.52f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.2f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone236",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(0.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.36f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5.4f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.16f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.2f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.72f, KeyframeAnimations.posVec(0f, 0.05f, 0f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8.76f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone237",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone238",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 0.42f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone239",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone240",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.4f, 1f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone241",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 0.42f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone242",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(0f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.28f, KeyframeAnimations.scaleVec(1f, 0.42f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.2f, KeyframeAnimations.scaleVec(1f, 1.01f, 1f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.scaleVec(1f, 0.6f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("upper_rotor",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(1.56f, KeyframeAnimations.posVec(0f, 1.505f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(2.52f, KeyframeAnimations.posVec(0f, 4.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(4f, KeyframeAnimations.posVec(0f, 2.565f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(5f, KeyframeAnimations.posVec(0f, -0.7f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.52f, KeyframeAnimations.posVec(0f, 1.58f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(7.52f, KeyframeAnimations.posVec(0f, 4.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(9.04f, KeyframeAnimations.posVec(0f, 2.54f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("lower_rotor",
- new AnimationChannel(AnimationChannel.Targets.POSITION,
- new Keyframe(0f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(1.6f, KeyframeAnimations.posVec(0f, -1.68f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(2.52f, KeyframeAnimations.posVec(0f, -4.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(3.92f, KeyframeAnimations.posVec(0f, -2.69f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(5f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.6f, KeyframeAnimations.posVec(0f, -1.68f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(7.52f, KeyframeAnimations.posVec(0f, -4.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(8.92f, KeyframeAnimations.posVec(0f, -2.69f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.posVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone243",
- new AnimationChannel(AnimationChannel.Targets.SCALE,
- new Keyframe(1f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(1.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(2f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(4.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(5f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.04f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(7.96f, KeyframeAnimations.scaleVec(1.05f, 1.05f, 1.05f),
- AnimationChannel.Interpolations.LINEAR),
- new Keyframe(8f, KeyframeAnimations.scaleVec(1f, 1f, 1f),
- AnimationChannel.Interpolations.LINEAR)))
- .addAnimation("bone245",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, 110f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(5.32f, KeyframeAnimations.degreeVec(0f, 57.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(7.84f, KeyframeAnimations.degreeVec(0f, 107.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(9.4f, KeyframeAnimations.degreeVec(0f, 2.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM)))
- .addAnimation("bone244",
- new AnimationChannel(AnimationChannel.Targets.ROTATION,
- new Keyframe(0f, KeyframeAnimations.degreeVec(0f, -90f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(1.16f, KeyframeAnimations.degreeVec(0f, -90f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(2.6f, KeyframeAnimations.degreeVec(0f, -10f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(4.4f, KeyframeAnimations.degreeVec(0f, -147.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(6.48f, KeyframeAnimations.degreeVec(0f, 115f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(9.16f, KeyframeAnimations.degreeVec(0f, -37.5f, 0f),
- AnimationChannel.Interpolations.CATMULLROM),
- new Keyframe(10f, KeyframeAnimations.degreeVec(0f, 0f, 0f),
- AnimationChannel.Interpolations.CATMULLROM))).build();
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/victorian/idle.json"));
+ public static final AnimationDefinition FLIGHT = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/victorian/flight.json"));
+ public static final AnimationDefinition CRASH = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/victorian/crash.json"));
+ public static final AnimationDefinition POWER_ON = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/victorian/power_on.json"));
+ public static final AnimationDefinition POWER_OFF = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/console/victorian/power_off.json"));
private static final ResourceLocation VICTORIAN_TEXTURE = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/victorian/victorian_console.png");
private final ModelPart root;
- private final ModelPart upper_rotor;
- private final ModelPart lower_rotor;
- private final ModelPart controls;
- private final ModelPart base_console;
private final ModelPart throttle_control;
public VictorianConsoleModel(ModelPart root) {
this.root = root;
- this.upper_rotor = root.getChild("upper_rotor");
- this.lower_rotor = root.getChild("lower_rotor");
- this.controls = root.getChild("controls");
- this.base_console = root.getChild("base_console");
- this.throttle_control = this.controls.getChild("south_left").getChild("bone185").getChild("bone187");
+ this.throttle_control = Frame.findPart(this, "bone187");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition upper_rotor = partdefinition.addOrReplaceChild("upper_rotor", CubeListBuilder.create(), PartPose.offset(0.0F, 21.0F, 0.0F));
-
- PartDefinition bone133 = upper_rotor.addOrReplaceChild("bone133", CubeListBuilder.create().texOffs(9, 60).addBox(-1.0F, -21.0F, -4.825F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -33.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone134 = bone133.addOrReplaceChild("bone134", CubeListBuilder.create().texOffs(9, 60).addBox(-1.0F, -23.0F, -4.825F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone135 = bone134.addOrReplaceChild("bone135", CubeListBuilder.create().texOffs(9, 60).addBox(-1.0F, -21.0F, -4.825F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone136 = bone135.addOrReplaceChild("bone136", CubeListBuilder.create().texOffs(9, 60).addBox(-1.0F, -23.0F, -4.825F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone137 = bone136.addOrReplaceChild("bone137", CubeListBuilder.create().texOffs(9, 60).addBox(-1.0F, -21.0F, -4.825F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone138 = bone137.addOrReplaceChild("bone138", CubeListBuilder.create().texOffs(9, 60).addBox(-1.0F, -23.0F, -4.825F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone163 = upper_rotor.addOrReplaceChild("bone163", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -40.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone163_r1 = bone163.addOrReplaceChild("bone163_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone164 = bone163.addOrReplaceChild("bone164", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone164_r1 = bone164.addOrReplaceChild("bone164_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone165 = bone164.addOrReplaceChild("bone165", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone165_r1 = bone165.addOrReplaceChild("bone165_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone166 = bone165.addOrReplaceChild("bone166", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone166_r1 = bone166.addOrReplaceChild("bone166_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone167 = bone166.addOrReplaceChild("bone167", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone167_r1 = bone167.addOrReplaceChild("bone167_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone168 = bone167.addOrReplaceChild("bone168", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone168_r1 = bone168.addOrReplaceChild("bone168_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition lower_rotor = partdefinition.addOrReplaceChild("lower_rotor", CubeListBuilder.create(), PartPose.offset(0.0F, 27.0F, 0.0F));
-
- PartDefinition bone127 = lower_rotor.addOrReplaceChild("bone127", CubeListBuilder.create().texOffs(0, 60).addBox(-1.0F, -18.0F, -4.325F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -18.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone128 = bone127.addOrReplaceChild("bone128", CubeListBuilder.create().texOffs(0, 60).addBox(-1.0F, -20.0F, -4.325F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone129 = bone128.addOrReplaceChild("bone129", CubeListBuilder.create().texOffs(0, 60).addBox(-1.0F, -18.0F, -4.325F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone130 = bone129.addOrReplaceChild("bone130", CubeListBuilder.create().texOffs(0, 60).addBox(-1.0F, -20.0F, -4.325F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone131 = bone130.addOrReplaceChild("bone131", CubeListBuilder.create().texOffs(0, 60).addBox(-1.0F, -18.0F, -4.325F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone132 = bone131.addOrReplaceChild("bone132", CubeListBuilder.create().texOffs(0, 60).addBox(-1.0F, -20.0F, -4.325F, 2.0F, 15.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone157 = lower_rotor.addOrReplaceChild("bone157", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -22.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone157_r1 = bone157.addOrReplaceChild("bone157_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone158 = bone157.addOrReplaceChild("bone158", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone158_r1 = bone158.addOrReplaceChild("bone158_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone159 = bone158.addOrReplaceChild("bone159", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone159_r1 = bone159.addOrReplaceChild("bone159_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone160 = bone159.addOrReplaceChild("bone160", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone160_r1 = bone160.addOrReplaceChild("bone160_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone161 = bone160.addOrReplaceChild("bone161", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone161_r1 = bone161.addOrReplaceChild("bone161_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone162 = bone161.addOrReplaceChild("bone162", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone162_r1 = bone162.addOrReplaceChild("bone162_r1", CubeListBuilder.create().texOffs(69, 21).addBox(-3.0F, -0.5F, -1.0F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -4.2F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition controls = partdefinition.addOrReplaceChild("controls", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition north = controls.addOrReplaceChild("north", CubeListBuilder.create(), PartPose.offset(0.0F, -7.0F, 0.0F));
-
- PartDefinition bone176 = north.addOrReplaceChild("bone176", CubeListBuilder.create().texOffs(31, 72).addBox(-2.5F, -0.7333F, -10.0271F, 5.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(15, 76).addBox(-1.5F, -0.0833F, -5.0271F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(40, 34).addBox(-2.0F, -0.0833F, -7.2771F, 4.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(84, 20).addBox(-1.5F, -0.0833F, -1.5271F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(81, 51).addBox(2.5F, -0.0833F, -9.5271F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(81, 51).mirror().addBox(-5.5F, -0.0833F, -9.5271F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(46, 83).addBox(-1.0F, -0.4833F, -4.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone177_r1 = bone176.addOrReplaceChild("bone177_r1", CubeListBuilder.create().texOffs(0, 86).addBox(-6.5F, -3.0F, 0.0F, 7.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5F, 0.0167F, -2.0271F, -0.3491F, 0.5672F, -0.3054F));
-
- PartDefinition bone176_r1 = bone176.addOrReplaceChild("bone176_r1", CubeListBuilder.create().texOffs(75, 25).addBox(-2.5F, -1.5F, 0.0F, 5.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -0.7333F, -9.0271F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone178 = bone176.addOrReplaceChild("bone178", CubeListBuilder.create().texOffs(31, 67).addBox(-0.5F, -1.0F, -0.5F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(59, 11).addBox(-1.0F, -0.5F, -0.25F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.9833F, -3.5271F, 0.0F, -0.3927F, 0.0F));
-
- PartDefinition bone175 = bone176.addOrReplaceChild("bone175", CubeListBuilder.create().texOffs(26, 83).addBox(-1.0F, -0.9F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(71, 83).addBox(-0.5F, -1.4F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-4.0F, 0.4167F, -5.5271F));
-
- PartDefinition bone175_r1 = bone175.addOrReplaceChild("bone175_r1", CubeListBuilder.create().texOffs(66, 7).addBox(-2.0F, -0.5F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone177 = bone176.addOrReplaceChild("bone177", CubeListBuilder.create().texOffs(26, 83).mirror().addBox(-1.0F, -0.9F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(71, 83).mirror().addBox(-0.5F, -1.4F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(4.0F, 0.4167F, -5.5271F));
-
- PartDefinition bone177_r2 = bone177.addOrReplaceChild("bone177_r2", CubeListBuilder.create().texOffs(66, 7).mirror().addBox(-2.0F, -0.5F, -2.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition north_right = controls.addOrReplaceChild("north_right", CubeListBuilder.create().texOffs(59, 57).addBox(2.5F, -9.5F, -19.7736F, 5.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(66, 43).addBox(-7.5F, -9.9F, -19.2736F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(79, 6).addBox(-7.0F, -11.4F, -17.7736F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -7.0F, 0.0F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone181 = north_right.addOrReplaceChild("bone181", CubeListBuilder.create().texOffs(82, 11).addBox(-1.0F, -0.4833F, -2.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(66, 68).addBox(-3.0F, -0.4833F, -5.5271F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(66, 68).mirror().addBox(-3.0F, -0.4833F, -8.0271F, 6.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(56, 29).addBox(-6.0F, -0.0833F, -10.2771F, 9.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 78).addBox(3.5F, -0.0833F, -10.2771F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(53, 81).mirror().addBox(1.5F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(62, 63).mirror().addBox(2.0F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(53, 81).addBox(-3.5F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(47, 0).addBox(-4.5F, -0.0833F, -5.5271F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(77, 75).addBox(-6.25F, -0.0833F, -8.0271F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(66, 77).addBox(-6.5F, -0.1833F, -8.2771F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(76, 72).addBox(-4.5F, -0.5833F, -4.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(40, 39).addBox(3.5F, -0.0833F, -7.7771F, 2.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(62, 63).addBox(-3.0F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone179_r1 = bone181.addOrReplaceChild("bone179_r1", CubeListBuilder.create().texOffs(18, 64).mirror().addBox(-0.75F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -0.0833F, -2.0271F, 0.0F, -2.5744F, 0.0F));
-
- PartDefinition bone179_r2 = bone181.addOrReplaceChild("bone179_r2", CubeListBuilder.create().texOffs(18, 64).addBox(-0.25F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.0833F, -2.0271F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone178_r1 = bone181.addOrReplaceChild("bone178_r1", CubeListBuilder.create().texOffs(18, 64).addBox(-0.25F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.0833F, -1.5271F, 0.0F, -0.6545F, 0.0F));
-
- PartDefinition bone182 = bone181.addOrReplaceChild("bone182", CubeListBuilder.create().texOffs(56, 23).addBox(-0.625F, -1.5F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(35, 83).addBox(-0.375F, -2.5F, -0.5F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.125F, -0.0833F, -4.7771F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition south_right = controls.addOrReplaceChild("south_right", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -7.0F, 0.0F, 0.0F, 2.0944F, 0.0F));
-
- PartDefinition bone183 = south_right.addOrReplaceChild("bone183", CubeListBuilder.create().texOffs(66, 72).addBox(-1.5F, -0.0833F, -5.0271F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(38, 54).addBox(-3.5F, -0.4833F, -10.2771F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(0, 50).addBox(-2.75F, -0.5833F, -7.0271F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 50).addBox(0.75F, -0.5833F, -7.0271F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(81, 66).addBox(0.75F, -0.5833F, -9.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(39, 76).addBox(-0.5F, -0.5833F, -7.0271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 82).addBox(-1.0F, -0.0833F, -2.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(82, 0).addBox(-1.0F, -0.7333F, -4.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 46).addBox(2.25F, -0.4833F, -3.5271F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(0, 46).mirror().addBox(-3.25F, -0.4833F, -3.5271F, 1.0F, 1.0F, 2.0F, new CubeDeformation(0.25F)).mirror(false)
- .texOffs(76, 30).mirror().addBox(-6.25F, -0.0833F, -9.5271F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(76, 30).addBox(4.25F, -0.0833F, -9.5271F, 2.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone181_r1 = bone183.addOrReplaceChild("bone181_r1", CubeListBuilder.create().texOffs(81, 70).addBox(-1.0F, -0.5F, -1.0F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.75F, -0.4833F, -8.5271F, 0.0F, -0.4363F, 0.0F));
-
- PartDefinition bone184_r1 = bone183.addOrReplaceChild("bone184_r1", CubeListBuilder.create().texOffs(38, 54).addBox(-0.5F, -2.0F, 0.0F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(75, 18).addBox(1.0F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(75, 18).addBox(-2.5F, -1.0F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, -0.5833F, -6.5271F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition south = controls.addOrReplaceChild("south", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -7.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone184 = south.addOrReplaceChild("bone184", CubeListBuilder.create().texOffs(50, 14).addBox(-3.5F, -0.4833F, -10.2771F, 7.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(47, 4).addBox(-2.5F, -0.8833F, -6.7771F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(16, 49).addBox(-2.0F, -0.4833F, -2.5271F, 4.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(74, 48).addBox(1.75F, 0.1667F, -4.2771F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(74, 48).mirror().addBox(-2.75F, 0.1667F, -4.2771F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.25F)).mirror(false)
- .texOffs(75, 79).addBox(-1.0F, -1.2333F, -4.5271F, 2.0F, 2.0F, 2.0F, new CubeDeformation(-0.25F))
- .texOffs(62, 81).mirror().addBox(-6.25F, -0.0833F, -9.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(62, 81).addBox(4.25F, -0.0833F, -9.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone182_r1 = bone184.addOrReplaceChild("bone182_r1", CubeListBuilder.create().texOffs(0, 28).addBox(-0.25F, -2.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.25F, -0.0833F, -3.7771F, 0.0F, -0.5672F, 0.0F));
-
- PartDefinition bone181_r2 = bone184.addOrReplaceChild("bone181_r2", CubeListBuilder.create().texOffs(0, 28).mirror().addBox(-1.75F, -2.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.25F, -0.0833F, -3.7771F, 0.0F, 0.5672F, 0.0F));
-
- PartDefinition bone183_r1 = bone184.addOrReplaceChild("bone183_r1", CubeListBuilder.create().texOffs(58, 54).addBox(-1.5F, -1.0F, 0.0F, 3.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, -0.3833F, -9.5271F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone182_r2 = bone184.addOrReplaceChild("bone182_r2", CubeListBuilder.create().texOffs(71, 51).addBox(-1.5F, -0.5F, -1.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, -0.8833F, -8.2771F, 0.0F, -0.0873F, 0.0F));
-
- PartDefinition south_left = controls.addOrReplaceChild("south_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -7.0F, 0.0F, 0.0F, -2.0944F, 0.0F));
-
- PartDefinition bone185 = south_left.addOrReplaceChild("bone185", CubeListBuilder.create().texOffs(62, 63).addBox(-3.0F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(53, 81).addBox(-3.5F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(53, 81).mirror().addBox(1.5F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(62, 63).mirror().addBox(2.0F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(53, 81).mirror().addBox(-1.0F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(56, 21).addBox(-1.5F, -0.0833F, -10.0271F, 3.0F, 1.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(70, 13).addBox(-6.0F, -0.0833F, -10.0271F, 4.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(32, 49).addBox(2.5F, -0.4833F, -9.5271F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(55, 77).mirror().addBox(2.0F, -0.0833F, -6.0271F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(55, 77).addBox(-5.0F, -0.0833F, -6.0271F, 3.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(16, 46).addBox(-3.5F, -0.5833F, -5.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(16, 46).mirror().addBox(2.5F, -0.5833F, -5.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(62, 63).mirror().addBox(-0.5F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone181_r3 = bone185.addOrReplaceChild("bone181_r3", CubeListBuilder.create().texOffs(18, 64).addBox(-0.25F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.0833F, -2.0271F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone184_r2 = bone185.addOrReplaceChild("bone184_r2", CubeListBuilder.create().texOffs(0, 24).addBox(-0.75F, -2.0F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.0833F, -8.5271F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone185_r1 = bone185.addOrReplaceChild("bone185_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-0.75F, -1.5F, 0.0F, 2.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.0F, -0.0833F, -8.0271F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone181_r4 = bone185.addOrReplaceChild("bone181_r4", CubeListBuilder.create().texOffs(18, 64).mirror().addBox(-0.75F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -0.0833F, -2.0271F, 0.0F, 2.3562F, 0.0F));
-
- PartDefinition bone180_r1 = bone185.addOrReplaceChild("bone180_r1", CubeListBuilder.create().texOffs(18, 64).addBox(-0.25F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.0833F, -2.0271F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone187 = bone185.addOrReplaceChild("bone187", CubeListBuilder.create().texOffs(0, 18).addBox(-1.0F, -4.0F, -0.5F, 2.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(50, 14).addBox(-0.5F, -3.0F, 0.0F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.0F, -0.4833F, -8.0271F, -0.829F, 0.0F, 0.0F));
-
- PartDefinition north_left = controls.addOrReplaceChild("north_left", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -7.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone179 = north_left.addOrReplaceChild("bone179", CubeListBuilder.create().texOffs(66, 63).addBox(-1.5F, -0.0833F, -10.0271F, 5.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(39, 79).addBox(2.5F, -1.0833F, -9.7771F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(39, 79).mirror().addBox(-1.5F, -1.0833F, -9.7771F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(8, 79).addBox(4.0F, -0.0833F, -10.0271F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(8, 79).addBox(-3.0F, -0.0833F, -10.0271F, 1.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(82, 0).addBox(-6.0F, -0.7333F, -9.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(74, 56).addBox(-6.5F, -0.0833F, -10.0271F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(82, 11).addBox(-1.0F, -0.4833F, -2.5271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(38, 61).addBox(-4.0F, -0.4833F, -5.2771F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(56, 33).addBox(-4.0F, -0.4833F, -6.7771F, 8.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(62, 63).addBox(-3.0F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(53, 81).addBox(-3.5F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(53, 81).mirror().addBox(1.5F, -0.0833F, -3.0271F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(62, 63).mirror().addBox(2.0F, -0.4833F, -2.5271F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone181_r5 = bone179.addOrReplaceChild("bone181_r5", CubeListBuilder.create().texOffs(18, 60).addBox(0.75F, -1.75F, -0.25F, 1.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, -0.2333F, -8.5271F, -0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone180_r2 = bone179.addOrReplaceChild("bone180_r2", CubeListBuilder.create().texOffs(18, 64).mirror().addBox(-0.75F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -0.0833F, -2.0271F, 0.0F, 2.3562F, 0.0F));
-
- PartDefinition bone179_r3 = bone179.addOrReplaceChild("bone179_r3", CubeListBuilder.create().texOffs(18, 64).addBox(-0.25F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.0833F, -2.0271F, 0.0F, 1.0472F, 0.0F));
-
- PartDefinition bone178_r2 = bone179.addOrReplaceChild("bone178_r2", CubeListBuilder.create().texOffs(18, 64).addBox(-0.25F, -0.5F, -0.75F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.0833F, -1.5271F, 0.0F, -0.6545F, 0.0F));
-
- PartDefinition bone180 = bone179.addOrReplaceChild("bone180", CubeListBuilder.create().texOffs(83, 16).addBox(0.0F, -23.5309F, -16.2736F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(82, 82).addBox(-0.5F, -23.5309F, -16.7736F, 2.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.25F, 23.1975F, 6.9965F));
-
- PartDefinition base_console = partdefinition.addOrReplaceChild("base_console", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone61 = base_console.addOrReplaceChild("bone61", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -8.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone61_r1 = bone61.addOrReplaceChild("bone61_r1", CubeListBuilder.create().texOffs(23, 49).addBox(0.0F, -11.0F, 0.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -6.85F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone62 = bone61.addOrReplaceChild("bone62", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone62_r1 = bone62.addOrReplaceChild("bone62_r1", CubeListBuilder.create().texOffs(23, 49).addBox(0.0F, -11.0F, 0.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -6.85F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone63_r1 = bone63.addOrReplaceChild("bone63_r1", CubeListBuilder.create().texOffs(23, 49).addBox(0.0F, -11.0F, 0.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -6.85F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone64 = bone63.addOrReplaceChild("bone64", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone64_r1 = bone64.addOrReplaceChild("bone64_r1", CubeListBuilder.create().texOffs(23, 49).addBox(0.0F, -11.0F, 0.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -6.85F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone65_r1 = bone65.addOrReplaceChild("bone65_r1", CubeListBuilder.create().texOffs(23, 49).addBox(0.0F, -11.0F, 0.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -6.85F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone66 = bone65.addOrReplaceChild("bone66", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone66_r1 = bone66.addOrReplaceChild("bone66_r1", CubeListBuilder.create().texOffs(23, 49).addBox(0.0F, -11.0F, 0.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -6.85F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone145 = base_console.addOrReplaceChild("bone145", CubeListBuilder.create().texOffs(46, 72).addBox(-1.0F, -7.0F, -7.6F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone146 = bone145.addOrReplaceChild("bone146", CubeListBuilder.create().texOffs(46, 72).addBox(-1.0F, -7.0F, -7.6F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone147 = bone146.addOrReplaceChild("bone147", CubeListBuilder.create().texOffs(46, 72).addBox(-1.0F, -7.0F, -7.6F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone148 = bone147.addOrReplaceChild("bone148", CubeListBuilder.create().texOffs(46, 72).addBox(-1.0F, -7.0F, -7.6F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone149 = bone148.addOrReplaceChild("bone149", CubeListBuilder.create().texOffs(46, 72).addBox(-1.0F, -7.0F, -7.6F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone150 = bone149.addOrReplaceChild("bone150", CubeListBuilder.create().texOffs(46, 72).addBox(-1.0F, -7.0F, -7.6F, 2.0F, 7.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone31 = base_console.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(28, 76).addBox(-1.5F, -4.0F, -8.6F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -2.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(28, 76).addBox(-1.5F, -4.0F, -8.6F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(28, 76).addBox(-1.5F, -4.0F, -8.6F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(28, 76).addBox(-1.5F, -4.0F, -8.6F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(28, 76).addBox(-1.5F, -4.0F, -8.6F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(28, 76).addBox(-1.5F, -4.0F, -8.6F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone151 = base_console.addOrReplaceChild("bone151", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -2.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone151_r1 = bone151.addOrReplaceChild("bone151_r1", CubeListBuilder.create().texOffs(55, 63).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -8.6F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone152 = bone151.addOrReplaceChild("bone152", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone152_r1 = bone152.addOrReplaceChild("bone152_r1", CubeListBuilder.create().texOffs(55, 63).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -8.6F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone153 = bone152.addOrReplaceChild("bone153", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone153_r1 = bone153.addOrReplaceChild("bone153_r1", CubeListBuilder.create().texOffs(55, 63).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -8.6F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone154 = bone153.addOrReplaceChild("bone154", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone154_r1 = bone154.addOrReplaceChild("bone154_r1", CubeListBuilder.create().texOffs(55, 63).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -8.6F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone155 = bone154.addOrReplaceChild("bone155", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone155_r1 = bone155.addOrReplaceChild("bone155_r1", CubeListBuilder.create().texOffs(55, 63).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -8.6F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone156 = bone155.addOrReplaceChild("bone156", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone156_r1 = bone156.addOrReplaceChild("bone156_r1", CubeListBuilder.create().texOffs(55, 63).addBox(-1.0F, 0.0F, -2.0F, 1.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -8.6F, -0.8727F, 0.0F, 0.0F));
-
- PartDefinition bone43 = base_console.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(81, 46).addBox(-1.0F, -2.0F, -22.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(81, 46).addBox(-1.0F, -2.0F, -22.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(81, 46).addBox(-1.0F, -2.0F, -22.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(81, 46).addBox(-1.0F, -2.0F, -22.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(81, 46).addBox(-1.0F, -2.0F, -22.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(81, 46).addBox(-1.0F, -2.0F, -22.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone7 = base_console.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(81, 41).addBox(-1.0F, -2.0F, -9.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(81, 41).addBox(-1.0F, -2.0F, -9.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(81, 41).addBox(-1.0F, -2.0F, -9.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(81, 41).addBox(-1.0F, -2.0F, -9.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(81, 41).addBox(-1.0F, -2.0F, -9.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(81, 41).addBox(-1.0F, -2.0F, -9.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone49 = base_console.addOrReplaceChild("bone49", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -6.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone49_r1 = bone49.addOrReplaceChild("bone49_r1", CubeListBuilder.create().texOffs(22, 34).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, -17.075F, 0.6283F, 0.0F, 0.0F));
-
- PartDefinition bone50 = bone49.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone50_r1 = bone50.addOrReplaceChild("bone50_r1", CubeListBuilder.create().texOffs(22, 34).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, -17.075F, 0.6283F, 0.0F, 0.0F));
-
- PartDefinition bone51 = bone50.addOrReplaceChild("bone51", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone51_r1 = bone51.addOrReplaceChild("bone51_r1", CubeListBuilder.create().texOffs(22, 34).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, -17.075F, 0.6283F, 0.0F, 0.0F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone52_r1 = bone52.addOrReplaceChild("bone52_r1", CubeListBuilder.create().texOffs(22, 34).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, -17.075F, 0.6283F, 0.0F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53_r1 = bone53.addOrReplaceChild("bone53_r1", CubeListBuilder.create().texOffs(22, 34).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, -17.075F, 0.6283F, 0.0F, 0.0F));
-
- PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone54_r1 = bone54.addOrReplaceChild("bone54_r1", CubeListBuilder.create().texOffs(22, 34).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -10.0F, -17.075F, 0.6283F, 0.0F, 0.0F));
-
- PartDefinition bone19 = base_console.addOrReplaceChild("bone19", CubeListBuilder.create(), PartPose.offset(0.0F, -7.0F, 0.0F));
-
- PartDefinition bone55 = bone19.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(0, 0).addBox(-8.5F, 0.0167F, -11.0271F, 17.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone55_r1 = bone55.addOrReplaceChild("bone55_r1", CubeListBuilder.create().texOffs(40, 24).mirror().addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.7553F, -0.0083F, -10.4723F, 0.0F, 0.4189F, 0.0F));
-
- PartDefinition bone55_r2 = bone55.addOrReplaceChild("bone55_r2", CubeListBuilder.create().texOffs(40, 24).addBox(-1.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.7553F, -0.0083F, -10.4723F, 0.0F, -0.4189F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 0).addBox(-8.5F, 0.0167F, -11.0271F, 17.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone21_r1 = bone21.addOrReplaceChild("bone21_r1", CubeListBuilder.create().texOffs(40, 24).mirror().addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.7553F, -0.0083F, -10.4723F, 0.0F, 0.4189F, 0.0F));
-
- PartDefinition bone21_r2 = bone21.addOrReplaceChild("bone21_r2", CubeListBuilder.create().texOffs(40, 24).addBox(-1.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.7553F, -0.0083F, -10.4723F, 0.0F, -0.4189F, 0.0F));
-
- PartDefinition bone22 = bone20.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 0).addBox(-8.5F, 0.0167F, -11.0271F, 17.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone23_r1 = bone23.addOrReplaceChild("bone23_r1", CubeListBuilder.create().texOffs(40, 24).mirror().addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.7553F, -0.0083F, -10.4723F, 0.0F, 0.4189F, 0.0F));
-
- PartDefinition bone23_r2 = bone23.addOrReplaceChild("bone23_r2", CubeListBuilder.create().texOffs(40, 24).addBox(-1.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.7553F, -0.0083F, -10.4723F, 0.0F, -0.4189F, 0.0F));
-
- PartDefinition bone24 = bone22.addOrReplaceChild("bone24", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone56 = bone24.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(0, 0).addBox(-8.5F, 0.0167F, -11.0271F, 17.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone56_r1 = bone56.addOrReplaceChild("bone56_r1", CubeListBuilder.create().texOffs(40, 24).mirror().addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.7553F, -0.0083F, -10.4723F, 0.0F, 0.4189F, 0.0F));
-
- PartDefinition bone56_r2 = bone56.addOrReplaceChild("bone56_r2", CubeListBuilder.create().texOffs(40, 24).addBox(-1.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.7553F, -0.0083F, -10.4723F, 0.0F, -0.4189F, 0.0F));
-
- PartDefinition bone57 = bone24.addOrReplaceChild("bone57", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone58 = bone57.addOrReplaceChild("bone58", CubeListBuilder.create().texOffs(0, 0).addBox(-8.5F, 0.0167F, -11.0271F, 17.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone58_r1 = bone58.addOrReplaceChild("bone58_r1", CubeListBuilder.create().texOffs(40, 24).mirror().addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.7553F, -0.0083F, -10.4723F, 0.0F, 0.4189F, 0.0F));
-
- PartDefinition bone58_r2 = bone58.addOrReplaceChild("bone58_r2", CubeListBuilder.create().texOffs(40, 24).addBox(-1.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.7553F, -0.0083F, -10.4723F, 0.0F, -0.4189F, 0.0F));
-
- PartDefinition bone59 = bone57.addOrReplaceChild("bone59", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone60 = bone59.addOrReplaceChild("bone60", CubeListBuilder.create().texOffs(0, 0).addBox(-8.5F, 0.0167F, -11.0271F, 17.0F, 1.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.6975F, -7.2465F, 0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone60_r1 = bone60.addOrReplaceChild("bone60_r1", CubeListBuilder.create().texOffs(40, 24).mirror().addBox(0.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.7553F, -0.0083F, -10.4723F, 0.0F, 0.4189F, 0.0F));
-
- PartDefinition bone60_r2 = bone60.addOrReplaceChild("bone60_r2", CubeListBuilder.create().texOffs(40, 24).addBox(-1.0F, 0.0F, -0.5F, 1.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.7553F, -0.0083F, -10.4723F, 0.0F, -0.4189F, 0.0F));
-
- PartDefinition bone73 = base_console.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(17, 81).addBox(-1.0F, -10.0F, -7.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -14.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(17, 81).addBox(-1.0F, -10.0F, -7.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(17, 81).addBox(-1.0F, -10.0F, -7.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone76 = bone75.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(17, 81).addBox(-1.0F, -10.0F, -7.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(17, 81).addBox(-1.0F, -10.0F, -7.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone78 = bone77.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(17, 81).addBox(-1.0F, -10.0F, -7.725F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone109 = base_console.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -14.0F, -5.725F, 2.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -45.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone110 = bone109.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -14.0F, -5.725F, 2.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -14.0F, -5.725F, 2.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone112 = bone111.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -14.0F, -5.725F, 2.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -14.0F, -5.725F, 2.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone114 = bone113.addOrReplaceChild("bone114", CubeListBuilder.create().texOffs(0, 0).addBox(-1.0F, -14.0F, -5.725F, 2.0F, 6.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone85 = base_console.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(41, 24).addBox(-1.0F, -11.0F, -5.725F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone86 = bone85.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(41, 24).addBox(-1.0F, -11.0F, -5.725F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone87 = bone86.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(41, 24).addBox(-1.0F, -11.0F, -5.725F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone88 = bone87.addOrReplaceChild("bone88", CubeListBuilder.create().texOffs(41, 24).addBox(-1.0F, -11.0F, -5.725F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(41, 24).addBox(-1.0F, -11.0F, -5.725F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone90 = bone89.addOrReplaceChild("bone90", CubeListBuilder.create().texOffs(41, 24).addBox(-1.0F, -11.0F, -5.725F, 2.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone121 = base_console.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(26, 34).addBox(-1.0F, -11.5F, -7.725F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -51.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone122 = bone121.addOrReplaceChild("bone122", CubeListBuilder.create().texOffs(26, 34).addBox(-1.0F, -11.5F, -7.725F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone123 = bone122.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(26, 34).addBox(-1.0F, -11.5F, -7.725F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone124 = bone123.addOrReplaceChild("bone124", CubeListBuilder.create().texOffs(26, 34).addBox(-1.0F, -11.5F, -7.725F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(26, 34).addBox(-1.0F, -11.5F, -7.725F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone126 = bone125.addOrReplaceChild("bone126", CubeListBuilder.create().texOffs(26, 34).addBox(-1.0F, -11.5F, -7.725F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone103 = base_console.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(80, 61).addBox(-1.0F, -9.5F, -6.7F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -47.5F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone104 = bone103.addOrReplaceChild("bone104", CubeListBuilder.create().texOffs(80, 61).addBox(-1.0F, -9.5F, -6.7F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(80, 61).addBox(-1.0F, -9.5F, -6.7F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone106 = bone105.addOrReplaceChild("bone106", CubeListBuilder.create().texOffs(80, 61).addBox(-1.0F, -9.5F, -6.7F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone107 = bone106.addOrReplaceChild("bone107", CubeListBuilder.create().texOffs(80, 61).addBox(-1.0F, -9.5F, -6.7F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108 = bone107.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(80, 61).addBox(-1.0F, -9.5F, -6.7F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone115 = base_console.addOrReplaceChild("bone115", CubeListBuilder.create().texOffs(45, 41).addBox(-3.0F, -11.5F, -7.2F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -51.5F, 0.0F));
-
- PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create().texOffs(45, 41).addBox(-3.0F, -11.5F, -7.2F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(45, 41).addBox(-3.0F, -11.5F, -7.2F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone118 = bone117.addOrReplaceChild("bone118", CubeListBuilder.create().texOffs(45, 41).addBox(-3.0F, -11.5F, -7.2F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone119 = bone118.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(45, 41).addBox(-3.0F, -11.5F, -7.2F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone120 = bone119.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(45, 41).addBox(-3.0F, -11.5F, -7.2F, 6.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97 = base_console.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(66, 37).addBox(-2.5F, -9.5F, -6.3F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -47.5F, 0.0F));
-
- PartDefinition bone98 = bone97.addOrReplaceChild("bone98", CubeListBuilder.create().texOffs(66, 37).addBox(-2.5F, -9.5F, -6.3F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(66, 37).addBox(-2.5F, -9.5F, -6.3F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone100 = bone99.addOrReplaceChild("bone100", CubeListBuilder.create().texOffs(66, 37).addBox(-2.5F, -9.5F, -6.3F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(66, 37).addBox(-2.5F, -9.5F, -6.3F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone102 = bone101.addOrReplaceChild("bone102", CubeListBuilder.create().texOffs(66, 37).addBox(-2.5F, -9.5F, -6.3F, 5.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone139 = base_console.addOrReplaceChild("bone139", CubeListBuilder.create().texOffs(0, 34).addBox(-1.0F, -6.5F, -6.225F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -52.0F, 0.0F));
-
- PartDefinition bone140 = bone139.addOrReplaceChild("bone140", CubeListBuilder.create().texOffs(0, 34).addBox(-1.0F, -6.5F, -6.225F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone141 = bone140.addOrReplaceChild("bone141", CubeListBuilder.create().texOffs(0, 34).addBox(-1.0F, -6.5F, -6.225F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone142 = bone141.addOrReplaceChild("bone142", CubeListBuilder.create().texOffs(0, 34).addBox(-1.0F, -6.5F, -6.225F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone143 = bone142.addOrReplaceChild("bone143", CubeListBuilder.create().texOffs(0, 34).addBox(-1.0F, -6.5F, -6.225F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone144 = bone143.addOrReplaceChild("bone144", CubeListBuilder.create().texOffs(0, 34).addBox(-1.0F, -6.5F, -6.225F, 2.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone91 = base_console.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -6.5F, -5.475F, 4.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -52.5F, 0.0F));
-
- PartDefinition bone92 = bone91.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -6.5F, -5.475F, 4.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -6.5F, -5.475F, 4.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -6.5F, -5.475F, 4.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -6.5F, -5.475F, 4.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(0, 46).addBox(-2.0F, -6.5F, -5.475F, 4.0F, 6.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone79 = base_console.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(80, 35).addBox(-1.0F, -11.5F, -5.975F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -15.5F, 0.0F));
-
- PartDefinition bone79_r1 = bone79.addOrReplaceChild("bone79_r1", CubeListBuilder.create().texOffs(47, 0).addBox(-2.0F, -2.5F, 0.0F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -5.475F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone80 = bone79.addOrReplaceChild("bone80", CubeListBuilder.create().texOffs(80, 35).addBox(-1.0F, -11.5F, -5.975F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone80_r1 = bone80.addOrReplaceChild("bone80_r1", CubeListBuilder.create().texOffs(47, 0).addBox(-2.0F, -2.5F, 0.0F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -5.475F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create().texOffs(80, 35).addBox(-1.0F, -11.5F, -5.975F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone81_r1 = bone81.addOrReplaceChild("bone81_r1", CubeListBuilder.create().texOffs(47, 0).addBox(-2.0F, -2.5F, 0.0F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -5.475F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create().texOffs(80, 35).addBox(-1.0F, -11.5F, -5.975F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone82_r1 = bone82.addOrReplaceChild("bone82_r1", CubeListBuilder.create().texOffs(47, 0).addBox(-2.0F, -2.5F, 0.0F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -5.475F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(80, 35).addBox(-1.0F, -11.5F, -5.975F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone83_r1 = bone83.addOrReplaceChild("bone83_r1", CubeListBuilder.create().texOffs(47, 0).addBox(-2.0F, -2.5F, 0.0F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -5.475F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone84 = bone83.addOrReplaceChild("bone84", CubeListBuilder.create().texOffs(80, 35).addBox(-1.0F, -11.5F, -5.975F, 2.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone84_r1 = bone84.addOrReplaceChild("bone84_r1", CubeListBuilder.create().texOffs(47, 0).addBox(-2.0F, -2.5F, 0.0F, 4.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -8.5F, -5.475F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone67 = base_console.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(63, 0).addBox(-3.0F, -10.0F, -7.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -14.0F, 0.0F));
-
- PartDefinition bone68 = bone67.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(63, 0).addBox(-3.0F, -10.0F, -7.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(63, 0).addBox(-3.0F, -10.0F, -7.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone70 = bone69.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(63, 0).addBox(-3.0F, -10.0F, -7.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(63, 0).addBox(-3.0F, -10.0F, -7.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone72 = bone71.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(63, 0).addBox(-3.0F, -10.0F, -7.2F, 6.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = base_console.addOrReplaceChild("bone37", CubeListBuilder.create(), PartPose.offset(0.0F, -7.0F, 0.0F));
-
- PartDefinition bone37_r1 = bone37.addOrReplaceChild("bone37_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-10.5F, 0.0F, 1.775F, 21.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -21.95F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone38_r1 = bone38.addOrReplaceChild("bone38_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-10.5F, 0.0F, 1.775F, 21.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -21.95F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone39_r1 = bone39.addOrReplaceChild("bone39_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-10.5F, 0.0F, 1.775F, 21.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -21.95F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40_r1 = bone40.addOrReplaceChild("bone40_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-10.5F, 0.0F, 1.775F, 21.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -21.95F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41_r1 = bone41.addOrReplaceChild("bone41_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-10.5F, 0.0F, 1.775F, 21.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -21.95F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42_r1 = bone42.addOrReplaceChild("bone42_r1", CubeListBuilder.create().texOffs(0, 14).addBox(-10.5F, 0.0F, 1.775F, 21.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -9.0F, -21.95F, -0.0044F, 0.0F, 0.0F));
-
- PartDefinition bone169 = base_console.addOrReplaceChild("bone169", CubeListBuilder.create().texOffs(0, 24).addBox(-8.0F, -7.0F, -13.85F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -7.0F, 0.0F));
-
- PartDefinition bone170 = bone169.addOrReplaceChild("bone170", CubeListBuilder.create().texOffs(0, 24).addBox(-8.0F, -7.0F, -13.85F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone171 = bone170.addOrReplaceChild("bone171", CubeListBuilder.create().texOffs(0, 24).addBox(-8.0F, -7.0F, -13.85F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone172 = bone171.addOrReplaceChild("bone172", CubeListBuilder.create().texOffs(0, 24).addBox(-8.0F, -7.0F, -13.85F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone173 = bone172.addOrReplaceChild("bone173", CubeListBuilder.create().texOffs(0, 24).addBox(-8.0F, -7.0F, -13.85F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone174 = bone173.addOrReplaceChild("bone174", CubeListBuilder.create().texOffs(0, 24).addBox(-8.0F, -7.0F, -13.85F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone25 = base_console.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(18, 67).addBox(-2.5F, -7.0F, -6.425F, 5.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(18, 67).addBox(-2.5F, -7.0F, -6.425F, 5.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(18, 67).addBox(-2.5F, -7.0F, -6.425F, 5.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(18, 67).addBox(-2.5F, -7.0F, -6.425F, 5.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(18, 67).addBox(-2.5F, -7.0F, -6.425F, 5.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(18, 67).addBox(-2.5F, -7.0F, -6.425F, 5.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone13 = base_console.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(36, 65).addBox(-3.0F, -4.0F, -8.2F, 6.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -2.0F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(36, 65).addBox(-3.0F, -4.0F, -8.2F, 6.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(36, 65).addBox(-3.0F, -4.0F, -8.2F, 6.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(36, 65).addBox(-3.0F, -4.0F, -8.2F, 6.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(36, 65).addBox(-3.0F, -4.0F, -8.2F, 6.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(36, 65).addBox(-3.0F, -4.0F, -8.2F, 6.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone = base_console.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(0, 34).addBox(-4.0F, -2.0F, -8.925F, 8.0F, 2.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(0, 34).addBox(-4.0F, -2.0F, -8.925F, 8.0F, 2.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(0, 34).addBox(-4.0F, -2.0F, -8.925F, 8.0F, 2.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 34).addBox(-4.0F, -2.0F, -8.925F, 8.0F, 2.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(0, 34).addBox(-4.0F, -2.0F, -8.925F, 8.0F, 2.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(0, 34).addBox(-4.0F, -2.0F, -8.925F, 8.0F, 2.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
- upper_rotor.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- lower_rotor.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- controls.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- base_console.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ root().getAllParts().forEach(ModelPart::resetPose);
+ root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
@@ -2302,29 +60,53 @@ public void renderConsole(GlobalConsoleBlockEntity globalConsoleBlock, Level lev
root().getAllParts().forEach(ModelPart::resetPose);
TardisClientData reactions = TardisClientData.getInstance(level.dimension());
- if (globalConsoleBlock != null && globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED)) {
- if (reactions.isFlying()) {
- this.animate(reactions.ROTOR_ANIMATION, FLIGHT, Minecraft.getInstance().player.tickCount);
+ boolean powered = globalConsoleBlock == null || globalConsoleBlock.getBlockState().getValue(GlobalConsoleBlock.POWERED);
+
+
+ // Store tick count for later use
+ int tickCount = Minecraft.getInstance().player.tickCount;
+
+ if (globalConsoleBlock != null) {
+ // Booting logic
+ if (powered) {
+
+ if (globalConsoleBlock.getTicksBooting() > 0) {
+ if (!globalConsoleBlock.powerOn.isStarted()) {
+ globalConsoleBlock.powerOff.stop();
+ globalConsoleBlock.powerOn.start(tickCount);
+ }
+ this.animate(globalConsoleBlock.powerOn, POWER_ON, tickCount);
+ }
+
+ // Handle animations based on the current state (with flying first)
+ if (reactions.isFlying()) {
+ this.animate(reactions.ROTOR_ANIMATION, FLIGHT, tickCount);
+ } else if (reactions.isCrashing()) {
+ this.animate(reactions.CRASHING_ANIMATION, CRASH, tickCount);
+ } else {
+ if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get()) {
+ this.animate(globalConsoleBlock.liveliness, IDLE, tickCount);
+ }
+ }
+
} else {
- if (TRConfig.CLIENT.PLAY_CONSOLE_IDLE_ANIMATIONS.get() && globalConsoleBlock != null) {
- this.animate(globalConsoleBlock.liveliness, IDLE, Minecraft.getInstance().player.tickCount);
+ // Power off animation if not booting
+ if (!globalConsoleBlock.powerOff.isStarted()) {
+ globalConsoleBlock.powerOn.stop();
+ globalConsoleBlock.powerOff.start(tickCount);
}
+ this.animate(globalConsoleBlock.powerOff, POWER_OFF, tickCount);
}
+ throttle_control.yRot = 1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE));
}
- float rot = -1f + (2 * ((float) reactions.getThrottleStage() / TardisPilotingManager.MAX_THROTTLE_STAGE));
- throttle_control.xRot = rot;
-
- this.root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
+
@Override
public ResourceLocation getDefaultTexture() {
return VICTORIAN_TEXTURE;
}
- @Override
- public ResourceLocation getConsoleTheme() {
- return ConsoleTheme.VICTORIAN.getId();
- }
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/animations/RefurbishedConsoleModelAnimation.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/console/animations/RefurbishedConsoleModelAnimation.java
deleted file mode 100644
index e69de29b..00000000
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/device/ArtronPillarBlockModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/device/ArtronPillarBlockModel.java
deleted file mode 100644
index 43ac0447..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/device/ArtronPillarBlockModel.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.device;// Made with Blockbench 4.9.4
-// Exported for Minecraft version 1.17 or later with Mojang mappings
-// Paste this class into your mod and generate all required imports
-
-
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class ArtronPillarBlockModel extends HierarchicalModel {
-
- private final ModelPart root;
- private final ModelPart bb_main;
-
- public ArtronPillarBlockModel(ModelPart root) {
- this.root = root;
- this.bb_main = root.getChild("bb_main");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(24, 29).addBox(-4.0F, -16.0F, -4.0F, 8.0F, 16.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 29).addBox(-3.0F, -52.0F, -3.0F, 6.0F, 36.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-6.0F, -69.0F, -6.0F, 12.0F, 17.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
- @Override
- public ModelPart root() {
- return this.root;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BriefcaseDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BriefcaseDoorModel.java
index de082898..bd975c12 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BriefcaseDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/BriefcaseDoorModel.java
@@ -24,24 +24,6 @@ public BriefcaseDoorModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(51, 17).addBox(-10.0F, -46.9F, -6.0F, 20.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(0, 17).addBox(-10.0F, -46.9F, -6.0F, 20.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 33).addBox(-10.0F, -47.0F, -6.0F, 20.0F, 1.0F, 14.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-10.0F, -47.75F, -6.0F, 20.0F, 2.0F, 14.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition cube_r1 = bb_main.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 49).addBox(-7.0F, 1.0F, -2.25F, 14.0F, 48.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -48.0F, 9.25F, -0.1309F, 0.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void setDoorPosition(boolean open) {
this.isDoorOpen = open;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualInteriorDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualInteriorDoorModel.java
index fddd6a59..400e6620 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualInteriorDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualInteriorDoorModel.java
@@ -3,7 +3,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.world.entity.Entity;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
@@ -26,10 +26,10 @@ public DualInteriorDoorModel(ModelPart root, float openAmount) {
public DualInteriorDoorModel(ModelPart root, float openAmount, boolean openLeft, boolean openRight) {
this.root = root;
- this.leftDoor = JsonToAnimationDefinition.findPart(this, "left_door");
- this.frame = JsonToAnimationDefinition.findPart(this, "frame");
- this.rightDoor = JsonToAnimationDefinition.findPart(this, "right_door");
- this.portal = JsonToAnimationDefinition.findPart(this, "portal");
+ this.leftDoor = Frame.findPart(this, "left_door");
+ this.frame = Frame.findPart(this, "frame");
+ this.rightDoor = Frame.findPart(this, "right_door");
+ this.portal = Frame.findPart(this, "portal");
this.openAmount = openAmount;
this.openLeft = openLeft;
this.openRight = openRight;
@@ -67,7 +67,7 @@ public void renderPortalMask(GlobalDoorBlockEntity doorBlockEntity, boolean open
setDoorPosition(open);
this.root().getAllParts().forEach(modelPart -> modelPart.visible = false);
this.portal.visible = true;
- portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, 0, 0, 0, alpha);
}
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualTexInteriorDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualTexInteriorDoorModel.java
index 29eee065..3811e96d 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualTexInteriorDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/DualTexInteriorDoorModel.java
@@ -3,7 +3,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.world.entity.Entity;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
@@ -20,10 +20,10 @@ public class DualTexInteriorDoorModel extends ShellDoorModel {
public DualTexInteriorDoorModel(ModelPart root) {
this.root = root;
- this.open_door = JsonToAnimationDefinition.findPart(this, "door_open");
- this.closed_door = JsonToAnimationDefinition.findPart(this, "door_closed");
- this.frame = JsonToAnimationDefinition.findPart(this, "frame");
- this.portal = JsonToAnimationDefinition.findPart(this, "portal");
+ this.open_door = Frame.findPart(this, "door_open");
+ this.closed_door = Frame.findPart(this, "door_closed");
+ this.frame = Frame.findPart(this, "frame");
+ this.portal = Frame.findPart(this, "portal");
}
@@ -60,7 +60,7 @@ public void renderPortalMask(GlobalDoorBlockEntity doorBlockEntity, boolean open
setDoorPosition(open);
this.root().getAllParts().forEach(modelPart -> modelPart.visible = false);
this.portal.visible = true;
- portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, 0, 0, 0, alpha);
}
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GrowthDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GrowthDoorModel.java
index e9355f03..cc7f50c5 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GrowthDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/GrowthDoorModel.java
@@ -23,26 +23,6 @@ public GrowthDoorModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(33, 46).mirror().addBox(7.5F, -32.0F, -12.0F, 4.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 46).addBox(11.5F, -32.0F, -12.0F, 15.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(33, 46).addBox(26.5F, -32.0F, -12.0F, 4.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-19.0F, 24.0F, 19.55F));
-
- PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(33, 80).mirror().addBox(7.5F, -32.0F, -12.0F, 4.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 80).addBox(11.5F, -32.0F, -12.0F, 15.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(33, 80).addBox(26.5F, -32.0F, -12.0F, 4.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-19.0F, 24.0F, 19.55F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(44, 46).addBox(-5.5F, -34.0F, 7.55F, 11.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-15.5F, -44.0F, 7.825F, 31.0F, 44.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void renderFrame(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
door_closed.visible = !isDoorOpen;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HalfBakedDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HalfBakedDoorModel.java
index 09a8af1a..5e83de6e 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HalfBakedDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/HalfBakedDoorModel.java
@@ -21,27 +21,6 @@ public HalfBakedDoorModel(ModelPart root) {
this.rightDoor = this.root.getChild("right_door");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(48, 6).addBox(-9.0F, -4.0F, -8.0F, 18.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-7.0F, -37.0F, -6.0F, 14.0F, 33.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(48, 0).addBox(-9.0F, -39.0F, -8.0F, 18.0F, 2.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(48, 17).addBox(-5.0F, -37.0F, -8.0F, 10.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(9, 35).addBox(-9.0F, -37.0F, -7.0F, 2.0F, 33.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 35).addBox(7.0F, -37.0F, -7.0F, 2.0F, 33.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(48, 12).addBox(-7.0F, -37.0F, -6.1F, 14.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 26.0F, 13.0F));
-
- PartDefinition bone = door.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -20.0F, 11.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition left_door = partdefinition.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(31, 33).addBox(0.0F, -15.0F, -0.6F, 7.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-7.0F, 6.0F, 7.4F));
-
- PartDefinition right_door = partdefinition.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(31, 0).addBox(-7.0F, -15.0F, -0.6F, 7.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 6.0F, 7.4F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PagodaDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PagodaDoorModel.java
deleted file mode 100644
index 7f5e2f1a..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/PagodaDoorModel.java
+++ /dev/null
@@ -1,115 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.door.interior;
-
-
-import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.blaze3d.vertex.VertexConsumer;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-import whocraft.tardis_refined.client.model.blockentity.shell.ShellModel;
-import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
-
-public class PagodaDoorModel extends ShellDoorModel {
- private final ModelPart root;
- private final ModelPart door;
- private final ModelPart bone10;
- private final ModelPart bone9;
- private final ModelPart bone13;
- private final ModelPart bone;
- private final ModelPart bone4;
- private final ModelPart bb_main;
-
- public PagodaDoorModel(ModelPart root) {
- this.root = root;
- this.door = root.getChild("door");
- this.bone10 = root.getChild("bone10");
- this.bone9 = root.getChild("bone9");
- this.bone13 = root.getChild("bone13");
- this.bone = root.getChild("bone");
- this.bone4 = root.getChild("bone4");
- this.bb_main = root.getChild("bb_main");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(43, 0).mirror().addBox(-0.1F, -14.0F, -0.5F, 14.0F, 24.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 42).mirror().addBox(-0.1F, -14.0F, 0.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-6.9F, 6.0F, 4.0F));
-
- PartDefinition bone10 = partdefinition.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -11.25F, 12.0F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition cube_r1 = bone10.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(31, 45).mirror().addBox(-1.0F, -2.5F, -11.0F, 1.0F, 4.0F, 12.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(31, 62).mirror().addBox(-1.0F, -1.0F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, -6.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone9 = partdefinition.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -11.25F, 12.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r2 = bone9.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(31, 45).addBox(0.0F, -2.5F, -11.0F, 1.0F, 4.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(31, 62).addBox(-1.0F, -1.0F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -6.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone13 = partdefinition.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offset(0.0F, -11.25F, 12.0F));
-
- PartDefinition cube_r3 = bone13.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(37, 36).addBox(-9.5F, 0.0F, -6.0F, 19.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -5.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 12.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone6 = bone2.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone4 = partdefinition.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(58, 45).addBox(7.0F, -33.0F, -8.0F, 2.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 11.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 1.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone7 = bone5.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(58, 45).addBox(7.0F, -33.0F, -9.0F, 2.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, -38.0F, 5.0F, 18.0F, 38.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 76).addBox(-9.0F, -0.025F, 3.0F, 18.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
- @Override
- public void renderFrame(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
- setDoorPosition(open);
- door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- bone10.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- bone9.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- bone13.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- bone4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- bb_main.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- }
-
- @Override
- public void renderPortalMask(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
-
- }
-
- @Override
- public ModelPart root() {
- return root;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-
- @Override
- public void setDoorPosition(boolean open) {
- this.door.yRot = (open) ? -275f : 0;
- }
-
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/ShellDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/ShellDoorModel.java
index db231eb4..0c27988c 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/ShellDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/ShellDoorModel.java
@@ -29,6 +29,6 @@ public void setupAnim(Entity entity, float f, float g, float h, float i, float j
public ResourceLocation getInteriorDoorTexture(GlobalDoorBlockEntity globalDoorBlockEntity) {
ShellPattern pattern = globalDoorBlockEntity.pattern();
- return pattern.interiorDoorTexture().texture();
+ return pattern.doorTexture().texture();
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleInteriorDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleInteriorDoorModel.java
index 621885a6..8179f5e8 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleInteriorDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleInteriorDoorModel.java
@@ -3,7 +3,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.world.entity.Entity;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
@@ -20,9 +20,9 @@ public class SingleInteriorDoorModel extends ShellDoorModel {
public SingleInteriorDoorModel(ModelPart root, float openAmount) {
this.root = root;
- this.frame = JsonToAnimationDefinition.findPart(this, "frame");
- this.door = JsonToAnimationDefinition.findPart(this, "door");
- this.portal = JsonToAnimationDefinition.findPart(this, "portal");
+ this.frame = Frame.findPart(this, "frame");
+ this.door = Frame.findPart(this, "door");
+ this.portal = Frame.findPart(this, "portal");
this.openAmount = openAmount;
}
@@ -58,7 +58,7 @@ public void renderPortalMask(GlobalDoorBlockEntity doorBlockEntity, boolean open
setDoorPosition(open);
this.root().getAllParts().forEach(modelPart -> modelPart.visible = false);
this.portal.visible = true;
- portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, 0, 0, 0, alpha);
}
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleTexInteriorDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleTexInteriorDoorModel.java
index b21d9453..23f4aab7 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleTexInteriorDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/door/interior/SingleTexInteriorDoorModel.java
@@ -3,7 +3,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.world.entity.Entity;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
@@ -19,9 +19,9 @@ public class SingleTexInteriorDoorModel extends ShellDoorModel {
public SingleTexInteriorDoorModel(ModelPart root) {
this.root = root;
- this.door = JsonToAnimationDefinition.findPart(this, "door");
- this.frame = JsonToAnimationDefinition.findPart(this, "frame");
- this.portal = JsonToAnimationDefinition.findPart(this, "portal");
+ this.door = Frame.findPart(this, "door");
+ this.frame = Frame.findPart(this, "frame");
+ this.portal = Frame.findPart(this, "portal");
}
@@ -57,7 +57,7 @@ public void renderPortalMask(GlobalDoorBlockEntity doorBlockEntity, boolean open
setDoorPosition(open);
this.root().getAllParts().forEach(modelPart -> modelPart.visible = false);
this.portal.visible = true;
- portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ portal.render(poseStack, vertexConsumer, packedLight, packedOverlay, 0, 0, 0, alpha);
}
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ArsEggModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ArsEggModel.java
index 9865882b..bf6677bd 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ArsEggModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ArsEggModel.java
@@ -2,16 +2,11 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.HierarchicalModel;
import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.AnimationState;
import net.minecraft.world.entity.Entity;
@@ -22,8 +17,8 @@
public class ArsEggModel extends HierarchicalModel {
- public static final AnimationDefinition CRASHING = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/living/ars_egg/crashing.json"));
- public static final AnimationDefinition SWINGING = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/living/ars_egg/swinging.json"));
+ public static final AnimationDefinition CRASHING = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/living/ars_egg/crashing.json"));
+ public static final AnimationDefinition SWINGING = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/living/ars_egg/swinging.json"));
private final ModelPart Lamp;
private final ModelPart root;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/PortalModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/PortalModel.java
new file mode 100644
index 00000000..eb5f0c8f
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/PortalModel.java
@@ -0,0 +1,9 @@
+package whocraft.tardis_refined.client.model.blockentity.life;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+import net.minecraft.world.level.block.entity.BlockEntity;
+
+public interface PortalModel {
+ void renderPortalMask(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha);
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ZeitonGlassModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ZeitonGlassModel.java
new file mode 100644
index 00000000..5a90d4ec
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/life/ZeitonGlassModel.java
@@ -0,0 +1,34 @@
+package whocraft.tardis_refined.client.model.blockentity.life;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+import net.minecraft.client.model.EntityModel;
+import net.minecraft.client.model.geom.ModelPart;
+import net.minecraft.world.entity.Entity;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
+
+public class ZeitonGlassModel extends EntityModel implements PortalModel {
+
+ private final ModelPart root;
+
+ public ZeitonGlassModel(ModelPart root) {
+ this.root = root;
+ }
+
+ @Override
+ public void renderPortalMask(PoseStack poseStack, VertexConsumer buffer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
+ root.render(poseStack, buffer, packedLight, packedOverlay, red, green, blue, alpha);
+ }
+
+ @Override
+ public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay,
+ float red, float green, float blue, float alpha) {
+ root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ }
+
+
+ @Override
+ public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
+
+ }
+}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModel.java
index 2c8f714b..fb0da9a8 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModel.java
@@ -94,7 +94,7 @@ public ResourceLocation getShellTexture(GlobalShellBlockEntity shellBlockEntitys
}
private ResourceLocation texture(ShellPattern pattern, boolean isEmmissive) {
- return isEmmissive ? pattern.exteriorDoorTexture().emissiveTexture() : pattern.exteriorDoorTexture().texture();
+ return isEmmissive ? pattern.shellTexture().emissiveTexture() : pattern.shellTexture().texture();
}
public boolean isIgnoreAnmationAlpha() {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModelCollection.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModelCollection.java
index da1c8d80..9fc32186 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModelCollection.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/ShellModelCollection.java
@@ -3,10 +3,14 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.geom.EntityModelSet;
import net.minecraft.resources.ResourceLocation;
-import whocraft.tardis_refined.TardisRefined;
+import org.apache.commons.lang3.Validate;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.api.event.TardisClientEvents;
import whocraft.tardis_refined.client.ModelRegistry;
import whocraft.tardis_refined.client.model.blockentity.door.interior.*;
+import whocraft.tardis_refined.client.model.blockentity.life.ZeitonGlassModel;
+import whocraft.tardis_refined.client.model.blockentity.shell.internal.door.ShulkerDoorModel;
import whocraft.tardis_refined.client.model.blockentity.shell.shells.*;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
import whocraft.tardis_refined.compat.ModCompatChecker;
@@ -14,13 +18,15 @@
import java.util.HashMap;
import java.util.Map;
+import static whocraft.tardis_refined.client.ModelRegistry.ZEITON_GLASS;
+
public class ShellModelCollection {
public static Map SHELL_MODELS = new HashMap<>();
- private static ShellModel factoryShellModel, policeBoxModel, phoneBoothModel, mysticModel, drifterModel,
+ private static ShellModel shulkerShellModel, factoryShellModel, policeBoxModel, phoneBoothModel, mysticModel, drifterModel,
presentModel, vendingModel, briefcaseModel, groeningModel, bigBenModel, nukaModel, growthModel,
portalooModel, pagodaModel, liftModel, hieroglyphModel, castleShellModel, pathfinderShellModel, halfBakedShellModel;
- private static ShellDoorModel factoryDoorModel, policeBoxDoorModel, phoneBoothDoorModel, mysticDoorModel, drifterDoorModel, presentDoorModel, vendingDoorModel, briefcaseDoorModel,
+ private static ShellDoorModel shulkerDoorModel, factoryDoorModel, policeBoxDoorModel, phoneBoothDoorModel, mysticDoorModel, drifterDoorModel, presentDoorModel, vendingDoorModel, briefcaseDoorModel,
groeningDoorModel, bigBenDoorModel, nukaDoorModel, growthDoorModel, portalooDoorModel, pagodaDoorModel, liftDoorModel, hieroglyphDoorModel, castleDoorModel, pathfinderDoorModel, halfBakedDoorModel;
private static ShellModelCollection instance = null;
@@ -67,6 +73,7 @@ public void registerModels(EntityModelSet context) {
castleShellModel = new CastleShellModel(context.bakeLayer((ModelRegistry.CASTLE_SHELL)));
pathfinderShellModel = new PathfinderShellModel(context.bakeLayer((ModelRegistry.PATHFINDER_SHELL)));
halfBakedShellModel = new HalfBakedShellModel(context.bakeLayer((ModelRegistry.HALF_BAKED_SHELL)));
+ shulkerShellModel = new ShulkerShellModel(context.bakeLayer((ModelRegistry.SHULKER_SHELL)));
// Doors
factoryDoorModel = new DualInteriorDoorModel(context.bakeLayer((ModelRegistry.FACTORY_DOOR)), 250f);
@@ -79,7 +86,7 @@ public void registerModels(EntityModelSet context) {
bigBenDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.BIG_BEN_DOOR)), 275f);
phoneBoothDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PHONE_BOOTH_DOOR)), (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f));
portalooDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PORTALOO_DOOR)), (ModCompatChecker.immersivePortals() ? 1.75f : -1.75f));
- groeningDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.GROENING_DOOR)), -275f);
+ groeningDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.GROENING_DOOR)), 275f);
drifterDoorModel = new SingleTexInteriorDoorModel(context.bakeLayer((ModelRegistry.DRIFTER_DOOR)));
vendingDoorModel = new SingleTexInteriorDoorModel(context.bakeLayer((ModelRegistry.VENDING_DOOR)));
@@ -91,14 +98,17 @@ public void registerModels(EntityModelSet context) {
growthDoorModel = new GrowthDoorModel(context.bakeLayer((ModelRegistry.GROWTH_DOOR)));
- pagodaDoorModel = new PagodaDoorModel(context.bakeLayer((ModelRegistry.PAGODA_DOOR)));
+ pagodaDoorModel = new SingleInteriorDoorModel(context.bakeLayer((ModelRegistry.PAGODA_DOOR)), 275f);
liftDoorModel = new DualTexInteriorDoorModel(context.bakeLayer((ModelRegistry.LIFT_DOOR)));
hieroglyphDoorModel = new DualTexInteriorDoorModel(context.bakeLayer((ModelRegistry.HIEROGLYPH_DOOR)));
halfBakedDoorModel = new HalfBakedDoorModel(context.bakeLayer((ModelRegistry.HALF_BAKED_DOOR)));
+ shulkerDoorModel = new ShulkerDoorModel(context.bakeLayer((ModelRegistry.SHULKER_DOOR)));
+ EntityModelSet entityModels = Minecraft.getInstance().getEntityModels();
+ ModelRegistry.zeitonGlassModel = new ZeitonGlassModel(entityModels.bakeLayer(ZEITON_GLASS));
TardisClientEvents.SHELLENTRY_MODELS_SETUP.invoker().setUpShellAndInteriorModels(context);
@@ -121,17 +131,24 @@ public void registerModels(EntityModelSet context) {
registerShellEntry(ShellTheme.CASTLE.get(), castleShellModel, castleDoorModel);
registerShellEntry(ShellTheme.PATHFINDER.get(), pathfinderShellModel, pathfinderDoorModel);
registerShellEntry(ShellTheme.HALF_BAKED.get(), halfBakedShellModel, halfBakedDoorModel);
- validateModels();
+ registerShellEntry(ShellTheme.SHULKER.get(), shulkerShellModel, shulkerDoorModel);
+ validateShellModels();
}
- private void validateModels() {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ShellPatternProvider");
+
+
+ private void validateShellModels() {
for (ResourceLocation resourceLocation : ShellTheme.SHELL_THEME_DEFERRED_REGISTRY.keySet()) {
- if(!SHELL_MODELS.containsKey(resourceLocation)){
- TardisRefined.LOGGER.info("There was no model setup for shell theme {}", resourceLocation);
- }
+ Validate.isTrue(
+ SHELL_MODELS.containsKey(resourceLocation),
+ String.format("Missing registered model for shell theme: %s", resourceLocation)
+ );
}
}
+
+
/**
* Get the associated shell model from a shell theme.
*
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/RootShellDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/RootShellDoorModel.java
index 15ab7795..3e09e71e 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/RootShellDoorModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/RootShellDoorModel.java
@@ -20,17 +20,6 @@ public RootShellDoorModel(ModelPart root) {
this.stage7 = root.getChild("stage7");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage7 = partdefinition.addOrReplaceChild("stage7", CubeListBuilder.create().texOffs(39, 48).addBox(105.0F, -38.0F, 6.55F, 18.0F, 38.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(96.0F, -46.0F, 6.825F, 36.0F, 46.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 48).addBox(105.0F, -38.0F, 6.8F, 18.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-114.0F, 24.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
stage7.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/ShulkerDoorModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/ShulkerDoorModel.java
new file mode 100644
index 00000000..6e04a224
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/internal/door/ShulkerDoorModel.java
@@ -0,0 +1,52 @@
+package whocraft.tardis_refined.client.model.blockentity.shell.internal.door;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+import net.minecraft.client.model.geom.ModelPart;
+import whocraft.tardis_refined.client.model.blockentity.door.interior.ShellDoorModel;
+import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
+
+public class ShulkerDoorModel extends ShellDoorModel {
+
+ private final ModelPart base;
+ private final ModelPart lid;
+ private final ModelPart head;
+ private final ModelPart root;
+
+ public ShulkerDoorModel(ModelPart modelPart) {
+ this.root = modelPart;
+ this.lid = modelPart.getChild("lid");
+ this.base = modelPart.getChild("base");
+ this.head = modelPart.getChild("head");
+ }
+
+
+ @Override
+ public void renderFrame(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
+ head.visible = false;
+ this.root().render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ }
+
+ @Override
+ public void renderPortalMask(GlobalDoorBlockEntity doorBlockEntity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
+
+ }
+
+ @Override
+ public ModelPart root() {
+ return root;
+ }
+
+ @Override
+ public void setDoorPosition(boolean open) {
+ if (!open) {
+ this.lid.setPos(0.0F, 16.0F + 8.0F, 0.0F);
+ this.lid.yRot = 0.0F;
+ } else {
+ this.lid.setPos(0.0F, 16.0F, 0.0F);
+ this.lid.yRot = 0.0F;
+ }
+ }
+
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFiveModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFiveModel.java
deleted file mode 100644
index 3cff99db..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFiveModel.java
+++ /dev/null
@@ -1,111 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.shell.rootplant;
-
-
-import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.blaze3d.vertex.VertexConsumer;
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class RootPlantStateFiveModel extends HierarchicalModel {
-
- private final ModelPart stage5;
-
- public RootPlantStateFiveModel(ModelPart root) {
- this.stage5 = root.getChild("stage5");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage5 = partdefinition.addOrReplaceChild("stage5", CubeListBuilder.create().texOffs(0, 0).addBox(-11.0F, 0.75F, -11.0F, 22.0F, 1.0F, 22.0F, new CubeDeformation(1.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone80 = stage5.addOrReplaceChild("bone80", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone86 = bone80.addOrReplaceChild("bone86", CubeListBuilder.create().texOffs(29, 24).addBox(-5.5F, -34.0F, 0.0F, 11.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.6F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone81 = bone80.addOrReplaceChild("bone81", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone87 = bone81.addOrReplaceChild("bone87", CubeListBuilder.create().texOffs(29, 24).addBox(-5.5F, -34.0F, 0.0F, 11.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.6F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone82 = bone81.addOrReplaceChild("bone82", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone83 = bone82.addOrReplaceChild("bone83", CubeListBuilder.create().texOffs(29, 24).addBox(-5.5F, -34.0F, 0.0F, 11.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.6F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone84 = bone82.addOrReplaceChild("bone84", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone85 = bone84.addOrReplaceChild("bone85", CubeListBuilder.create().texOffs(29, 24).addBox(-5.5F, -34.0F, 0.0F, 11.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.6F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone88 = bone84.addOrReplaceChild("bone88", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone89 = bone88.addOrReplaceChild("bone89", CubeListBuilder.create().texOffs(29, 24).addBox(-5.5F, -34.0F, 0.0F, 11.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.6F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone90 = bone88.addOrReplaceChild("bone90", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone91 = bone90.addOrReplaceChild("bone91", CubeListBuilder.create().texOffs(29, 24).addBox(-5.5F, -34.0F, 0.0F, 11.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -9.6F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone92 = stage5.addOrReplaceChild("bone92", CubeListBuilder.create().texOffs(0, 24).addBox(-3.5F, -32.0F, -6.1F, 7.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone93 = bone92.addOrReplaceChild("bone93", CubeListBuilder.create().texOffs(0, 24).addBox(-3.5F, -32.0F, -6.1F, 7.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone94 = bone93.addOrReplaceChild("bone94", CubeListBuilder.create().texOffs(0, 24).addBox(-3.5F, -32.0F, -6.1F, 7.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone95 = bone94.addOrReplaceChild("bone95", CubeListBuilder.create().texOffs(0, 24).addBox(-3.5F, -32.0F, -6.1F, 7.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone96 = bone95.addOrReplaceChild("bone96", CubeListBuilder.create().texOffs(0, 24).addBox(-3.5F, -32.0F, -6.1F, 7.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone97 = bone96.addOrReplaceChild("bone97", CubeListBuilder.create().texOffs(0, 24).addBox(-3.5F, -32.0F, -6.1F, 7.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone108 = stage5.addOrReplaceChild("bone108", CubeListBuilder.create().texOffs(54, 24).addBox(-3.5F, -4.0F, -6.1F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -32.0F, 0.0F));
-
- PartDefinition bone109 = bone108.addOrReplaceChild("bone109", CubeListBuilder.create().texOffs(54, 24).addBox(-3.5F, -4.0F, -6.1F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone110 = bone109.addOrReplaceChild("bone110", CubeListBuilder.create().texOffs(54, 24).addBox(-3.5F, -4.0F, -6.1F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone111 = bone110.addOrReplaceChild("bone111", CubeListBuilder.create().texOffs(54, 24).addBox(-3.5F, -4.0F, -6.1F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone112 = bone111.addOrReplaceChild("bone112", CubeListBuilder.create().texOffs(54, 24).addBox(-3.5F, -4.0F, -6.1F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone113 = bone112.addOrReplaceChild("bone113", CubeListBuilder.create().texOffs(54, 24).addBox(-3.5F, -4.0F, -6.1F, 7.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone98 = stage5.addOrReplaceChild("bone98", CubeListBuilder.create(), PartPose.offset(60.0F, 0.0F, 0.0F));
-
- PartDefinition bone99 = bone98.addOrReplaceChild("bone99", CubeListBuilder.create().texOffs(46, 52).addBox(-66.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(46, 52).addBox(-66.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone100 = bone98.addOrReplaceChild("bone100", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone101 = bone100.addOrReplaceChild("bone101", CubeListBuilder.create().texOffs(46, 52).addBox(-6.0F, -12.9864F, 50.5778F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(46, 52).addBox(-6.0F, -12.9864F, 50.5778F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone102 = bone100.addOrReplaceChild("bone102", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone103 = bone102.addOrReplaceChild("bone103", CubeListBuilder.create().texOffs(46, 52).addBox(54.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(46, 52).addBox(54.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone104 = bone102.addOrReplaceChild("bone104", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone105 = bone104.addOrReplaceChild("bone105", CubeListBuilder.create().texOffs(46, 52).addBox(-6.0F, 12.9864F, -66.5778F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(46, 52).addBox(-6.0F, 12.9864F, -66.5778F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
- @Override
- public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
- stage5.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- }
-
- @Override
- public ModelPart root() {
- return stage5;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFourModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFourModel.java
deleted file mode 100644
index 83236dfd..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateFourModel.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.shell.rootplant;// Made with Blockbench 4.5.1
-// Exported for Minecraft version 1.17 - 1.18 with Mojang mappings
-// Paste this class into your mod and generate all required imports
-
-
-import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.blaze3d.vertex.VertexConsumer;
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class RootPlantStateFourModel extends HierarchicalModel {
-
- private final ModelPart stage4;
-
- public RootPlantStateFourModel(ModelPart root) {
- this.stage4 = root.getChild("stage4");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage4 = partdefinition.addOrReplaceChild("stage4", CubeListBuilder.create().texOffs(0, 24).addBox(-4.0F, -22.5F, -4.0F, 8.0F, 22.0F, 8.0F, new CubeDeformation(0.5F))
- .texOffs(0, 0).addBox(-11.0F, -0.25F, -11.0F, 22.0F, 1.0F, 22.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone50 = stage4.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(33, 34).addBox(-3.5F, -26.0F, -6.1F, 7.0F, 26.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone51 = bone50.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(33, 34).addBox(-3.5F, -26.0F, -6.1F, 7.0F, 26.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone52 = bone51.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(33, 34).addBox(-3.5F, -26.0F, -6.1F, 7.0F, 26.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone53 = bone52.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(33, 34).addBox(-3.5F, -26.0F, -6.1F, 7.0F, 26.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone54 = bone53.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(33, 34).addBox(-3.5F, -26.0F, -6.1F, 7.0F, 26.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone55 = bone54.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(33, 34).addBox(-3.5F, -26.0F, -6.1F, 7.0F, 26.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone72 = stage4.addOrReplaceChild("bone72", CubeListBuilder.create(), PartPose.offset(36.0F, 0.0F, 0.0F));
-
- PartDefinition bone73 = bone72.addOrReplaceChild("bone73", CubeListBuilder.create().texOffs(33, 24).addBox(-42.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(33, 24).addBox(-42.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone74 = bone72.addOrReplaceChild("bone74", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone75 = bone74.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(33, 24).addBox(-6.0F, -7.7918F, 27.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(33, 24).addBox(-6.0F, -7.7918F, 27.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone76 = bone74.addOrReplaceChild("bone76", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone77 = bone76.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(33, 24).addBox(30.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(33, 24).addBox(30.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone78 = bone76.addOrReplaceChild("bone78", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone79 = bone78.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(33, 24).addBox(-6.0F, 7.7918F, -43.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(33, 24).addBox(-6.0F, 7.7918F, -43.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, -0.2182F, 0.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
-
- @Override
- public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
- stage4.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- }
-
- @Override
- public ModelPart root() {
- return stage4;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateOneModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateOneModel.java
deleted file mode 100644
index f51ab440..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateOneModel.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.shell.rootplant;// Made with Blockbench 4.5.1
-// Exported for Minecraft version 1.17 - 1.18 with Mojang mappings
-// Paste this class into your mod and generate all required imports
-
-
-import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.blaze3d.vertex.VertexConsumer;
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class RootPlantStateOneModel extends HierarchicalModel {
-
- private final ModelPart root;
-
- public RootPlantStateOneModel(ModelPart root) {
- this.root = root.getChild("stage1");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage1 = partdefinition.addOrReplaceChild("stage1", CubeListBuilder.create().texOffs(19, 17).addBox(-3.0F, -6.0F, -3.0F, 6.0F, 6.0F, 6.0F, new CubeDeformation(0.25F))
- .texOffs(0, 10).addBox(-3.0F, -6.0F, -3.0F, 6.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone = stage1.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(0, 0).addBox(-6.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone3 = bone.addOrReplaceChild("bone3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone14 = bone3.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(0, 0).addBox(-6.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone15 = bone3.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(0, 0).addBox(-6.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone47 = bone15.addOrReplaceChild("bone47", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(0, 0).addBox(-6.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 64, 64);
- }
-
- @Override
- public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
- root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- }
-
- @Override
- public ModelPart root() {
- return root;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateThreeModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateThreeModel.java
deleted file mode 100644
index 9a31d355..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateThreeModel.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.shell.rootplant;// Made with Blockbench 4.5.1
-// Exported for Minecraft version 1.17 - 1.18 with Mojang mappings
-// Paste this class into your mod and generate all required imports
-
-
-import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.blaze3d.vertex.VertexConsumer;
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class RootPlantStateThreeModel extends HierarchicalModel {
-
- private final ModelPart stage3;
-
- public RootPlantStateThreeModel(ModelPart root) {
- this.stage3 = root.getChild("stage3");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage3 = partdefinition.addOrReplaceChild("stage3", CubeListBuilder.create().texOffs(0, 0).addBox(-4.0F, -17.0F, -4.0F, 8.0F, 16.0F, 8.0F, new CubeDeformation(1.0F))
- .texOffs(36, 34).addBox(-2.5F, -15.0F, -2.5F, 5.0F, 14.0F, 5.0F, new CubeDeformation(1.0F))
- .texOffs(23, 15).addBox(-5.0F, -21.0F, -5.0F, 10.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone64 = stage3.addOrReplaceChild("bone64", CubeListBuilder.create(), PartPose.offset(36.0F, 0.0F, 0.0F));
-
- PartDefinition bone65 = bone64.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(0, 29).addBox(-42.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 29).addBox(-42.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone66 = bone64.addOrReplaceChild("bone66", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(0, 29).addBox(-6.0F, -7.7918F, 27.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 29).addBox(-6.0F, -7.7918F, 27.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone68 = bone66.addOrReplaceChild("bone68", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone69 = bone68.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(0, 29).addBox(30.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 29).addBox(30.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone70 = bone68.addOrReplaceChild("bone70", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone71 = bone70.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(0, 29).addBox(-6.0F, 7.7918F, -43.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 29).addBox(-6.0F, 7.7918F, -43.1467F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone8 = stage3.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(33, 0).addBox(-6.0F, -12.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -4.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone7 = bone8.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone10 = bone7.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(33, 0).addBox(-6.0F, -12.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -4.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone11 = bone7.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(33, 0).addBox(-6.0F, -12.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -4.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone13 = bone11.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone49 = bone13.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(33, 0).addBox(-6.0F, -12.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -4.0F, 0.3054F, 0.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 64, 64);
- }
-
- @Override
- public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
- stage3.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
- }
-
- @Override
- public ModelPart root() {
- return stage3;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateTwoModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateTwoModel.java
deleted file mode 100644
index 346e65c3..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootPlantStateTwoModel.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.shell.rootplant;// Made with Blockbench 4.5.1
-// Exported for Minecraft version 1.17 - 1.18 with Mojang mappings
-// Paste this class into your mod and generate all required imports
-
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class RootPlantStateTwoModel extends HierarchicalModel {
-
- private final ModelPart stage2;
-
-
- public RootPlantStateTwoModel(ModelPart root) {
-
- this.stage2 = root.getChild("stage2");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage2 = partdefinition.addOrReplaceChild("stage2", CubeListBuilder.create().texOffs(0, 27).addBox(-79.5F, -11.0F, -3.5F, 7.0F, 11.0F, 7.0F, new CubeDeformation(0.0F))
- .texOffs(36, 12).addBox(-78.5F, -7.0F, -2.5F, 5.0F, 7.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(29, 27).addBox(-79.5F, -14.0F, -3.5F, 7.0F, 3.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(76.0F, 24.0F, 0.0F));
-
- PartDefinition bone56 = stage2.addOrReplaceChild("bone56", CubeListBuilder.create(), PartPose.offset(-20.0F, 0.0F, 0.0F));
-
- PartDefinition bone57 = bone56.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(0, 17).addBox(-62.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 17).addBox(-62.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone58 = bone56.addOrReplaceChild("bone58", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone59 = bone58.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(0, 17).addBox(-6.0F, -12.1206F, 46.6726F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 17).addBox(-6.0F, -12.1206F, 46.6726F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone60 = bone58.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone61 = bone60.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(0, 17).addBox(50.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 17).addBox(50.0F, 0.0F, -8.0F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone62 = bone60.addOrReplaceChild("bone62", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone63 = bone62.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(0, 17).addBox(-6.0F, 12.1206F, -62.6726F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 17).addBox(-6.0F, 12.1206F, -62.6726F, 12.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone22 = stage2.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offset(-37.75F, 0.0F, 0.0F));
-
- PartDefinition bone20 = bone22.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.75F, 0.0F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 0).addBox(-45.0F, -7.5F, -8.0F, 12.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone4 = bone20.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(0, 0).addBox(-6.0F, -15.9411F, 30.0755F, 12.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone6 = bone4.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone17 = bone6.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(0, 0).addBox(33.0F, -7.5F, -8.0F, 12.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone18 = bone6.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 0).addBox(-6.0F, 0.9411F, -46.0755F, 12.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2182F, 0.0F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 64, 64);
- }
-
-
- @Override
- public ModelPart root() {
- return stage2;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootShellModel.java
deleted file mode 100644
index 42028429..00000000
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/rootplant/RootShellModel.java
+++ /dev/null
@@ -1,123 +0,0 @@
-package whocraft.tardis_refined.client.model.blockentity.shell.rootplant;// Made with Blockbench 4.5.1
-// Exported for Minecraft version 1.17 - 1.18 with Mojang mappings
-// Paste this class into your mod and generate all required imports
-
-
-import net.minecraft.client.model.HierarchicalModel;
-import net.minecraft.client.model.geom.ModelPart;
-import net.minecraft.client.model.geom.PartPose;
-import net.minecraft.client.model.geom.builders.*;
-import net.minecraft.world.entity.Entity;
-
-public class RootShellModel extends HierarchicalModel {
-
- private final ModelPart stage6;
-
- public RootShellModel(ModelPart root) {
- this.stage6 = root.getChild("stage6");
- }
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition stage6 = partdefinition.addOrReplaceChild("stage6", CubeListBuilder.create(), PartPose.offset(-19.0F, 24.0F, 0.0F));
-
- PartDefinition bone23 = stage6.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offset(19.0F, -19.0F, 0.0F));
-
- PartDefinition bone29 = bone23.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(31, 40).addBox(-7.0F, -38.0F, 0.0F, 14.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 19.0F, -12.0F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone24.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 40).addBox(-7.0F, -38.0F, 0.0F, 14.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 19.0F, -12.0F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone25 = bone24.addOrReplaceChild("bone25", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(31, 0).addBox(-7.0F, -38.0F, 0.0F, 14.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 19.0F, -12.0F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone27 = bone25.addOrReplaceChild("bone27", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(31, 0).addBox(-7.0F, -38.0F, 0.0F, 14.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 19.0F, -12.0F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone31 = bone27.addOrReplaceChild("bone31", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone32 = bone31.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(31, 0).addBox(-7.0F, -38.0F, 0.0F, 14.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 19.0F, -12.0F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone33 = bone31.addOrReplaceChild("bone33", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 0).addBox(-7.0F, -38.0F, 0.0F, 14.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 19.0F, -12.0F, -0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone35 = stage6.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(62, 40).addBox(-6.0F, -19.0F, -10.4F, 12.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(19.0F, -19.0F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(62, 0).addBox(-6.0F, -19.0F, -10.4F, 12.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(62, 0).addBox(-6.0F, -19.0F, -10.4F, 12.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone38 = bone37.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(62, 0).addBox(-6.0F, -19.0F, -10.4F, 12.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(62, 0).addBox(-6.0F, -19.0F, -10.4F, 12.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(62, 0).addBox(-6.0F, -19.0F, -10.4F, 12.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone114 = stage6.addOrReplaceChild("bone114", CubeListBuilder.create(), PartPose.offset(19.0F, -19.0F, 0.0F));
-
- PartDefinition bone120 = bone114.addOrReplaceChild("bone120", CubeListBuilder.create().texOffs(78, 69).addBox(-6.0F, 0.0F, 0.0F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, -10.4F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone115 = bone114.addOrReplaceChild("bone115", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone121 = bone115.addOrReplaceChild("bone121", CubeListBuilder.create().texOffs(78, 69).addBox(-6.0F, 0.0F, 0.0F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, -10.4F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone116 = bone115.addOrReplaceChild("bone116", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone117 = bone116.addOrReplaceChild("bone117", CubeListBuilder.create().texOffs(78, 69).addBox(-6.0F, 0.0F, 0.0F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, -10.4F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone118 = bone116.addOrReplaceChild("bone118", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone119 = bone118.addOrReplaceChild("bone119", CubeListBuilder.create().texOffs(78, 69).addBox(-6.0F, 0.0F, 0.0F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, -10.4F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone122 = bone118.addOrReplaceChild("bone122", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone123 = bone122.addOrReplaceChild("bone123", CubeListBuilder.create().texOffs(78, 69).addBox(-6.0F, 0.0F, 0.0F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, -10.4F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone124 = bone122.addOrReplaceChild("bone124", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone125 = bone124.addOrReplaceChild("bone125", CubeListBuilder.create().texOffs(78, 69).addBox(-6.0F, 0.0F, 0.0F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, -10.4F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone2 = stage6.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(78, 82).addBox(-6.0F, -20.0F, -10.4F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(19.0F, 19.0F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(78, 82).addBox(-6.0F, -20.0F, -10.4F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(78, 82).addBox(-6.0F, -20.0F, -10.4F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(78, 82).addBox(-6.0F, -20.0F, -10.4F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(78, 82).addBox(-6.0F, -20.0F, -10.4F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(78, 82).addBox(-6.0F, -20.0F, -10.4F, 12.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41 = stage6.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(0, 80).addBox(-6.0F, 13.0F, -10.4F, 12.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(19.0F, -57.0F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(0, 80).addBox(-6.0F, 13.0F, -10.4F, 12.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(0, 80).addBox(-6.0F, 13.0F, -10.4F, 12.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone44 = bone43.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(0, 80).addBox(-6.0F, 13.0F, -10.4F, 12.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(0, 80).addBox(-6.0F, 13.0F, -10.4F, 12.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(0, 80).addBox(-6.0F, 13.0F, -10.4F, 12.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
-
- @Override
- public ModelPart root() {
- return stage6;
- }
-
- @Override
- public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
-
- }
-}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BigBenShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BigBenShellModel.java
index 6c0cbefc..31d1a605 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BigBenShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BigBenShellModel.java
@@ -57,151 +57,6 @@ public BigBenShellModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(62, 77).addBox(-14.025F, -17.0F, 0.0F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(93, 77).addBox(-14.025F, -17.0F, 0.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.025F, 7.0F, -7.5F));
-
- PartDefinition sides = partdefinition.addOrReplaceChild("sides", CubeListBuilder.create().texOffs(31, 77).addBox(-7.0F, -34.0F, -8.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 67).addBox(-7.0F, -34.0F, -9.4F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone13 = sides.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(31, 77).addBox(-7.0F, -34.0F, -8.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 67).addBox(-7.0F, -34.0F, -9.4F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(31, 77).addBox(-7.0F, -34.0F, -8.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 67).addBox(-7.0F, -34.0F, -9.4F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone9 = partdefinition.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r1 = bone9.addOrReplaceChild("root_r1", CubeListBuilder.create().texOffs(107, 0).addBox(-5.0F, -11.8377F, -1.7322F, 10.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -60.0F, -3.25F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r2 = bone10.addOrReplaceChild("root_r2", CubeListBuilder.create().texOffs(107, 0).addBox(-5.0F, -11.8377F, -1.7322F, 10.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -60.0F, -3.25F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r3 = bone11.addOrReplaceChild("root_r3", CubeListBuilder.create().texOffs(107, 0).addBox(-5.0F, -11.8377F, -1.7322F, 10.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -60.0F, -3.25F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r4 = bone12.addOrReplaceChild("root_r4", CubeListBuilder.create().texOffs(107, 0).addBox(-5.0F, -11.8377F, -1.7322F, 10.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -60.0F, -3.25F, -0.2182F, 0.0F, 0.0F));
-
- PartDefinition bone24 = partdefinition.addOrReplaceChild("bone24", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -10.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r5 = bone24.addOrReplaceChild("root_r5", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition root_r6 = bone24.addOrReplaceChild("root_r6", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone23 = bone24.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r7 = bone23.addOrReplaceChild("root_r7", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition root_r8 = bone23.addOrReplaceChild("root_r8", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone25 = bone23.addOrReplaceChild("bone25", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r9 = bone25.addOrReplaceChild("root_r9", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition root_r10 = bone25.addOrReplaceChild("root_r10", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone26 = bone25.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition root_r11 = bone26.addOrReplaceChild("root_r11", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition root_r12 = bone26.addOrReplaceChild("root_r12", CubeListBuilder.create().texOffs(106, 55).addBox(-7.0F, -3.0F, 0.0F, 14.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, -10.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone4 = partdefinition.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(52, 113).addBox(6.0F, -38.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -1.0F));
-
- PartDefinition bone = bone4.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(35, 113).addBox(6.5F, -18.0F, -9.5F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(13, 103).addBox(7.0F, -34.0F, -9.0F, 3.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(26, 113).addBox(7.5F, -34.0F, -8.5F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone4.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(0, 47).addBox(6.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 23).addBox(6.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone3 = bone4.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(110, 21).addBox(6.0F, -47.0F, -10.0F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(73, 113).addBox(6.0F, -52.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone5 = partdefinition.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(52, 113).mirror().addBox(-11.0F, -38.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 24.0F, -1.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(35, 113).mirror().addBox(-10.5F, -18.0F, -9.5F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(13, 103).mirror().addBox(-10.0F, -34.0F, -9.0F, 3.0F, 34.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(26, 113).mirror().addBox(-9.5F, -34.0F, -8.5F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone7 = bone5.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(0, 47).mirror().addBox(-10.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 23).mirror().addBox(-10.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(-0.25F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone8 = bone5.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(110, 21).mirror().addBox(-11.0F, -47.0F, -10.0F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 113).mirror().addBox(-11.0F, -52.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone28 = partdefinition.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(106, 41).addBox(-6.0F, -6.0F, -8.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -19.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(106, 41).addBox(-6.0F, -6.0F, -8.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(106, 41).addBox(-6.0F, -6.0F, -8.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone15 = partdefinition.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(52, 113).mirror().addBox(-11.0F, -38.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-1.0F, 24.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(35, 113).mirror().addBox(-10.5F, -18.0F, -9.5F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(13, 103).mirror().addBox(-10.0F, -34.0F, -9.0F, 3.0F, 34.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(26, 113).mirror().addBox(-9.5F, -34.0F, -8.5F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone17 = bone15.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(0, 47).mirror().addBox(-10.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 23).mirror().addBox(-10.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(-0.25F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone18 = bone15.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(110, 21).mirror().addBox(-11.0F, -47.0F, -10.0F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 113).mirror().addBox(-11.0F, -52.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone19 = partdefinition.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(52, 113).addBox(6.0F, -38.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(35, 113).addBox(6.5F, -18.0F, -9.5F, 4.0F, 18.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(13, 103).addBox(7.0F, -34.0F, -9.0F, 3.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(26, 113).addBox(7.5F, -34.0F, -8.5F, 2.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone21 = bone19.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 47).addBox(6.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 23).addBox(6.0F, -47.0F, -9.0F, 4.0F, 9.0F, 4.0F, new CubeDeformation(-0.25F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone22 = bone19.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(110, 21).addBox(6.0F, -47.0F, -10.0F, 5.0F, 6.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(73, 113).addBox(6.0F, -52.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -6.0F, 0.0F));
-
- PartDefinition bone27 = partdefinition.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(106, 41).addBox(-6.0F, -6.0F, 0.0F, 12.0F, 12.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, -8.0F));
-
- PartDefinition N_big_hand = partdefinition.addOrReplaceChild("N_big_hand", CubeListBuilder.create().texOffs(55, 47).addBox(-0.5F, -5.0F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, -8.0F));
-
- PartDefinition N_small_hand = partdefinition.addOrReplaceChild("N_small_hand", CubeListBuilder.create().texOffs(55, 56).addBox(-0.5F, -3.0F, -0.525F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, -8.0F));
-
- PartDefinition S_big_hand = partdefinition.addOrReplaceChild("S_big_hand", CubeListBuilder.create().texOffs(55, 47).addBox(-0.5F, -5.0F, -0.5F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, 8.0F));
-
- PartDefinition S_small_hand = partdefinition.addOrReplaceChild("S_small_hand", CubeListBuilder.create().texOffs(55, 56).addBox(-0.5F, -3.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -19.0F, 8.0F));
-
- PartDefinition W_small_hand = partdefinition.addOrReplaceChild("W_small_hand", CubeListBuilder.create().texOffs(60, 56).addBox(-0.5F, -3.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, -19.0F, 0.0F));
-
- PartDefinition W_big_hand = partdefinition.addOrReplaceChild("W_big_hand", CubeListBuilder.create().texOffs(60, 47).addBox(-0.525F, -5.0F, -0.475F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, -19.0F, 0.0F));
-
- PartDefinition E_big_hand = partdefinition.addOrReplaceChild("E_big_hand", CubeListBuilder.create().texOffs(60, 47).mirror().addBox(-0.475F, -5.0F, -0.475F, 1.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-8.0F, -19.0F, 0.0F));
-
- PartDefinition E_small_hand = partdefinition.addOrReplaceChild("E_small_hand", CubeListBuilder.create().texOffs(60, 56).mirror().addBox(-0.5F, -3.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-8.0F, -19.0F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 23).addBox(-10.0F, -37.0F, -10.0F, 20.0F, 3.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(0, 47).addBox(-9.0F, -34.5F, -9.0F, 18.0F, 1.0F, 18.0F, new CubeDeformation(-0.475F))
- .texOffs(0, 0).addBox(-10.5F, -0.1F, -10.5F, 21.0F, 1.0F, 21.0F, new CubeDeformation(0.0F))
- .texOffs(0, 23).addBox(-10.0F, -52.0F, -10.0F, 20.0F, 3.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(57, 51).addBox(-8.0F, -60.0F, -8.0F, 16.0F, 9.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-2.0F, -74.0F, -2.0F, 4.0F, 14.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(61, 23).addBox(-8.0F, -61.0F, -8.0F, 16.0F, 1.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(64, 0).addBox(-7.0F, -66.0F, -7.0F, 14.0F, 6.0F, 14.0F, new CubeDeformation(0.0F))
- .texOffs(64, 0).addBox(-7.0F, -59.0F, -7.0F, 14.0F, 6.0F, 14.0F, new CubeDeformation(3.0F))
- .texOffs(0, 103).addBox(-8.5F, -34.0F, 5.5F, 3.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 103).mirror().addBox(5.5F, -34.0F, 5.5F, 3.0F, 34.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void setDoorPosition(boolean open) {
this.door.yRot = (open) ? -275f : 0;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BriefcaseShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BriefcaseShellModel.java
index c4af2185..9d7d7959 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BriefcaseShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/BriefcaseShellModel.java
@@ -24,22 +24,6 @@ public BriefcaseShellModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(0, 42).addBox(-10.0F, -4.5F, -14.0F, 20.0F, 3.0F, 14.0F, new CubeDeformation(0.0F)).texOffs(0, 6).mirror().addBox(-7.0F, -3.0F, -0.5F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false).texOffs(0, 6).addBox(4.0F, -3.0F, -0.5F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 19.5F, 7.0F));
-
- PartDefinition door_cover = partdefinition.addOrReplaceChild("door_cover", CubeListBuilder.create().texOffs(55, 0).addBox(-9.0F, -6.35F, -6.0F, 18.0F, 1.0F, 12.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 21).addBox(-10.0F, -6.0F, -7.0F, 20.0F, 6.0F, 14.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-10.0F, -6.25F, -7.0F, 20.0F, 6.0F, 14.0F, new CubeDeformation(0.25F)).texOffs(55, 21).addBox(-5.0F, -4.25F, -10.0F, 10.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-8.0F, -7.5F, -8.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(0, 0).mirror().addBox(5.0F, -7.5F, -8.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
-
@Override
public ModelPart root() {
return root;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/CastleShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/CastleShellModel.java
index e40e65a3..c9e36f85 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/CastleShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/CastleShellModel.java
@@ -38,227 +38,6 @@ public CastleShellModel(ModelPart root) {
this.root = root;
}
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition r_door = partdefinition.addOrReplaceChild("r_door", CubeListBuilder.create().texOffs(48, 46).mirror().addBox(-0.25F, -16.0F, -0.5F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 8.0F, -13.5F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition l_door = partdefinition.addOrReplaceChild("l_door", CubeListBuilder.create().texOffs(48, 46).addBox(-7.75F, -16.0F, -0.5F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 8.0F, -13.5F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition bone38 = partdefinition.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offset(9.0F, -12.0F, -13.0F));
-
- PartDefinition cube_r1 = bone38.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.2618F, -1.1781F, 0.0F));
-
- PartDefinition cube_r2 = bone38.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-18.25F, 20.0F, 0.0F, -0.3491F, 1.0036F, 0.0F));
-
- PartDefinition cube_r3 = bone38.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-19.0F, 12.0F, -0.75F, 0.1309F, 2.0071F, 0.0F));
-
- PartDefinition cube_r4 = bone38.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-18.0F, 0.0F, 0.0F, -0.2618F, 1.1781F, 0.0F));
-
- PartDefinition cube_r5 = bone38.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-15.0F, 0.25F, 0.0F, -0.6109F, 0.3491F, 0.0F));
-
- PartDefinition cube_r6 = bone38.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-13.0F, 1.0F, 0.0F, -0.5236F, -0.2618F, 0.0F));
-
- PartDefinition cube_r7 = bone38.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.0F, 0.0F, 0.0F, -0.5236F, -0.0436F, 0.0F));
-
- PartDefinition cube_r8 = bone38.addOrReplaceChild("cube_r8", CubeListBuilder.create().texOffs(80, 73).addBox(-1.5F, -3.0F, -0.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.75F, 1.0F, -0.5F, 0.0F, 0.0F, 0.2182F));
-
- PartDefinition cube_r9 = bone38.addOrReplaceChild("cube_r9", CubeListBuilder.create().texOffs(80, 67).addBox(-1.5F, -3.0F, -0.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-12.75F, 1.0F, -0.5F, 0.0F, 0.0F, -0.3054F));
-
- PartDefinition cube_r10 = bone38.addOrReplaceChild("cube_r10", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, 1.25F, 0.0F, -1.0472F, -0.48F, 0.0F));
-
- PartDefinition cube_r11 = bone38.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 1.0F, 0.0F, -0.5672F, 0.0F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create(), PartPose.offset(-21.0F, 34.5F, 5.75F));
-
- PartDefinition cube_r12 = bone39.addOrReplaceChild("cube_r12", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, 1.25F, -0.5F, -0.6981F, 1.4835F, 0.0F));
-
- PartDefinition cube_r13 = bone39.addOrReplaceChild("cube_r13", CubeListBuilder.create().texOffs(80, 73).addBox(-1.5F, -3.0F, 0.0F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.6279F, 1.0782F, -0.6892F));
-
- PartDefinition cube_r14 = bone39.addOrReplaceChild("cube_r14", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.5F, -0.75F, 2.5F, -0.0873F, 1.4835F, 0.0F));
-
- PartDefinition cube_r15 = bone39.addOrReplaceChild("cube_r15", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 2.25F, 0.0F, -1.2217F, 1.4399F, 0.0F));
-
- PartDefinition cube_r16 = bone39.addOrReplaceChild("cube_r16", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -0.5F, -1.75F, -0.3491F, 1.0036F, 0.0F));
-
- PartDefinition cube_r17 = bone39.addOrReplaceChild("cube_r17", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.5F, -4.5F, -1.75F, 0.1309F, 1.3526F, 0.0F));
-
- PartDefinition bone40 = bone38.addOrReplaceChild("bone40", CubeListBuilder.create(), PartPose.offset(3.0F, 34.5F, 5.75F));
-
- PartDefinition cube_r18 = bone40.addOrReplaceChild("cube_r18", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, 1.25F, -0.5F, -0.6981F, -1.4835F, 0.0F));
-
- PartDefinition cube_r19 = bone40.addOrReplaceChild("cube_r19", CubeListBuilder.create().texOffs(80, 67).mirror().addBox(-1.5F, -3.0F, 0.0F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.6279F, -1.0782F, 0.6892F));
-
- PartDefinition cube_r20 = bone40.addOrReplaceChild("cube_r20", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-0.5F, -0.75F, 2.5F, -0.0873F, -1.4835F, 0.0F));
-
- PartDefinition cube_r21 = bone40.addOrReplaceChild("cube_r21", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-0.25F, 2.25F, 0.0F, -1.2217F, -1.4399F, 0.0F));
-
- PartDefinition cube_r22 = bone40.addOrReplaceChild("cube_r22", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -9.25F, -6.5F, -0.9599F, -0.8727F, 0.0F));
-
- PartDefinition cube_r23 = bone40.addOrReplaceChild("cube_r23", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -14.0F, -6.5F, 0.2618F, -1.2217F, 0.0F));
-
- PartDefinition cube_r24 = bone40.addOrReplaceChild("cube_r24", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -5.0F, -6.5F, -0.5672F, -0.3927F, 0.0F));
-
- PartDefinition cube_r25 = bone40.addOrReplaceChild("cube_r25", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-1.75F, -2.5F, -7.0F, 0.1309F, -0.9599F, 0.0F));
-
- PartDefinition cube_r26 = bone40.addOrReplaceChild("cube_r26", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -0.5F, -1.75F, -0.3491F, -1.0036F, 0.0F));
-
- PartDefinition cube_r27 = bone40.addOrReplaceChild("cube_r27", CubeListBuilder.create().texOffs(64, 32).mirror().addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-2.5F, -4.5F, -1.75F, 0.1309F, -1.3526F, 0.0F));
-
- PartDefinition bone8 = partdefinition.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(35, 46).addBox(-10.5F, -36.0F, 7.0F, 3.0F, 36.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(35, 46).mirror().addBox(7.5F, -36.0F, 7.0F, 3.0F, 36.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(48, 80).addBox(-2.5F, -36.0F, 5.0F, 5.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(33, 7).addBox(2.5F, -35.0F, 5.0F, 4.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(33, 0).addBox(6.5F, -36.0F, 5.0F, 4.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(33, 0).mirror().addBox(-10.5F, -36.0F, 5.0F, 4.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(33, 7).mirror().addBox(-6.5F, -35.0F, 5.0F, 4.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 24.0F, -20.0F));
-
- PartDefinition bone = bone8.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(33, 0).addBox(7.5F, -4.0F, 5.0F, 4.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(64, 25).addBox(7.5F, -8.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(33, 0).addBox(7.5F, -12.0F, 5.0F, 4.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(64, 25).addBox(7.5F, -16.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(80, 60).addBox(7.5F, -20.0F, 5.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(64, 25).addBox(7.5F, -24.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(80, 60).addBox(7.5F, -28.0F, 5.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(64, 25).addBox(7.5F, -32.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone8.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(33, 0).mirror().addBox(-11.5F, -4.0F, 5.0F, 4.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(64, 25).mirror().addBox(-10.5F, -8.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(33, 0).mirror().addBox(-11.5F, -12.0F, 5.0F, 4.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(64, 25).mirror().addBox(-10.5F, -16.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(80, 60).mirror().addBox(-9.5F, -20.0F, 5.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(64, 25).mirror().addBox(-10.5F, -24.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(80, 60).mirror().addBox(-9.5F, -28.0F, 5.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(64, 25).mirror().addBox(-10.5F, -32.0F, 5.0F, 3.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone3 = partdefinition.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(77, 0).addBox(-7.5F, -42.0F, -13.0F, 15.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 0).addBox(-7.5F, -42.0F, -13.0F, 15.0F, 42.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(0, 0).addBox(-7.5F, -42.0F, -13.0F, 15.0F, 42.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 41).addBox(-5.5F, -32.0F, -14.0F, 11.0F, 11.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 54).addBox(-6.5F, -21.0F, -15.0F, 13.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone5.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(80, 73).addBox(0.5F, -25.0F, -6.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 67).addBox(-5.25F, -25.0F, -6.75F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 67).addBox(-1.25F, -23.0F, -6.75F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -8.0F));
-
- PartDefinition cube_r28 = bone28.addOrReplaceChild("cube_r28", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.0F, -21.0F, -6.0F, -0.6981F, -0.5236F, 0.0F));
-
- PartDefinition cube_r29 = bone28.addOrReplaceChild("cube_r29", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.0F, -21.0F, -6.0F, -0.6981F, -0.5236F, 0.0F));
-
- PartDefinition cube_r30 = bone28.addOrReplaceChild("cube_r30", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -21.0F, -6.0F, -0.6981F, 0.5672F, 0.0F));
-
- PartDefinition cube_r31 = bone28.addOrReplaceChild("cube_r31", CubeListBuilder.create().texOffs(80, 73).addBox(-1.5F, -3.0F, -0.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.0F, -21.5F, -6.0F, 0.0F, 0.0F, -0.2618F));
-
- PartDefinition cube_r32 = bone28.addOrReplaceChild("cube_r32", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -21.0F, -6.0F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(0, 0).addBox(-7.5F, -42.0F, -13.0F, 15.0F, 42.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(0, 0).addBox(-7.5F, -42.0F, -13.0F, 15.0F, 42.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 41).addBox(-5.5F, -32.0F, -14.0F, 11.0F, 11.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 54).addBox(-6.5F, -21.0F, -15.0F, 13.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone29 = bone7.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(80, 73).addBox(0.5F, -25.0F, -6.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 67).addBox(-5.25F, -25.0F, -6.75F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 67).addBox(-1.25F, -23.0F, -6.75F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -8.0F));
-
- PartDefinition cube_r33 = bone29.addOrReplaceChild("cube_r33", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.0F, -21.0F, -6.0F, -0.6981F, -0.5236F, 0.0F));
-
- PartDefinition cube_r34 = bone29.addOrReplaceChild("cube_r34", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.0F, -21.0F, -6.0F, -0.6981F, -0.5236F, 0.0F));
-
- PartDefinition cube_r35 = bone29.addOrReplaceChild("cube_r35", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-4.0F, -21.0F, -6.0F, -0.6981F, 0.5672F, 0.0F));
-
- PartDefinition cube_r36 = bone29.addOrReplaceChild("cube_r36", CubeListBuilder.create().texOffs(80, 73).addBox(-1.5F, -3.0F, -0.5F, 3.0F, 4.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-2.0F, -21.5F, -6.0F, 0.0F, 0.0F, -0.2618F));
-
- PartDefinition cube_r37 = bone29.addOrReplaceChild("cube_r37", CubeListBuilder.create().texOffs(64, 32).addBox(-1.5F, 0.0F, -2.0F, 3.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -21.0F, -6.0F, -0.6981F, 0.0F, 0.0F));
-
- PartDefinition bone9 = bone7.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(0, 0).mirror().addBox(-7.5F, -42.0F, -13.0F, 15.0F, 42.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10 = partdefinition.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(74, 15).addBox(-8.5F, -42.0F, -14.725F, 17.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(74, 15).addBox(-8.5F, -42.0F, -14.725F, 17.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(74, 15).addBox(-8.5F, -42.0F, -14.725F, 17.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone13 = bone12.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(74, 15).addBox(-8.5F, -42.0F, -14.725F, 17.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(74, 15).addBox(-8.5F, -42.0F, -14.725F, 17.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(74, 15).addBox(-8.5F, -42.0F, -14.725F, 17.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone16 = partdefinition.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone22 = bone16.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(33, 0).addBox(-7.5F, 0.0F, 0.0F, 15.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, -13.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition cube_r38 = bone22.addOrReplaceChild("cube_r38", CubeListBuilder.create().texOffs(64, 25).mirror().addBox(0.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 0.0F, 0.0F, 0.0F, 0.4407F, 0.0F));
-
- PartDefinition cube_r39 = bone22.addOrReplaceChild("cube_r39", CubeListBuilder.create().texOffs(64, 25).addBox(-2.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 0.0F, 0.0F, 0.0F, -0.4407F, 0.0F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone23 = bone17.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(33, 0).addBox(-7.5F, 0.0F, 0.0F, 15.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, -13.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition cube_r40 = bone23.addOrReplaceChild("cube_r40", CubeListBuilder.create().texOffs(64, 25).addBox(-2.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 0.0F, 0.0F, 0.0F, -0.4407F, 0.0F));
-
- PartDefinition cube_r41 = bone23.addOrReplaceChild("cube_r41", CubeListBuilder.create().texOffs(64, 25).mirror().addBox(0.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 0.0F, 0.0F, 0.0F, 0.4407F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(33, 0).addBox(-7.5F, 0.0F, 0.0F, 15.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, -13.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition cube_r42 = bone19.addOrReplaceChild("cube_r42", CubeListBuilder.create().texOffs(64, 25).addBox(-2.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 0.0F, 0.0F, 0.0F, -0.4407F, 0.0F));
-
- PartDefinition cube_r43 = bone19.addOrReplaceChild("cube_r43", CubeListBuilder.create().texOffs(64, 25).mirror().addBox(0.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 0.0F, 0.0F, 0.0F, 0.4407F, 0.0F));
-
- PartDefinition bone20 = bone18.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(33, 0).addBox(-7.5F, 0.0F, 0.0F, 15.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, -13.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition cube_r44 = bone21.addOrReplaceChild("cube_r44", CubeListBuilder.create().texOffs(64, 25).addBox(-2.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 0.0F, 0.0F, 0.0F, -0.4407F, 0.0F));
-
- PartDefinition cube_r45 = bone21.addOrReplaceChild("cube_r45", CubeListBuilder.create().texOffs(64, 25).mirror().addBox(0.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 0.0F, 0.0F, 0.0F, 0.4407F, 0.0F));
-
- PartDefinition bone24 = bone20.addOrReplaceChild("bone24", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone25 = bone24.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(33, 0).addBox(-7.5F, 0.0F, 0.0F, 15.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, -13.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition cube_r46 = bone25.addOrReplaceChild("cube_r46", CubeListBuilder.create().texOffs(64, 25).addBox(-2.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 0.0F, 0.0F, 0.0F, -0.4407F, 0.0F));
-
- PartDefinition cube_r47 = bone25.addOrReplaceChild("cube_r47", CubeListBuilder.create().texOffs(64, 25).mirror().addBox(0.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 0.0F, 0.0F, 0.0F, 0.4407F, 0.0F));
-
- PartDefinition bone26 = bone24.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(33, 0).addBox(-7.5F, 0.0F, 0.0F, 15.0F, 1.0F, 13.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -42.0F, -13.0F, 0.6109F, 0.0F, 0.0F));
-
- PartDefinition cube_r48 = bone27.addOrReplaceChild("cube_r48", CubeListBuilder.create().texOffs(64, 25).addBox(-2.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(7.5F, 0.0F, 0.0F, 0.0F, -0.4407F, 0.0F));
-
- PartDefinition cube_r49 = bone27.addOrReplaceChild("cube_r49", CubeListBuilder.create().texOffs(64, 25).mirror().addBox(0.0F, 0.025F, 0.0F, 2.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-7.5F, 0.0F, 0.0F, 0.0F, 0.4407F, 0.0F));
-
- PartDefinition bone32 = partdefinition.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(19, 30).addBox(-7.5F, -1.2F, -13.0F, 15.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 25.0F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(19, 30).addBox(-7.5F, -1.2F, -13.0F, 15.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(19, 30).addBox(-7.5F, -1.2F, -13.0F, 15.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(19, 30).addBox(-7.5F, -1.2F, -13.0F, 15.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(19, 30).addBox(-7.5F, -1.2F, -13.0F, 15.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(19, 30).addBox(-7.5F, -1.2F, -13.0F, 15.0F, 1.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition blackbox = partdefinition.addOrReplaceChild("blackbox", CubeListBuilder.create().texOffs(67, 46).mirror().addBox(-9.0F, -33.0F, -6.0F, 1.0F, 33.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(67, 46).addBox(8.0F, -33.0F, -6.0F, 1.0F, 33.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(33, 15).addBox(-8.0F, -34.0F, -9.0F, 16.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 46).addBox(-8.0F, -33.0F, -1.0F, 16.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -4.25F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(74, 79).addBox(-3.0F, -53.0F, -3.0F, 6.0F, 5.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
- addMaterializationPart(partdefinition);
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void setDoorPosition(boolean open) {
r_door.yRot = open ? (float) Math.toRadians(90) : (float) Math.toRadians(0);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/DrifterShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/DrifterShellModel.java
index 1a0a34d8..6f84be98 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/DrifterShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/DrifterShellModel.java
@@ -25,147 +25,6 @@ public DrifterShellModel(ModelPart root) {
this.bone32 = root.getChild("bone32");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(33, 85).addBox(-7.0F, -32.0F, -9.0F, 14.0F, 30.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 71).addBox(-7.5F, -32.5F, -8.5F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(33, 133).addBox(-7.0F, -32.0F, -9.0F, 14.0F, 30.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 119).addBox(-7.5F, -32.5F, -8.5F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone32 = partdefinition.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(64, 93).addBox(-9.5F, -35.0F, -9.5F, 2.0F, 35.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(101, 37).addBox(-10.5F, -18.0F, -2.5F, 2.0F, 2.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(101, 49).addBox(-9.4F, -11.025F, 1.0F, 1.0F, 11.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(64, 93).mirror().addBox(7.5F, -35.0F, -9.5F, 2.0F, 35.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 22).mirror().addBox(7.5F, -33.0F, -7.5F, 1.0F, 33.0F, 15.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(68, 39).addBox(-7.5F, -33.0F, 7.5F, 15.0F, 33.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 22).addBox(-8.5F, -33.0F, -7.5F, 1.0F, 33.0F, 15.0F, new CubeDeformation(0.0F))
- .texOffs(64, 93).mirror().addBox(7.5F, -35.0F, 7.5F, 2.0F, 35.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(64, 93).addBox(-9.5F, -35.0F, 7.5F, 2.0F, 35.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(33, 39).addBox(-8.0F, -32.025F, -7.75F, 16.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-9.5F, -34.0F, -9.5F, 19.0F, 2.0F, 19.0F, new CubeDeformation(0.0F))
- .texOffs(33, 22).addBox(-7.5F, -1.0F, -7.5F, 15.0F, 1.0F, 15.0F, new CubeDeformation(0.0F))
- .texOffs(58, 11).addBox(-7.0F, -2.0F, -10.5F, 14.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(101, 37).addBox(6.4F, -2.5F, -11.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(101, 37).addBox(-7.4F, -2.5F, -11.0F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(9, 104).addBox(-1.0F, -44.0F, -1.0F, 2.0F, 11.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(8.0F, -29.0F, -3.0F, 1.0F, 12.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(99, 106).addBox(8.0F, -16.0F, 3.75F, 1.0F, 8.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(70, 74).mirror().addBox(7.75F, -28.0F, -8.0F, 1.0F, 2.0F, 16.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(70, 74).addBox(-8.75F, -28.0F, -8.0F, 1.0F, 2.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(73, 93).mirror().addBox(7.0F, -22.025F, -6.5F, 3.0F, 22.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(102, 0).mirror().addBox(6.5F, -9.0F, -7.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(94, 11).addBox(6.0F, -4.025F, 0.5F, 4.0F, 4.0F, 7.0F, new CubeDeformation(0.0F))
- .texOffs(101, 87).addBox(6.0F, -7.025F, 1.0F, 3.0F, 3.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(86, 106).mirror().addBox(6.5F, -9.0F, -3.0F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(101, 67).mirror().addBox(6.5F, -21.5F, -7.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(101, 67).mirror().addBox(6.5F, -0.5F, -7.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 104).mirror().addBox(7.0F, -12.025F, -2.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(77, 16).mirror().addBox(6.5F, -11.5F, -3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(77, 16).mirror().addBox(6.5F, -1.5F, -3.0F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(86, 106).addBox(-9.5F, -9.0F, -2.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 104).addBox(-9.0F, -12.025F, -2.0F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(77, 16).addBox(-9.5F, -11.5F, -2.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(77, 16).addBox(-9.5F, -1.5F, -2.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(86, 106).addBox(-6.5F, -9.0F, 6.5F, 3.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(18, 22).addBox(-2.5F, -9.025F, 7.0F, 9.0F, 9.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(33, 73).addBox(2.5F, -15.025F, 8.5F, 3.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(9, 0).addBox(-0.5F, -13.025F, 8.5F, 2.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 104).addBox(-6.0F, -12.025F, 7.0F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(77, 16).addBox(-6.5F, -11.5F, 6.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(77, 16).addBox(-6.5F, -1.5F, 6.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(73, 93).addBox(-10.0F, -22.025F, -6.5F, 3.0F, 22.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(101, 67).addBox(-10.5F, -0.5F, -7.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(101, 67).addBox(-10.5F, -21.5F, -7.0F, 4.0F, 1.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(102, 0).addBox(-10.5F, -14.0F, -7.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone2 = bone32.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(0.0F, -1.0F, 0.0F));
-
- PartDefinition bone = bone2.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(33, 74).addBox(-8.5F, 0.0F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(58, 0).addBox(-8.5F, -0.25F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(79, 33).addBox(-8.5F, -0.25F, -2.75F, 17.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(33, 74).addBox(-8.5F, 0.0F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(58, 0).addBox(-8.5F, -0.25F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(79, 33).addBox(-8.5F, -0.25F, -2.75F, 17.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone5 = bone3.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(33, 74).addBox(-8.5F, 0.0F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(58, 0).addBox(-8.5F, -0.25F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(79, 33).addBox(-8.5F, -0.25F, -2.75F, 17.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone7 = bone5.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(33, 74).addBox(-8.5F, 0.0F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(58, 0).addBox(-8.5F, -0.25F, -0.75F, 17.0F, 1.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(79, 33).addBox(-8.5F, -0.25F, -2.75F, 17.0F, 1.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone27 = bone32.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(86, 93).addBox(-0.8735F, -1.0806F, -2.5F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.0F, -17.25F, -0.5F, 0.0F, 0.0F, 0.5672F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(64, 85).addBox(-3.5F, -1.0F, -1.0F, 7.0F, 2.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.0F, -2.0F, 9.75F, -0.7854F, 0.0F, 0.0F));
-
- PartDefinition bone31 = bone32.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(77, 74).addBox(0.0F, 0.0F, -1.5F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(77, 74).addBox(0.0F, 0.0F, 9.5F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(58, 0).addBox(0.0F, 0.0F, 4.0F, 1.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.75F, -27.0F, -5.5F, 0.0F, 0.0F, 0.1745F));
-
- PartDefinition bone30 = bone32.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(106, 23).addBox(-2.0F, 0.0F, -2.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.4F, -8.5F, 4.0F, 0.0F, 0.0F, -0.6109F));
-
- PartDefinition bone29 = bone32.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(18, 104).addBox(-2.0F, 0.0F, -2.5F, 2.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.4F, -6.5F, 4.0F, 0.0F, 0.0F, -0.6109F));
-
- PartDefinition bone28 = bone32.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(89, 83).addBox(-2.5F, 0.0F, -2.5F, 3.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.4F, -4.0F, 4.0F, 0.0F, 0.0F, -0.6109F));
-
- PartDefinition bone26 = bone32.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(86, 93).addBox(-1.0F, 0.0F, -1.0F, 1.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.0F, -15.0F, 5.25F, 0.0F, 0.0F, -0.0873F));
-
- PartDefinition bone25 = bone32.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(0, 22).addBox(-1.0F, 0.0F, -2.5F, 1.0F, 9.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.0F, -28.0F, 0.0F, 0.0F, 0.0F, -0.0873F));
-
- PartDefinition bone34 = bone32.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(70, 74).mirror().addBox(7.75F, -28.0F, -8.0F, 1.0F, 2.0F, 16.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 0).addBox(8.0F, -29.0F, -3.0F, 1.0F, 12.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(0, 22).addBox(-1.0F, 0.0F, -2.5F, 1.0F, 9.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.0F, -28.0F, 0.0F, 0.0F, 0.0F, -0.0873F));
-
- PartDefinition bone9 = bone32.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offset(0.0F, -2.5F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(89, 74).addBox(-4.5F, 0.0F, 3.0F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone11 = bone9.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(89, 74).addBox(-4.5F, 0.0F, 3.0F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone13 = bone11.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(89, 74).addBox(-4.5F, 0.0F, 3.0F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone15 = bone13.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(89, 74).addBox(-4.5F, 0.0F, 3.0F, 9.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -34.0F, -8.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone17 = bone32.addOrReplaceChild("bone17", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -32.5F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(79, 11).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 9.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -13.0F, 1.1781F, 0.0F, 0.0F));
-
- PartDefinition bone19 = bone17.addOrReplaceChild("bone19", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(79, 11).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 9.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -13.0F, 1.1781F, 0.0F, 0.0F));
-
- PartDefinition bone21 = bone19.addOrReplaceChild("bone21", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(79, 11).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 9.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -13.0F, 1.1781F, 0.0F, 0.0F));
-
- PartDefinition bone23 = bone21.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(79, 11).addBox(-1.0F, 0.0F, 0.0F, 1.0F, 9.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -13.0F, 1.1781F, 0.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
door_closed.visible = true;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/FactoryShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/FactoryShellModel.java
index 5c5f84a8..c6c51de3 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/FactoryShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/FactoryShellModel.java
@@ -24,31 +24,6 @@ public FactoryShellModel(ModelPart root) {
this.rightDoor = this.root.getChild("right_door");
}
-
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition model_outline = partdefinition.addOrReplaceChild("model_outline", CubeListBuilder.create().texOffs(0, 28).addBox(-10.0F, -3.0F, -8.0F, 20.0F, 3.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-10.0F, -44.0F, -8.0F, 20.0F, 7.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(81, 46).addBox(-5.0F, -37.0F, -8.0F, 10.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(61, 41).addBox(-5.0F, -5.0F, -8.0F, 10.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(79, 84).addBox(-8.0F, -37.0F, -6.0F, 1.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 52).addBox(-9.0F, -37.0F, 7.0F, 18.0F, 34.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(70, 84).addBox(7.0F, -37.0F, -6.0F, 1.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(61, 32).addBox(-7.0F, -37.0F, -6.0F, 14.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 37).addBox(-7.0F, -5.0F, -6.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(45, 52).mirror().addBox(8.0F, -37.0F, -3.0F, 2.0F, 34.0F, 10.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(45, 52).addBox(-10.0F, -37.0F, -3.0F, 2.0F, 34.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -2.0F));
-
- PartDefinition left_door = model_outline.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(81, 0).addBox(0.0F, -15.0F, -0.5F, 7.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-7.0F, -20.0F, -5.6F));
-
- PartDefinition right_door = model_outline.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(70, 52).addBox(-7.0F, -15.0F, -0.5F, 7.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, -20.0F, -5.6F));
- addMaterializationPart(partdefinition);
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
realRoot.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GroeningShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GroeningShellModel.java
index c47f609e..6cdf82d4 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GroeningShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GroeningShellModel.java
@@ -22,45 +22,6 @@ public GroeningShellModel(ModelPart root) {
this.bone8 = root.getChild("bone8");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(19, 56).addBox(-14.725F, 9.0F, -2.25F, 15.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(82, 69).addBox(-14.725F, -17.0F, -1.25F, 15.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(7.225F, 7.0F, -8.75F));
-
- PartDefinition cube_r1 = door.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(19, 66).addBox(-8.0F, -2.0F, 0.0F, 15.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.725F, 9.0F, -2.25F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone8 = partdefinition.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(47, 108).addBox(-3.0F, -44.0F, -3.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-14.5F, 0.975F, -14.5F, 29.0F, 1.0F, 29.0F, new CubeDeformation(1.0F)).texOffs(88, 0).addBox(-9.0F, -39.0F, -11.25F, 18.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)).texOffs(81, 31).addBox(-8.0F, -36.0F, 7.0F, 16.0F, 36.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 56).addBox(-8.0F, -36.0F, -8.0F, 1.0F, 36.0F, 16.0F, new CubeDeformation(0.0F)).texOffs(0, 56).mirror().addBox(7.0F, -36.0F, -8.0F, 1.0F, 36.0F, 16.0F, new CubeDeformation(0.0F)).mirror(false).texOffs(0, 16).addBox(-6.0F, -32.5F, 7.75F, 12.0F, 10.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(0, 31).addBox(-10.0F, -40.0F, -10.0F, 20.0F, 4.0F, 20.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone6 = bone8.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(35, 56).mirror().addBox(-8.0F, -8.0F, -8.304F, 4.0F, 8.0F, 19.0F, new CubeDeformation(0.0F)).mirror(false).texOffs(17, 0).mirror().addBox(-8.0F, -8.0F, 10.0F, 4.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false).texOffs(0, 31).addBox(-5.2267F, -30.0F, -2.652F, 1.0F, 11.0F, 8.0F, new CubeDeformation(0.0F)).texOffs(99, 106).addBox(-6.2267F, -19.0F, -3.652F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(-3.7733F, 0.0F, -1.348F));
-
- PartDefinition cube_r2 = bone6.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(35, 87).mirror().addBox(0.0F, 0.0F, -9.5F, 5.0F, 1.0F, 19.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-8.0F, -8.0F, 1.348F, 0.0F, 0.0F, -0.6981F));
-
- PartDefinition bone7 = bone8.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(35, 56).addBox(4.0F, -8.0F, -8.304F, 4.0F, 8.0F, 19.0F, new CubeDeformation(0.0F)).texOffs(0, 56).addBox(4.0F, -19.5F, 3.696F, 3.0F, 11.0F, 3.0F, new CubeDeformation(0.0F)).texOffs(35, 84).addBox(4.2267F, -18.0F, -3.304F, 2.0F, 6.0F, 5.0F, new CubeDeformation(0.0F)).texOffs(26, 108).addBox(4.2267F, -31.0F, -3.304F, 1.0F, 6.0F, 9.0F, new CubeDeformation(0.0F)).texOffs(0, 109).addBox(4.2267F, -12.0F, -4.304F, 3.0F, 4.0F, 7.0F, new CubeDeformation(0.0F)).texOffs(17, 0).addBox(4.0F, -8.0F, 10.0F, 4.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.7733F, 0.0F, -1.348F));
-
- PartDefinition cube_r3 = bone7.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(35, 87).addBox(-5.0F, 0.0F, -9.5F, 5.0F, 1.0F, 19.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(8.0F, -8.0F, 1.348F, 0.0F, 0.0F, 0.6981F));
-
- PartDefinition bone2 = bone8.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(63, 56).addBox(-1.5F, -8.0F, -15.15F, 3.0F, 8.0F, 5.0F, new CubeDeformation(0.0F)).texOffs(81, 106).addBox(-1.0F, -36.0F, -12.5F, 2.0F, 36.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r4 = bone2.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(105, 14).addBox(-2.0F, 0.0F, 0.0F, 3.0F, 4.0F, 10.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.5F, -8.0F, -15.15F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(81, 106).addBox(-1.0F, -36.0F, -12.5F, 2.0F, 36.0F, 3.0F, new CubeDeformation(0.0F)).texOffs(61, 31).addBox(-1.5F, -12.0F, -15.15F, 3.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r5 = bone3.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, 0.0F, 0.0F, 3.0F, 5.0F, 10.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, -12.0F, -15.15F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(61, 31).addBox(-1.5F, -12.0F, -15.15F, 3.0F, 12.0F, 5.0F, new CubeDeformation(0.0F)).texOffs(81, 106).addBox(-1.0F, -36.0F, -12.5F, 2.0F, 36.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r6 = bone4.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(0, 0).addBox(-1.5F, 0.0F, 0.0F, 3.0F, 5.0F, 10.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.0F, -12.0F, -15.15F, 0.9599F, 0.0F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(63, 56).addBox(-1.5F, -8.0F, -15.15F, 3.0F, 8.0F, 5.0F, new CubeDeformation(0.0F)).texOffs(81, 106).addBox(-1.0F, -36.0F, -12.5F, 2.0F, 36.0F, 3.0F, new CubeDeformation(0.0F)).texOffs(92, 106).addBox(-0.5F, -36.0F, -10.5F, 2.0F, 36.0F, 1.0F, new CubeDeformation(0.05F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r7 = bone5.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(88, 9).addBox(-2.0F, 0.0F, 0.0F, 3.0F, 4.0F, 10.0F, new CubeDeformation(0.025F)), PartPose.offsetAndRotation(0.5F, -8.0F, -15.15F, 0.9599F, 0.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public ModelPart root() {
return root;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GrowthShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GrowthShellModel.java
index d3d372ac..9b4fc098 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GrowthShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/GrowthShellModel.java
@@ -25,137 +25,6 @@ public GrowthShellModel(ModelPart root) {
this.bone50 = root.getChild("bone50");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone51 = door_closed.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(58, 54).addBox(-0.25F, -12.0F, -19.775F, 1.0F, 40.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -28.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone52 = door_closed.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(58, 54).mirror().addBox(-0.75F, -12.0F, -19.775F, 1.0F, 40.0F, 12.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -28.0F, 0.0F, 0.0F, 0.5236F, 0.0F));
-
- PartDefinition bone57 = door_closed.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(0, 93).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone63 = door_closed.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(0, 51).addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone53 = door_open.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(59, 118).addBox(-0.25F, -12.0F, -19.775F, 1.0F, 40.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -28.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone54 = door_open.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(59, 118).mirror().addBox(-0.75F, -12.0F, -19.775F, 1.0F, 40.0F, 12.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -28.0F, 0.0F, 0.0F, 0.5236F, 0.0F));
-
- PartDefinition bone55 = door_open.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(1, 157).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone56 = door_open.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(1, 115).addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone50 = partdefinition.addOrReplaceChild("bone50", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition black = bone50.addOrReplaceChild("black", CubeListBuilder.create().texOffs(98, 0).mirror().addBox(-5.45F, -38.0F, -7.75F, 1.0F, 38.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 0).addBox(4.45F, -38.0F, -7.75F, 1.0F, 38.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(73, 0).addBox(-5.0F, -38.0F, -6.85F, 10.0F, 38.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone44 = bone50.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(46, 41).addBox(-6.5F, -0.2F, -10.275F, 13.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone45 = bone44.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(46, 41).addBox(-6.5F, -0.2F, -10.275F, 13.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone46 = bone45.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(46, 41).addBox(-6.5F, -0.2F, -10.275F, 13.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone47 = bone46.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(46, 41).addBox(-6.5F, -0.2F, -10.275F, 13.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone48 = bone47.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(46, 41).addBox(-6.5F, -0.2F, -10.275F, 13.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone49 = bone48.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(46, 41).addBox(-6.5F, -0.2F, -10.275F, 13.0F, 1.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone26 = bone50.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(36, 23).addBox(-4.5F, -40.025F, -7.775F, 9.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(36, 23).addBox(-4.5F, -40.025F, -7.775F, 9.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone28 = bone27.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(36, 23).addBox(-4.5F, -40.025F, -7.775F, 9.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone29 = bone28.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(36, 23).addBox(-4.5F, -40.025F, -7.775F, 9.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone30 = bone29.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(36, 23).addBox(-4.5F, -40.025F, -7.775F, 9.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone31 = bone30.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(36, 23).addBox(-4.5F, -40.025F, -7.775F, 9.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone38 = bone50.addOrReplaceChild("bone38", CubeListBuilder.create().texOffs(36, 34).addBox(-1.0F, -12.0F, -9.025F, 1.0F, 8.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -35.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(36, 34).addBox(-1.0F, -12.0F, -9.025F, 1.0F, 8.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone40 = bone39.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(36, 34).addBox(-1.0F, -12.0F, -9.025F, 1.0F, 8.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone41 = bone40.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(36, 34).addBox(-1.0F, -12.0F, -9.025F, 1.0F, 8.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone42 = bone41.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(36, 34).addBox(-1.0F, -12.0F, -9.025F, 1.0F, 8.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone43 = bone42.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(36, 34).addBox(-1.0F, -12.0F, -9.025F, 1.0F, 8.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone32 = bone50.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -28.0F, 0.0F, 0.0F, -0.5236F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(21, 23).addBox(-1.0F, -12.0F, -15.025F, 1.0F, 40.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone34 = bone33.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(21, 23).addBox(-1.0F, -12.0F, -15.025F, 1.0F, 40.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone35 = bone34.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(21, 23).addBox(-1.0F, -12.0F, -15.025F, 1.0F, 40.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone36 = bone35.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(21, 23).addBox(-1.0F, -12.0F, -15.025F, 1.0F, 40.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone37 = bone36.addOrReplaceChild("bone37", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone20 = bone50.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 0).mirror().addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(0, 0).addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 0).addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 0).addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone25 = bone24.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(0, 0).addBox(-4.5F, -40.0F, -7.775F, 9.0F, 40.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone8 = bone50.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offset(0.0F, -31.0F, 0.0F));
-
- PartDefinition bone14 = bone8.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(0, 42).addBox(-3.5F, -3.5F, 1.0F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -9.025F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(0, 42).addBox(-3.5F, -3.5F, 1.0F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -9.025F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone11 = bone9.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(0, 42).addBox(-3.5F, -3.5F, 1.0F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -9.025F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone13 = bone11.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone15 = bone13.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(0, 42).addBox(-3.5F, -3.5F, 1.0F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -9.025F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone16 = bone13.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone17 = bone16.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(0, 42).addBox(-3.5F, -3.5F, 1.0F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -9.025F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone18 = bone16.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 42).addBox(-3.5F, -3.5F, 1.0F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -4.0F, -9.025F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone2 = bone50.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(21, 0).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(21, 0).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(21, 0).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone6 = bone5.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(21, 0).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(21, 0).addBox(-6.5F, -21.0F, -11.275F, 13.0F, 21.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.0472F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HalfBakedShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HalfBakedShellModel.java
index 37195432..9e8a60e4 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HalfBakedShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HalfBakedShellModel.java
@@ -22,88 +22,6 @@ public HalfBakedShellModel(ModelPart root) {
this.rightDoor = this.root.getChild("right_door");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create().texOffs(0, 28).addBox(-10.0F, -3.0F, -8.0F, 20.0F, 3.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(0, 103).addBox(-9.5F, -2.5F, -7.5F, 19.0F, 2.0F, 19.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-10.0F, -44.0F, -8.0F, 20.0F, 7.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(0, 104).addBox(-9.0F, -43.275F, -7.0F, 18.0F, 6.0F, 18.0F, new CubeDeformation(0.25F))
- .texOffs(81, 46).addBox(-5.0F, -37.0F, -8.0F, 10.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(61, 41).addBox(-5.0F, -5.0F, -8.0F, 10.0F, 2.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(79, 84).addBox(-8.0F, -37.0F, -6.0F, 1.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 52).addBox(-9.0F, -37.0F, 7.0F, 18.0F, 34.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 103).addBox(-8.5F, -36.5F, 9.25F, 17.0F, 33.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(70, 84).addBox(7.0F, -37.0F, -6.0F, 1.0F, 34.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(61, 32).addBox(-7.0F, -37.0F, -6.0F, 14.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 37).addBox(-7.0F, -5.0F, -6.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(45, 52).mirror().addBox(8.0F, -37.0F, -3.0F, 2.0F, 34.0F, 10.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(45, 52).addBox(-10.0F, -37.0F, -3.0F, 2.0F, 34.0F, 10.0F, new CubeDeformation(0.0F))
- .texOffs(12, 103).addBox(-9.5F, -31.0F, -2.5F, 1.0F, 22.0F, 9.0F, new CubeDeformation(0.0F))
- .texOffs(12, 103).addBox(8.5F, -31.0F, -2.5F, 1.0F, 22.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -2.0F));
-
- PartDefinition root_r1 = root.addOrReplaceChild("root_r1", CubeListBuilder.create().texOffs(123, 134).addBox(-10.0F, 0.0F, -7.0F, 7.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -40.75F, -7.25F, 1.2252F, 0.0603F, 0.1163F));
-
- PartDefinition root_r2 = root.addOrReplaceChild("root_r2", CubeListBuilder.create().texOffs(0, 141).mirror().addBox(-1.0F, -20.0F, -12.5F, 1.0F, 20.0F, 20.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(10.5F, 0.0F, 4.5F, 0.0F, 0.0873F, 0.0873F));
-
- PartDefinition root_r3 = root.addOrReplaceChild("root_r3", CubeListBuilder.create().texOffs(0, 141).addBox(0.0F, -20.0F, -12.5F, 1.0F, 20.0F, 20.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-10.5F, 0.0F, 4.5F, 0.0F, -0.0873F, -0.0873F));
-
- PartDefinition root_r4 = root.addOrReplaceChild("root_r4", CubeListBuilder.create().texOffs(47, 148).addBox(-10.0F, -25.0F, -1.0F, 20.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 12.0F, -0.0873F, 0.0F, 0.0F));
-
- PartDefinition root_r5 = root.addOrReplaceChild("root_r5", CubeListBuilder.create().texOffs(67, 161).addBox(-10.0F, -11.0F, 0.0F, 20.0F, 11.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -8.0F, 0.0436F, 0.0F, 0.0F));
-
- PartDefinition bone14 = root.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(10.5F, 0.5F, -4.5F, 0.0F, 1.8762F, 0.0F));
-
- PartDefinition bone14_r1 = bone14.addOrReplaceChild("bone14_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, 0.9848F, -0.1737F, 13.0F, 1.0F, 7.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone2 = root.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offsetAndRotation(9.25F, -37.5F, 8.5F, 0.829F, -0.1309F, 1.5708F));
-
- PartDefinition bone2_r1 = bone2.addOrReplaceChild("bone2_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, -0.5373F, 0.8434F, 13.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone13 = root.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(2.5F, 0.5F, -7.5F, 0.0F, -2.9234F, 0.0F));
-
- PartDefinition bone13_r1 = bone13.addOrReplaceChild("bone13_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, 0.9848F, -0.1737F, 13.0F, 1.0F, 7.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone12 = root.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(6.5F, 0.5F, 13.5F, 0.0F, 0.3927F, 0.0F));
-
- PartDefinition bone12_r1 = bone12.addOrReplaceChild("bone12_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, 0.9848F, -0.1737F, 13.0F, 1.0F, 7.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone11 = root.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(-6.5F, 0.5F, 13.5F, 0.0F, -0.3054F, 0.0F));
-
- PartDefinition bone11_r1 = bone11.addOrReplaceChild("bone11_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, 0.9848F, -0.1737F, 13.0F, 1.0F, 7.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone10 = root.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offsetAndRotation(-9.25F, 0.5F, -6.75F, 0.0F, -2.1817F, 0.0F));
-
- PartDefinition bone10_r1 = bone10.addOrReplaceChild("bone10_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, 0.9848F, -0.1737F, 13.0F, 1.0F, 7.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone9 = root.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(-9.75F, -41.5F, 4.25F, 1.9255F, -0.8487F, -2.3362F));
-
- PartDefinition bone9_r1 = bone9.addOrReplaceChild("bone9_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-6.5F, 0.0F, 0.0F, 13.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone8 = root.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offsetAndRotation(0.5F, -45.5F, 9.25F, 0.6545F, 0.0F, 0.0F));
-
- PartDefinition bone8_r1 = bone8.addOrReplaceChild("bone8_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-7.0F, 0.0F, 0.0F, 13.0F, 1.0F, 7.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone3 = root.addOrReplaceChild("bone3", CubeListBuilder.create(), PartPose.offsetAndRotation(6.5F, -45.0F, 9.25F, 0.6545F, 0.0F, 0.2618F));
-
- PartDefinition bone3_r1 = bone3.addOrReplaceChild("bone3_r1", CubeListBuilder.create().texOffs(66, 180).addBox(-7.0F, 0.0F, 0.0F, 13.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition bone4 = root.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offsetAndRotation(-6.5F, -45.0F, 9.25F, 0.6545F, 0.0F, -0.2618F));
-
- PartDefinition bone4_r1 = bone4.addOrReplaceChild("bone4_r1", CubeListBuilder.create().texOffs(66, 180).mirror().addBox(-6.0F, 0.0F, 0.0F, 13.0F, 1.0F, 7.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -0.5F, -3.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition left_door = root.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(81, 0).addBox(-0.1F, -15.0F, -0.5F, 7.0F, 30.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(90, 51).mirror().addBox(0.4F, -15.0F, 0.0F, 6.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-6.9F, -20.0F, -5.6F));
-
- PartDefinition right_door = root.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(70, 52).addBox(-6.9F, -15.0F, -0.5F, 7.0F, 30.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(90, 51).addBox(-6.4F, -15.0F, 0.0F, 6.0F, 30.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(6.9F, -20.0F, -5.6F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void setDoorPosition(boolean open) {
this.leftDoor.yRot = open ? 250f : 0;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HieroglyphModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HieroglyphModel.java
index 7f03906f..8a296134 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HieroglyphModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/HieroglyphModel.java
@@ -33,177 +33,6 @@ public HieroglyphModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door_closed = partdefinition.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(66, 69).addBox(-7.5F, -33.0F, -7.5F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(95, 98).addBox(-5.0F, -27.0F, -11.0F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.025F))
- .texOffs(0, 25).addBox(2.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 25).mirror().addBox(-4.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 33).addBox(-5.0F, -12.0F, -11.0F, 10.0F, 12.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(64, 33).addBox(-4.5F, -11.5F, -10.5F, 9.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition cube_r1 = door_closed.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(0, 13).addBox(-2.5F, -2.5F, -1.0F, 5.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -12.0F, -9.0F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition cube_r2 = door_closed.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(99, 69).addBox(-5.0F, -5.0F, 0.0F, 10.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -27.0F, -11.0F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone29 = door_closed.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(9, 25).addBox(-1.5F, 0.0F, 0.25F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -24.0F, -9.75F));
-
- PartDefinition door_open = partdefinition.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(33, 69).addBox(5.5F, -33.0F, -7.5F, 15.0F, 33.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 60).addBox(5.5F, -33.0F, -6.5F, 15.0F, 33.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(95, 98).addBox(8.0F, -27.0F, -11.0F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.025F))
- .texOffs(9, 25).addBox(11.5F, -24.0F, -9.5F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(0, 25).addBox(15.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 25).mirror().addBox(8.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 33).addBox(8.0F, -12.0F, -11.0F, 10.0F, 12.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(64, 33).addBox(8.5F, -11.5F, -10.5F, 9.0F, 9.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(0, 49).addBox(-8.5F, -0.2F, -14.75F, 26.0F, 1.0F, 9.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.5F, 24.0F, -4.5F, 0.0F, -0.0873F, 0.0F));
-
- PartDefinition cube_r3 = door_open.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(0, 13).addBox(-2.5F, -2.5F, -1.0F, 5.0F, 5.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(13.0F, -12.0F, -9.0F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition cube_r4 = door_open.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(99, 69).addBox(-5.0F, -5.0F, 0.0F, 10.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(13.0F, -27.0F, -11.0F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition sides = partdefinition.addOrReplaceChild("sides", CubeListBuilder.create().texOffs(66, 69).addBox(-7.5F, -33.0F, -7.5F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(95, 98).addBox(-5.0F, -27.0F, -11.0F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.025F))
- .texOffs(0, 25).addBox(2.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 25).mirror().addBox(-4.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 33).addBox(-5.0F, -12.0F, -11.0F, 10.0F, 12.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(9, 32).addBox(-2.0F, -16.0F, -10.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(-0.25F, -15.0F, -9.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(1.0F, -14.25F, -9.75F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(-1.25F, -13.5F, -10.75F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(0.5F, -13.5F, -10.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(64, 33).addBox(-4.5F, -11.5F, -10.5F, 9.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r5 = sides.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(99, 69).addBox(-5.0F, -5.0F, 0.0F, 10.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -27.0F, -11.0F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone30 = sides.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(9, 25).addBox(-1.5F, 0.0F, 1.25F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -24.0F, -9.75F));
-
- PartDefinition bone = sides.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(13, 0).addBox(-0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, -17.5F, -9.0F));
-
- PartDefinition bone23 = sides.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(13, 0).addBox(-0.5F, -0.5F, -0.075F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F))
- .texOffs(13, 0).addBox(-0.9F, 0.5F, -0.925F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F))
- .texOffs(13, 0).addBox(-2.75F, 0.5F, -1.175F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F)), PartPose.offset(1.5F, -14.25F, -9.65F));
-
- PartDefinition bone22 = sides.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(66, 69).addBox(-7.5F, -33.0F, -7.5F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(95, 98).addBox(-5.0F, -27.0F, -11.0F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.025F))
- .texOffs(0, 25).addBox(2.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 25).mirror().addBox(-4.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 33).addBox(-5.0F, -12.0F, -11.0F, 10.0F, 12.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(9, 32).addBox(-2.0F, -16.0F, -10.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(-0.25F, -15.0F, -9.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(1.0F, -14.25F, -9.75F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(-1.25F, -13.5F, -10.75F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(0.5F, -13.5F, -10.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(64, 33).addBox(-4.5F, -11.5F, -10.5F, 9.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r6 = bone22.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(99, 69).addBox(-5.0F, -5.0F, 0.0F, 10.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -27.0F, -11.0F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone31 = bone22.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(9, 25).addBox(-1.5F, 0.0F, 1.25F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -24.0F, -9.75F));
-
- PartDefinition bone26 = bone22.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(13, 0).addBox(-0.5F, -0.5F, -0.075F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F))
- .texOffs(13, 0).addBox(-0.9F, 0.5F, -0.925F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F))
- .texOffs(13, 0).addBox(-2.75F, 0.5F, -1.175F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F)), PartPose.offset(1.5F, -14.25F, -9.65F));
-
- PartDefinition bone25 = bone22.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(13, 0).addBox(-0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, -17.5F, -9.0F));
-
- PartDefinition bone24 = bone22.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(66, 69).addBox(-7.5F, -33.0F, -7.5F, 15.0F, 31.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(95, 98).addBox(-5.0F, -27.0F, -11.0F, 10.0F, 3.0F, 4.0F, new CubeDeformation(0.025F))
- .texOffs(0, 25).addBox(2.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 25).mirror().addBox(-4.5F, -24.0F, -9.5F, 2.0F, 12.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(98, 33).addBox(-5.0F, -12.0F, -11.0F, 10.0F, 12.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(9, 32).addBox(-2.0F, -16.0F, -10.0F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(-0.25F, -15.0F, -9.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(1.0F, -14.25F, -9.75F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(-1.25F, -13.5F, -10.75F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(15, 13).addBox(0.5F, -13.5F, -10.5F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(64, 33).addBox(-4.5F, -11.5F, -10.5F, 9.0F, 9.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r7 = bone24.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(99, 69).addBox(-5.0F, -5.0F, 0.0F, 10.0F, 5.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -27.0F, -11.0F, -0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone32 = bone24.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(9, 25).addBox(-1.5F, 0.0F, 1.25F, 3.0F, 5.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, -24.0F, -9.75F));
-
- PartDefinition bone27 = bone24.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(13, 0).addBox(-0.5F, -0.5F, -0.075F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F))
- .texOffs(13, 0).addBox(-0.9F, 0.5F, -0.925F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F))
- .texOffs(13, 0).addBox(-2.75F, 0.5F, -1.175F, 1.0F, 1.0F, 1.0F, new CubeDeformation(-0.1F)), PartPose.offset(1.5F, -14.25F, -9.65F));
-
- PartDefinition bone28 = bone24.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(13, 0).addBox(-0.5F, 0.5F, 0.0F, 1.0F, 1.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-1.0F, -17.5F, -9.0F));
-
- PartDefinition bone6 = partdefinition.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(0, 40).addBox(1.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 40).mirror().addBox(-7.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 22.0F, 0.0F));
-
- PartDefinition bone5 = bone6.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offsetAndRotation(-3.245F, -36.7704F, -8.0F, 0.0F, -0.0044F, 0.0F));
-
- PartDefinition cube_r8 = bone5.addOrReplaceChild("cube_r8", CubeListBuilder.create().texOffs(33, 60).mirror().addBox(-0.55F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, -0.3491F));
-
- PartDefinition bone2 = bone6.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offsetAndRotation(3.245F, -36.7704F, -8.0F, 0.0F, 0.0044F, 0.0F));
-
- PartDefinition cube_r9 = bone2.addOrReplaceChild("cube_r9", CubeListBuilder.create().texOffs(33, 60).addBox(-7.45F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, 0.3491F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(0, 40).addBox(1.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 40).mirror().addBox(-7.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create(), PartPose.offsetAndRotation(-3.245F, -36.7704F, -8.0F, 0.0F, -0.0044F, 0.0F));
-
- PartDefinition cube_r10 = bone8.addOrReplaceChild("cube_r10", CubeListBuilder.create().texOffs(33, 60).mirror().addBox(-0.55F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, -0.3491F));
-
- PartDefinition bone9 = bone7.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(3.245F, -36.7704F, -8.0F, 0.0F, 0.0044F, 0.0F));
-
- PartDefinition cube_r11 = bone9.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(33, 60).addBox(-7.45F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, 0.3491F));
-
- PartDefinition bone10 = bone7.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(0, 40).addBox(1.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 40).mirror().addBox(-7.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(-3.245F, -36.7704F, -8.0F, 0.0F, -0.0044F, 0.0F));
-
- PartDefinition cube_r12 = bone11.addOrReplaceChild("cube_r12", CubeListBuilder.create().texOffs(33, 60).mirror().addBox(-0.55F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, -0.3491F));
-
- PartDefinition bone12 = bone10.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(3.245F, -36.7704F, -8.0F, 0.0F, 0.0044F, 0.0F));
-
- PartDefinition cube_r13 = bone12.addOrReplaceChild("cube_r13", CubeListBuilder.create().texOffs(33, 60).addBox(-7.45F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, 0.3491F));
-
- PartDefinition bone13 = bone10.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(0, 40).addBox(1.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 40).mirror().addBox(-7.25F, -40.0F, -8.5F, 6.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(-3.245F, -36.7704F, -8.0F, 0.0F, -0.0044F, 0.0F));
-
- PartDefinition cube_r14 = bone14.addOrReplaceChild("cube_r14", CubeListBuilder.create().texOffs(33, 60).mirror().addBox(-0.55F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, -0.3491F));
-
- PartDefinition bone15 = bone13.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(3.245F, -36.7704F, -8.0F, 0.0F, 0.0044F, 0.0F));
-
- PartDefinition cube_r15 = bone15.addOrReplaceChild("cube_r15", CubeListBuilder.create().texOffs(33, 60).addBox(-7.45F, 0.0F, 0.0F, 8.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.755F, -0.2296F, -1.5F, 0.0F, 0.0F, 0.3491F));
-
- PartDefinition pillars = partdefinition.addOrReplaceChild("pillars", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone3 = pillars.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(0, 0).addBox(6.5F, -10.0F, -10.5F, 4.0F, 8.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 95).addBox(7.0F, -41.0F, -10.0F, 3.0F, 31.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone4 = pillars.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 0).mirror().addBox(-10.5F, -10.0F, -10.5F, 4.0F, 8.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 95).mirror().addBox(-10.0F, -41.0F, -10.0F, 3.0F, 31.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone16 = pillars.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(0, 0).addBox(6.5F, -10.0F, 6.5F, 4.0F, 8.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 95).addBox(7.0F, -41.0F, 7.0F, 3.0F, 31.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone17 = pillars.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(0, 0).mirror().addBox(-10.5F, -10.0F, 6.5F, 4.0F, 8.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 95).mirror().addBox(-10.0F, -41.0F, 7.0F, 3.0F, 31.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone18 = partdefinition.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(98, 50).addBox(-7.5F, -34.0F, -9.5F, 15.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 22.0F, 0.0F));
-
- PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(98, 50).addBox(-7.5F, -34.0F, -9.5F, 15.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(98, 50).addBox(-7.5F, -34.0F, -9.5F, 15.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(98, 50).addBox(-7.5F, -34.0F, -9.5F, 15.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 25).addBox(-10.5F, -2.0F, -10.5F, 21.0F, 2.0F, 21.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-10.5F, -39.0F, -10.5F, 21.0F, 3.0F, 21.0F, new CubeDeformation(0.0F))
- .texOffs(58, 49).addBox(-6.5F, -45.0F, -6.5F, 13.0F, 6.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(85, 0).addBox(-7.0F, -33.0F, -7.0F, 14.0F, 31.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
- addMaterializationPart(partdefinition);
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void setDoorPosition(boolean open) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/LiftShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/LiftShellModel.java
index 6d8381db..6e82324c 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/LiftShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/LiftShellModel.java
@@ -23,147 +23,6 @@ public LiftShellModel(ModelPart root) {
this.doorClosed = bone28.getChild("door_closed");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition bone28 = partdefinition.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(0, 63).addBox(-8.0F, -32.0F, 16.0F, 16.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 21).addBox(-9.0F, -35.0F, -1.0F, 18.0F, 3.0F, 18.0F, new CubeDeformation(0.025F))
- .texOffs(94, 33).addBox(-3.0F, -35.025F, 5.0F, 6.0F, 3.0F, 6.0F, new CubeDeformation(0.025F))
- .texOffs(0, 43).addBox(-9.0F, -1.0F, -1.0F, 18.0F, 1.0F, 18.0F, new CubeDeformation(0.025F))
- .texOffs(0, 0).addBox(-9.5F, -36.0F, -1.5F, 19.0F, 1.0F, 19.0F, new CubeDeformation(0.0F))
- .texOffs(80, 4).addBox(-5.5F, -40.5F, -1.025F, 11.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -7.0F));
-
- PartDefinition door_open = bone28.addOrReplaceChild("door_open", CubeListBuilder.create().texOffs(83, 96).addBox(5.0F, -32.0F, -1.0F, 3.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition door_closed = bone28.addOrReplaceChild("door_closed", CubeListBuilder.create().texOffs(92, 80).addBox(-8.0F, -32.0F, -1.0F, 16.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(92, 46).addBox(-8.0F, -32.0F, -0.25F, 16.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone7 = door_closed.addOrReplaceChild("bone7", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone6 = bone7.addOrReplaceChild("bone6", CubeListBuilder.create(), PartPose.offset(4.0F, -11.0F, -0.5F));
-
- PartDefinition cube_r1 = bone6.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(14, 12).mirror().addBox(0.0F, -5.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, -5.5F, 0.0F, 0.0F, 0.0F, 0.4189F));
-
- PartDefinition cube_r2 = bone6.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(11, 21).mirror().addBox(0.0F, 0.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(1.0F, -5.5F, 0.0F, 0.0F, 0.0F, -0.4189F));
-
- PartDefinition bone5 = bone7.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offset(-4.0F, -11.0F, -0.5F));
-
- PartDefinition cube_r3 = bone5.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(14, 12).addBox(-1.0F, -5.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -5.5F, 0.0F, 0.0F, 0.0F, -0.4189F));
-
- PartDefinition cube_r4 = bone5.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(11, 21).addBox(-1.0F, 0.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, -5.5F, 0.0F, 0.0F, 0.0F, 0.4189F));
-
- PartDefinition bone4 = bone7.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offset(-4.0F, -11.0F, -0.5F));
-
- PartDefinition cube_r5 = bone4.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(11, 21).mirror().addBox(0.0F, 0.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.4189F));
-
- PartDefinition cube_r6 = bone4.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(11, 21).addBox(-1.0F, 0.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.4189F));
-
- PartDefinition bone3 = bone7.addOrReplaceChild("bone3", CubeListBuilder.create(), PartPose.offset(5.0F, -11.0F, -0.5F));
-
- PartDefinition cube_r7 = bone3.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(11, 21).mirror().addBox(0.0F, 0.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.4189F));
-
- PartDefinition cube_r8 = bone3.addOrReplaceChild("cube_r8", CubeListBuilder.create().texOffs(11, 21).addBox(-1.0F, 0.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.4189F));
-
- PartDefinition bone2 = bone7.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offset(5.0F, -22.0F, -0.5F));
-
- PartDefinition cube_r9 = bone2.addOrReplaceChild("cube_r9", CubeListBuilder.create().texOffs(11, 21).mirror().addBox(0.0F, -5.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.4189F));
-
- PartDefinition cube_r10 = bone2.addOrReplaceChild("cube_r10", CubeListBuilder.create().texOffs(11, 21).addBox(-1.0F, -5.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.4189F));
-
- PartDefinition bone = bone7.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(-4.0F, -22.0F, -0.5F));
-
- PartDefinition cube_r11 = bone.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(11, 21).mirror().addBox(0.0F, -5.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.4189F));
-
- PartDefinition cube_r12 = bone.addOrReplaceChild("cube_r12", CubeListBuilder.create().texOffs(11, 21).addBox(-1.0F, -5.0F, -0.475F, 1.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.4189F));
-
- PartDefinition bone13 = bone28.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(49, 91).addBox(-1.25F, -7.9546F, 2.8F, 1.0F, 21.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(44, 63).addBox(-2.0F, -11.4546F, 0.75F, 3.0F, 29.0F, 1.0F, new CubeDeformation(-0.025F))
- .texOffs(44, 63).addBox(-2.0F, -11.4546F, -2.0F, 3.0F, 29.0F, 1.0F, new CubeDeformation(-0.025F))
- .texOffs(57, 47).addBox(-1.5F, -12.4546F, -7.0F, 1.0F, 32.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, -19.5454F, 9.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone26 = bone13.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offset(-0.5F, -7.4546F, 5.0F));
-
- PartDefinition cube_r13 = bone26.addOrReplaceChild("cube_r13", CubeListBuilder.create().texOffs(0, 21).addBox(-0.25F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone27 = bone13.addOrReplaceChild("bone27", CubeListBuilder.create(), PartPose.offset(-0.5F, 14.5454F, 5.0F));
-
- PartDefinition cube_r14 = bone27.addOrReplaceChild("cube_r14", CubeListBuilder.create().texOffs(0, 0).addBox(-0.25F, -3.0F, -3.0F, 1.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone24 = bone13.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 30).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -9.4546F, -0.5F));
-
- PartDefinition bone22 = bone13.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offset(-0.75F, -4.4546F, -4.0F));
-
- PartDefinition cube_r15 = bone22.addOrReplaceChild("cube_r15", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5F, -3.0F, -3.0F, 1.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone21 = bone13.addOrReplaceChild("bone21", CubeListBuilder.create(), PartPose.offset(-0.5F, -8.4546F, -6.0F));
-
- PartDefinition cube_r16 = bone21.addOrReplaceChild("cube_r16", CubeListBuilder.create().texOffs(0, 21).addBox(-0.25F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone23 = bone13.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offset(-0.5F, -0.4546F, -6.0F));
-
- PartDefinition cube_r17 = bone23.addOrReplaceChild("cube_r17", CubeListBuilder.create().texOffs(0, 21).addBox(-0.25F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-0.25F, 0.0F, 0.0F, -1.3526F, 0.0F, 0.0F));
-
- PartDefinition bone25 = bone13.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(0, 30).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offset(-0.5F, 16.7954F, -0.5F));
-
- PartDefinition bone12 = bone28.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(49, 91).addBox(-0.75F, -7.5F, 8.8F, 1.0F, 21.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(44, 63).addBox(-1.5F, -11.0F, 6.75F, 3.0F, 29.0F, 1.0F, new CubeDeformation(-0.025F))
- .texOffs(44, 63).addBox(-1.5F, -11.0F, 4.0F, 3.0F, 29.0F, 1.0F, new CubeDeformation(-0.025F))
- .texOffs(57, 47).addBox(-1.0F, -12.0F, -1.0F, 1.0F, 32.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(9.0F, -20.0F, 1.0F));
-
- PartDefinition bone20 = bone12.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(0.0F, -7.0F, 11.0F));
-
- PartDefinition cube_r18 = bone20.addOrReplaceChild("cube_r18", CubeListBuilder.create().texOffs(0, 21).addBox(-0.5F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone19 = bone12.addOrReplaceChild("bone19", CubeListBuilder.create(), PartPose.offset(0.0F, 15.0F, 11.0F));
-
- PartDefinition cube_r19 = bone19.addOrReplaceChild("cube_r19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5F, -3.0F, -3.0F, 1.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone17 = bone12.addOrReplaceChild("bone17", CubeListBuilder.create().texOffs(0, 30).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -9.0F, 5.5F));
-
- PartDefinition bone15 = bone12.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offset(-0.25F, -4.0F, 2.0F));
-
- PartDefinition cube_r20 = bone15.addOrReplaceChild("cube_r20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.75F, -3.0F, -3.0F, 1.0F, 6.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.25F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone14 = bone12.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offset(0.0F, -8.0F, 0.0F));
-
- PartDefinition cube_r21 = bone14.addOrReplaceChild("cube_r21", CubeListBuilder.create().texOffs(0, 21).addBox(-0.5F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -0.6109F, 0.0F, 0.0F));
-
- PartDefinition bone16 = bone12.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition cube_r22 = bone16.addOrReplaceChild("cube_r22", CubeListBuilder.create().texOffs(0, 21).addBox(-0.5F, -2.0F, -2.0F, 1.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, -1.3526F, 0.0F, 0.0F));
-
- PartDefinition bone18 = bone12.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 30).addBox(-1.5F, -1.5F, -1.5F, 3.0F, 3.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offset(0.0F, 17.25F, 5.5F));
-
- PartDefinition bone11 = bone28.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(35, 63).addBox(8.0F, -37.0F, -2.0F, 2.0F, 37.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(35, 63).mirror().addBox(-10.0F, -37.0F, -2.0F, 2.0F, 37.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, 0.0F, 16.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone10 = bone28.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(35, 63).addBox(8.0F, -37.0F, -2.0F, 2.0F, 37.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 13).addBox(6.5F, -33.25F, -3.5F, 3.0F, 1.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(80, 0).addBox(-7.5F, -33.225F, -2.5F, 16.0F, 1.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(35, 63).mirror().addBox(-10.0F, -37.0F, -2.0F, 2.0F, 37.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 51).addBox(-13.0F, -30.0F, -3.0F, 4.0F, 4.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 43).addBox(-10.5F, -22.0F, -2.5F, 3.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone9 = bone28.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(59, 3).addBox(0.0F, -5.433F, -9.0F, 1.0F, 3.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -38.067F, 8.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r23 = bone9.addOrReplaceChild("cube_r23", CubeListBuilder.create().texOffs(55, 25).addBox(0.0F, 0.0F, -9.0F, 10.0F, 2.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-8.65F, 2.067F, 0.0F, 0.0F, 0.0F, -0.5236F));
-
- PartDefinition cube_r24 = bone9.addOrReplaceChild("cube_r24", CubeListBuilder.create().texOffs(55, 25).mirror().addBox(-10.0F, 0.0F, -9.0F, 10.0F, 2.0F, 18.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(8.65F, 2.067F, 0.0F, 0.0F, 0.0F, 0.5236F));
-
- PartDefinition bone8 = bone28.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(59, 3).addBox(8.65F, -7.5F, -9.0F, 1.0F, 3.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.65F, -36.0F, 8.0F));
-
- PartDefinition cube_r25 = bone8.addOrReplaceChild("cube_r25", CubeListBuilder.create().texOffs(55, 25).addBox(0.0F, 0.0F, -9.0F, 10.0F, 2.0F, 18.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.5236F));
-
- PartDefinition cube_r26 = bone8.addOrReplaceChild("cube_r26", CubeListBuilder.create().texOffs(55, 25).mirror().addBox(-10.0F, 0.0F, -9.0F, 10.0F, 2.0F, 18.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(17.3F, 0.0F, 0.0F, 0.0F, 0.0F, 0.5236F));
-
- PartDefinition blackface = bone28.addOrReplaceChild("blackface", CubeListBuilder.create().texOffs(0, 97).addBox(-8.0F, -32.0F, -0.75F, 16.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 1.0F));
-
- PartDefinition clock_hand = bone28.addOrReplaceChild("clock_hand", CubeListBuilder.create().texOffs(80, 11).addBox(-0.5F, -2.5F, 0.0F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -37.0F, -1.275F));
- addMaterializationPart(partdefinition);
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void setDoorPosition(boolean open) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/MysticShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/MysticShellModel.java
index 3aece315..2c651548 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/MysticShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/MysticShellModel.java
@@ -2,12 +2,9 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
-import dev.jeryn.anim.tardis.JsonToAnimationDefinition;
+import dev.jeryn.frame.tardis.Frame;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.animation.AnimationChannel;
import net.minecraft.client.animation.AnimationDefinition;
-import net.minecraft.client.animation.Keyframe;
-import net.minecraft.client.animation.KeyframeAnimations;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
@@ -21,7 +18,7 @@
public class MysticShellModel extends ShellModel {
- public static final AnimationDefinition IDLE = JsonToAnimationDefinition.loadAnimation(Minecraft.getInstance().getResourceManager(), new ResourceLocation(TardisRefined.MODID, "animated/shell/myst/idle.json"));
+ public static final AnimationDefinition IDLE = Frame.loadAnimation( new ResourceLocation(TardisRefined.MODID, "frame/shell/myst/idle.json"));
private final ModelPart right_door;
private final ModelPart left_door;
@@ -56,221 +53,6 @@ public MysticShellModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition right_door = partdefinition.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(0, 0).addBox(-6.975F, -3.0F, -2.0F, 3.0F, 6.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(62, 11).addBox(-7.0F, -16.0F, -1.0F, 7.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 5.0F, -7.0F));
-
- PartDefinition bone47 = right_door.addOrReplaceChild("bone47", CubeListBuilder.create().texOffs(130, 166).addBox(-3.5F, -3.5F, -0.5F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(-2.5F, 12.0F, 0.6F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone44 = right_door.addOrReplaceChild("bone44", CubeListBuilder.create().texOffs(130, 158).addBox(-3.0F, -3.0F, -0.5F, 6.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-5.0F, 8.0F, 0.0F, 0.0F, 0.0F, 0.6545F));
-
- PartDefinition bone45 = right_door.addOrReplaceChild("bone45", CubeListBuilder.create().texOffs(130, 166).addBox(-3.5F, -3.5F, -0.5F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-1.5F, 1.0F, 0.1F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone49 = right_door.addOrReplaceChild("bone49", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-2.5F, -4.25F, 0.2F));
-
- PartDefinition bone46 = right_door.addOrReplaceChild("bone46", CubeListBuilder.create().texOffs(130, 176).addBox(-4.5F, -4.5F, -0.5F, 9.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-3.5F, -11.0F, 0.0F, 0.0F, 0.0F, -2.6616F));
-
- PartDefinition bone48 = right_door.addOrReplaceChild("bone48", CubeListBuilder.create().texOffs(130, 187).addBox(-0.5F, -4.5F, -0.5F, 1.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-7.75F, -7.25F, -0.1F));
-
- PartDefinition bone17 = right_door.addOrReplaceChild("bone17", CubeListBuilder.create(), PartPose.offset(-7.0F, 19.0F, 8.0F));
-
- PartDefinition bone16 = bone17.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(72, 196).addBox(0.0F, -14.0F, -1.05F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, -7.1F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(72, 204).addBox(0.0F, -7.0F, -1.025F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -10.0F, -7.1F));
-
- PartDefinition bone15 = bone17.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(74, 153).addBox(0.0F, -24.0F, -1.0F, 5.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -4.0F, -7.1F));
-
- PartDefinition bone14 = bone17.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(72, 176).addBox(0.0F, -9.0F, -1.0F, 7.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.0F, -7.1F));
-
- PartDefinition bone19 = bone17.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(72, 212).addBox(0.0F, -1.0F, 0.0F, 7.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -34.0F, -8.125F));
-
- PartDefinition left_door = partdefinition.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(0, 0).mirror().addBox(3.975F, -3.0F, -2.0F, 3.0F, 6.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(62, 11).mirror().addBox(0.0F, -16.0F, -1.0F, 7.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-7.0F, 5.0F, -7.0F));
-
- PartDefinition bone53 = left_door.addOrReplaceChild("bone53", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.6F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(3.75F, -7.0F, 0.2F, 0.0F, 0.0F, -0.48F));
-
- PartDefinition bone54 = left_door.addOrReplaceChild("bone54", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(2.0F, -4.0F, 0.45F, 0.0F, 0.0F, -0.48F));
-
- PartDefinition bone55 = left_door.addOrReplaceChild("bone55", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(2.0F, 14.0F, 1.2F, 0.0F, 0.0F, -0.48F));
-
- PartDefinition bone52 = left_door.addOrReplaceChild("bone52", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.5F, 3.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(1.75F, -9.25F, 0.2F));
-
- PartDefinition bone51 = left_door.addOrReplaceChild("bone51", CubeListBuilder.create().texOffs(130, 158).addBox(-3.0F, -3.0F, -0.5F, 6.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(2.25F, -14.0F, 0.0F, 0.0F, 0.0F, 0.6545F));
-
- PartDefinition bone50 = left_door.addOrReplaceChild("bone50", CubeListBuilder.create().texOffs(130, 166).addBox(-3.5F, -3.5F, -0.5F, 7.0F, 7.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(1.25F, 5.0F, 1.1F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone20 = left_door.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offset(7.0F, 19.0F, 8.0F));
-
- PartDefinition bone21 = bone20.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(72, 196).mirror().addBox(-7.0F, -14.0F, -1.05F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -3.0F, -7.1F));
-
- PartDefinition bone22 = bone20.addOrReplaceChild("bone22", CubeListBuilder.create().texOffs(72, 204).mirror().addBox(-7.0F, -7.0F, -1.025F, 7.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -10.0F, -7.1F));
-
- PartDefinition bone23 = bone20.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(74, 153).mirror().addBox(-5.0F, -24.0F, -1.0F, 5.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -4.0F, -7.1F));
-
- PartDefinition bone24 = bone20.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(72, 176).mirror().addBox(-7.0F, -9.0F, -1.0F, 7.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -12.0F, -7.1F));
-
- PartDefinition bone25 = bone20.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(72, 212).mirror().addBox(-7.0F, -1.0F, 0.0F, 7.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, -34.0F, -8.125F));
-
- PartDefinition bone3 = partdefinition.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(31, 32).addBox(-7.0F, -35.0F, -8.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(31, 32).addBox(-7.0F, -35.0F, -8.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(31, 32).addBox(-7.0F, -35.0F, -8.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone6 = partdefinition.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(79, 11).addBox(-5.0F, -3.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(28, 66).addBox(-5.0F, -38.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone7 = partdefinition.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(79, 11).addBox(-5.0F, -3.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(28, 66).addBox(-5.0F, -38.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(79, 11).addBox(-5.0F, -3.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(28, 66).addBox(-5.0F, -38.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone9 = bone8.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(79, 11).addBox(-5.0F, -3.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(28, 66).addBox(-5.0F, -38.0F, -9.0F, 10.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone10 = partdefinition.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(73, 77).addBox(5.0F, -26.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(73, 77).mirror().addBox(20.0F, -26.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(77, 40).mirror().addBox(20.0F, 9.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(77, 40).addBox(5.0F, 9.0F, -10.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(29, 72).addBox(5.0F, 9.0F, 5.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(29, 72).mirror().addBox(20.0F, 9.0F, 5.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-15.0F, 10.0F, 0.0F));
-
- PartDefinition bone11 = partdefinition.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(73, 66).addBox(5.0F, -26.0F, 5.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(73, 66).mirror().addBox(20.0F, -26.0F, 5.0F, 5.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-15.0F, 10.0F, 0.0F));
-
- PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(62, 45).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -40.0F, -11.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(62, 45).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -40.0F, -11.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone12 = bone2.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r3 = bone12.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(62, 45).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -40.0F, -11.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition bone13 = bone12.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r4 = bone13.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(62, 45).addBox(-1.0F, 0.0F, 0.0F, 2.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, -40.0F, -11.0F, 0.3054F, 0.0F, 0.0F));
-
- PartDefinition side_animations = partdefinition.addOrReplaceChild("side_animations", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone26 = side_animations.addOrReplaceChild("bone26", CubeListBuilder.create(), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone27 = bone26.addOrReplaceChild("bone27", CubeListBuilder.create().texOffs(94, 196).addBox(-7.0F, -14.0F, -1.05F, 14.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, -7.1F));
-
- PartDefinition bone28 = bone26.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(94, 204).addBox(-7.0F, -7.0F, -1.025F, 14.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -10.0F, -7.1F));
-
- PartDefinition bone29 = bone26.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(98, 153).addBox(-5.0F, -24.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -4.0F, -7.1F));
-
- PartDefinition bone30 = bone26.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(94, 176).addBox(-7.0F, -9.0F, -1.0F, 14.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.0F, -7.1F));
-
- PartDefinition bone31 = bone26.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(94, 212).addBox(-7.0F, -1.0F, 0.0F, 14.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -34.0F, -8.125F));
-
- PartDefinition bone32 = side_animations.addOrReplaceChild("bone32", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, -1.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone33 = bone32.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(94, 196).addBox(-7.0F, -14.0F, -1.05F, 14.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, -7.1F));
-
- PartDefinition bone34 = bone32.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(94, 204).addBox(-7.0F, -7.0F, -1.025F, 14.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -10.0F, -7.1F));
-
- PartDefinition bone35 = bone32.addOrReplaceChild("bone35", CubeListBuilder.create().texOffs(98, 153).addBox(-5.0F, -24.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -4.0F, -7.1F));
-
- PartDefinition bone36 = bone32.addOrReplaceChild("bone36", CubeListBuilder.create().texOffs(94, 176).addBox(-7.0F, -9.0F, -1.0F, 14.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.0F, -7.1F));
-
- PartDefinition bone37 = bone32.addOrReplaceChild("bone37", CubeListBuilder.create().texOffs(94, 212).addBox(-7.0F, -1.0F, 0.0F, 14.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -34.0F, -8.125F));
-
- PartDefinition bone38 = side_animations.addOrReplaceChild("bone38", CubeListBuilder.create(), PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition bone39 = bone38.addOrReplaceChild("bone39", CubeListBuilder.create().texOffs(94, 196).addBox(-7.0F, -14.0F, -1.05F, 14.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -3.0F, -7.1F));
-
- PartDefinition bone40 = bone38.addOrReplaceChild("bone40", CubeListBuilder.create().texOffs(94, 204).addBox(-7.0F, -7.0F, -1.025F, 14.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -10.0F, -7.1F));
-
- PartDefinition bone41 = bone38.addOrReplaceChild("bone41", CubeListBuilder.create().texOffs(98, 153).addBox(-5.0F, -24.0F, -1.0F, 10.0F, 9.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -4.0F, -7.1F));
-
- PartDefinition bone42 = bone38.addOrReplaceChild("bone42", CubeListBuilder.create().texOffs(94, 176).addBox(-7.0F, -9.0F, -1.0F, 14.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -12.0F, -7.1F));
-
- PartDefinition bone43 = bone38.addOrReplaceChild("bone43", CubeListBuilder.create().texOffs(94, 212).addBox(-7.0F, -1.0F, 0.0F, 14.0F, 8.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, -34.0F, -8.125F));
-
- PartDefinition bone56 = partdefinition.addOrReplaceChild("bone56", CubeListBuilder.create().texOffs(148, 158).addBox(-4.5F, -4.5F, -0.5F, 9.0F, 9.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(148, 158).mirror().addBox(-4.5F, -4.5F, 13.2F, 9.0F, 9.0F, 1.0F, new CubeDeformation(-0.25F)).mirror(false), PartPose.offset(0.0F, -14.25F, -6.475F));
-
- PartDefinition bone58 = partdefinition.addOrReplaceChild("bone58", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone57 = bone58.addOrReplaceChild("bone57", CubeListBuilder.create().texOffs(148, 158).addBox(-4.5F, -4.5F, -0.5F, 9.0F, 9.0F, 1.0F, new CubeDeformation(-0.25F))
- .texOffs(148, 158).mirror().addBox(-4.5F, -4.5F, 13.2F, 9.0F, 9.0F, 1.0F, new CubeDeformation(-0.25F)).mirror(false), PartPose.offset(0.0F, -38.25F, -6.475F));
-
- PartDefinition gold_animations = partdefinition.addOrReplaceChild("gold_animations", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone60 = gold_animations.addOrReplaceChild("bone60", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone59 = bone60.addOrReplaceChild("bone59", CubeListBuilder.create().texOffs(130, 176).addBox(-4.5F, -4.5F, -0.5F, 9.0F, 9.0F, 1.0F, new CubeDeformation(0.5F)), PartPose.offsetAndRotation(1.5F, -30.0F, -6.5F, 0.0F, 0.0F, -2.6616F));
-
- PartDefinition bone61 = bone60.addOrReplaceChild("bone61", CubeListBuilder.create().texOffs(130, 166).addBox(-3.5F, -3.5F, -0.5F, 7.0F, 7.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(-2.75F, -25.0F, -5.9F, 0.0F, 0.0F, 0.7854F));
-
- PartDefinition bone62 = bone60.addOrReplaceChild("bone62", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(3.0F, -19.0F, -5.8F, 0.0F, 0.0F, -0.48F));
-
- PartDefinition bone63 = bone60.addOrReplaceChild("bone63", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.6F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(0.0F, -15.0F, -5.8F, 0.0F, 0.0F, 0.6545F));
-
- PartDefinition bone64 = bone60.addOrReplaceChild("bone64", CubeListBuilder.create().texOffs(147, 170).addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(3.5F, -11.5F, -5.8F, 0.0F, 0.0F, 0.1309F));
-
- PartDefinition bone65 = bone60.addOrReplaceChild("bone65", CubeListBuilder.create().texOffs(130, 158).addBox(-3.0F, -3.0F, 0.5F, 6.0F, 6.0F, 1.0F, new CubeDeformation(1.0F)), PartPose.offsetAndRotation(-2.75F, -7.0F, -7.0F, 0.0F, 0.0F, 0.6545F));
-
- PartDefinition bone66 = gold_animations.addOrReplaceChild("bone66", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition bone67 = bone66.addOrReplaceChild("bone67", CubeListBuilder.create().texOffs(130, 176).mirror().addBox(-4.5F, -4.5F, -0.5F, 9.0F, 9.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-1.5F, -30.0F, -6.5F, 0.0F, 0.0F, 2.6616F));
-
- PartDefinition bone68 = bone66.addOrReplaceChild("bone68", CubeListBuilder.create().texOffs(130, 166).mirror().addBox(-3.5F, -3.5F, -0.5F, 7.0F, 7.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(2.75F, -25.0F, -5.9F, 0.0F, 0.0F, -0.7854F));
-
- PartDefinition bone69 = bone66.addOrReplaceChild("bone69", CubeListBuilder.create().texOffs(147, 170).mirror().addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(-3.0F, -19.0F, -5.8F, 0.0F, 0.0F, 0.48F));
-
- PartDefinition bone70 = bone66.addOrReplaceChild("bone70", CubeListBuilder.create().texOffs(147, 170).mirror().addBox(-1.5F, -1.5F, -0.6F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -15.0F, -5.8F, 0.0F, 0.0F, -0.6545F));
-
- PartDefinition bone71 = bone66.addOrReplaceChild("bone71", CubeListBuilder.create().texOffs(147, 170).mirror().addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(-3.5F, -11.5F, -5.8F, 0.0F, 0.0F, -0.1309F));
-
- PartDefinition bone72 = bone66.addOrReplaceChild("bone72", CubeListBuilder.create().texOffs(130, 158).mirror().addBox(-3.0F, -3.0F, 0.5F, 6.0F, 6.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(2.75F, -7.0F, -7.0F, 0.0F, 0.0F, -0.6545F));
-
- PartDefinition bone73 = gold_animations.addOrReplaceChild("bone73", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone74 = bone73.addOrReplaceChild("bone74", CubeListBuilder.create().texOffs(130, 176).mirror().addBox(-4.5F, -4.5F, -0.5F, 9.0F, 9.0F, 1.0F, new CubeDeformation(0.5F)).mirror(false), PartPose.offsetAndRotation(-1.5F, -30.0F, -6.5F, 0.0F, 0.0F, 2.6616F));
-
- PartDefinition bone75 = bone73.addOrReplaceChild("bone75", CubeListBuilder.create().texOffs(130, 166).mirror().addBox(-3.5F, -3.5F, -0.5F, 7.0F, 7.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(2.75F, -25.0F, -5.9F, 0.0F, 0.0F, -0.7854F));
-
- PartDefinition bone76 = bone73.addOrReplaceChild("bone76", CubeListBuilder.create().texOffs(147, 170).mirror().addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(-3.0F, -19.0F, -5.8F, 0.0F, 0.0F, 0.48F));
-
- PartDefinition bone77 = bone73.addOrReplaceChild("bone77", CubeListBuilder.create().texOffs(147, 170).mirror().addBox(-1.5F, -1.5F, -0.6F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(0.0F, -15.0F, -5.8F, 0.0F, 0.0F, -0.6545F));
-
- PartDefinition bone78 = bone73.addOrReplaceChild("bone78", CubeListBuilder.create().texOffs(147, 170).mirror().addBox(-1.5F, -1.5F, -0.7F, 3.0F, 3.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(-3.5F, -11.5F, -5.8F, 0.0F, 0.0F, -0.1309F));
-
- PartDefinition bone79 = bone73.addOrReplaceChild("bone79", CubeListBuilder.create().texOffs(130, 158).mirror().addBox(-3.0F, -3.0F, 0.5F, 6.0F, 6.0F, 1.0F, new CubeDeformation(1.0F)).mirror(false), PartPose.offsetAndRotation(2.75F, -7.0F, -7.0F, 0.0F, 0.0F, -0.6545F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(9, 77).addBox(-10.0F, -23.0F, -10.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 66).addBox(-9.0F, -35.0F, -9.0F, 2.0F, 30.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 66).mirror().addBox(7.0F, -35.0F, -9.0F, 2.0F, 30.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 66).mirror().addBox(7.0F, -35.0F, 7.0F, 2.0F, 30.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 66).addBox(-9.0F, -35.0F, 7.0F, 2.0F, 30.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(9, 77).mirror().addBox(6.0F, -23.0F, -10.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(43, 16).addBox(-10.0F, -23.0F, 6.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(43, 16).mirror().addBox(6.0F, -23.0F, 6.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 16).addBox(-7.0F, -37.0F, -7.0F, 14.0F, 1.0F, 14.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-7.0F, -1.0F, -7.0F, 14.0F, 1.0F, 14.0F, new CubeDeformation(0.0F))
- .texOffs(9, 66).addBox(-3.0F, -45.0F, -3.0F, 6.0F, 4.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(65, 57).addBox(-3.0F, -44.0F, -3.0F, 6.0F, 2.0F, 6.0F, new CubeDeformation(0.5F))
- .texOffs(0, 32).addBox(-7.0F, -35.0F, 1.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(-0.025F))
- .texOffs(54, 58).addBox(6.9F, -35.0F, -7.0F, 1.0F, 32.0F, 8.0F, new CubeDeformation(-0.025F))
- .texOffs(54, 58).mirror().addBox(-7.9F, -35.0F, -7.0F, 1.0F, 32.0F, 8.0F, new CubeDeformation(-0.025F)).mirror(false)
- .texOffs(44, 0).addBox(-6.9F, -35.9F, -7.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(-0.025F))
- .texOffs(44, 0).addBox(-6.9F, -4.1F, -7.0F, 14.0F, 1.0F, 8.0F, new CubeDeformation(-0.025F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
right_door.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/NukaShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/NukaShellModel.java
index 6005735a..28e2dbbe 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/NukaShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/NukaShellModel.java
@@ -88,69 +88,6 @@ public NukaShellModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition sign = partdefinition.addOrReplaceChild("sign", CubeListBuilder.create().texOffs(133, 110).addBox(-4.0F, -4.0F, -1.0F, 8.0F, 8.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(110, 47).addBox(-5.0F, -5.0F, 0.0F, 10.0F, 10.0F, 1.0F, new CubeDeformation(0.25F))
- .texOffs(54, 55).addBox(-5.0F, -5.0F, -1.0F, 10.0F, 10.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-0.5F, -25.5F, 0.0F));
-
- PartDefinition right_door = partdefinition.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(133, 76).addBox(-8.0F, -16.0F, 0.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, 2.0F, -10.0F));
-
- PartDefinition left_door = partdefinition.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(133, 42).addBox(0.0F, -16.0F, 0.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.0F, 2.0F, -10.0F));
-
- PartDefinition bone2 = partdefinition.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(127, 5).addBox(-9.0F, -6.0F, -11.0F, 18.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone3 = bone2.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(127, 0).addBox(-9.0F, -6.0F, -11.0F, 18.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone4 = bone3.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(73, 15).addBox(-9.0F, -6.0F, -11.0F, 18.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(73, 10).addBox(-9.0F, -6.0F, -11.0F, 18.0F, 3.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone6 = partdefinition.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(0, 55).addBox(-10.0F, -38.0F, -8.0F, 1.0F, 32.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-9.0F, -29.0F, -4.0F, 3.0F, 12.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-8.5F, -25.5F, 4.0F, 1.0F, 5.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(89, 47).addBox(-13.0F, -16.0F, -7.0F, 3.0F, 8.0F, 14.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition black = partdefinition.addOrReplaceChild("black", CubeListBuilder.create().texOffs(73, 0).addBox(-8.5F, -6.0F, -10.0F, 17.0F, 1.0F, 8.0F, new CubeDeformation(0.0F))
- .texOffs(0, 104).addBox(-8.5F, -38.0F, -2.0F, 17.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(117, 3).addBox(8.5F, -38.0F, -9.0F, 1.0F, 32.0F, 7.0F, new CubeDeformation(0.0F))
- .texOffs(64, 104).addBox(-9.5F, -38.0F, -9.0F, 1.0F, 32.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition wheel_1 = partdefinition.addOrReplaceChild("wheel_1", CubeListBuilder.create().texOffs(13, 28).addBox(-0.5F, -1.5F, -1.5F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(11.5F, -6.5F, -2.5F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition wheel_2 = partdefinition.addOrReplaceChild("wheel_2", CubeListBuilder.create().texOffs(13, 28).addBox(-0.5F, -1.5F, -1.5F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(11.5F, -6.5F, 2.5F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition wheel_3 = partdefinition.addOrReplaceChild("wheel_3", CubeListBuilder.create().texOffs(36, 55).addBox(-0.5F, -2.5F, -2.5F, 1.0F, 5.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-11.5F, 0.5F, 2.0F, 0.1745F, 0.0F, 0.0F));
-
- PartDefinition wheel_4 = partdefinition.addOrReplaceChild("wheel_4", CubeListBuilder.create().texOffs(15, 0).addBox(-0.5F, -1.5F, -1.5F, 1.0F, 3.0F, 3.0F, new CubeDeformation(0.25F)), PartPose.offsetAndRotation(-11.5F, 1.5F, -3.0F, -0.1745F, 0.0F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(0, 0).addBox(-12.0F, -3.0F, -12.0F, 24.0F, 3.0F, 24.0F, new CubeDeformation(0.0F))
- .texOffs(0, 28).addBox(-11.5F, -41.0625F, -11.5F, 23.0F, 3.0F, 23.0F, new CubeDeformation(0.125F))
- .texOffs(70, 28).addBox(-7.5F, -44.0F, -7.5F, 15.0F, 3.0F, 15.0F, new CubeDeformation(0.0F))
- .texOffs(0, 55).addBox(7.0F, -26.0F, -11.75F, 5.0F, 8.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(70, 55).addBox(9.0F, -38.0F, -8.0F, 1.0F, 32.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(35, 55).addBox(-10.0F, -38.0F, -8.0F, 1.0F, 32.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(37, 104).addBox(10.0F, -34.0F, -6.0F, 1.0F, 20.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(93, 92).addBox(-11.0F, -34.0F, -6.0F, 1.0F, 20.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(0, 28).addBox(-12.0F, -18.0F, -5.0F, 1.0F, 3.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition cube_r1 = bb_main.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(19, 55).addBox(-0.5F, 0.0F, -6.0F, 2.0F, 2.0F, 12.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(11.0F, -17.0F, 0.0F, 0.0F, 0.0F, 0.6545F));
-
- PartDefinition cube_r2 = bb_main.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(120, 70).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 38.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -4.5F, 9.5F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition cube_r3 = bb_main.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(120, 112).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 38.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, -4.5F, 9.5F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r4 = bb_main.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(81, 122).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 38.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-9.5F, -4.5F, -9.5F, 0.0F, 0.7854F, 0.0F));
-
- PartDefinition cube_r5 = bb_main.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(94, 125).addBox(-1.5F, -36.5F, -1.5F, 3.0F, 38.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(9.5F, -4.5F, -9.5F, 0.0F, -0.7854F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void setDoorPosition(boolean open) {
if (open) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PagodaShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PagodaShellModel.java
index 428fd8ff..85a463bc 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PagodaShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PagodaShellModel.java
@@ -34,122 +34,6 @@ public PagodaShellModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = ((PartDefinition) partdefinition).addOrReplaceChild("door", CubeListBuilder.create().texOffs(0, 52).addBox(-14.0F, -14.0F, -0.5F, 14.0F, 24.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 18).addBox(-14.0F, -14.0F, 0.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(7.0F, 6.0F, -8.0F));
-
- PartDefinition bone4 = partdefinition.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(31, 71).addBox(7.0F, -32.0F, -8.0F, 2.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -1.0F));
-
- PartDefinition bone5 = bone4.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(31, 71).addBox(7.0F, -32.0F, -9.0F, 2.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 1.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone7 = bone5.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(31, 71).addBox(7.0F, -32.0F, -9.0F, 2.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(31, 71).addBox(7.0F, -32.0F, -9.0F, 2.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(0, 18).addBox(-7.0F, -32.0F, -8.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(31, 45).addBox(-7.0F, -32.0F, -8.5F, 14.0F, 24.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(75, 75).addBox(-4.0F, -28.0F, -10.0F, 8.0F, 13.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 24.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(49, 7).addBox(-6.0F, 0.0F, 0.0F, 10.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -28.0F, -11.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(0, 18).addBox(-7.0F, -32.0F, -8.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(31, 45).addBox(-7.0F, -32.0F, -8.5F, 14.0F, 24.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(75, 75).addBox(-4.0F, -28.0F, -10.0F, 8.0F, 13.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r2 = bone2.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(49, 7).addBox(-6.0F, 0.0F, 0.0F, 10.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -28.0F, -11.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone6 = bone2.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(0, 18).addBox(-7.0F, -32.0F, -8.0F, 14.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(31, 45).addBox(-7.0F, -32.0F, -8.5F, 14.0F, 24.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(75, 75).addBox(-4.0F, -28.0F, -10.0F, 8.0F, 13.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r3 = bone6.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(49, 7).addBox(-6.0F, 0.0F, 0.0F, 10.0F, 2.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, -28.0F, -11.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone17 = partdefinition.addOrReplaceChild("bone17", CubeListBuilder.create(), PartPose.offset(0.0F, -17.25F, 0.0F));
-
- PartDefinition cube_r4 = bone17.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(49, 0).addBox(-5.0F, 0.0F, -5.0F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone18 = bone17.addOrReplaceChild("bone18", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r5 = bone18.addOrReplaceChild("cube_r5", CubeListBuilder.create().texOffs(49, 0).addBox(-5.0F, 0.0F, -5.0F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone19 = bone18.addOrReplaceChild("bone19", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r6 = bone19.addOrReplaceChild("cube_r6", CubeListBuilder.create().texOffs(49, 0).addBox(-5.0F, 0.0F, -5.0F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone20 = bone19.addOrReplaceChild("bone20", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r7 = bone20.addOrReplaceChild("cube_r7", CubeListBuilder.create().texOffs(49, 0).addBox(-5.0F, 0.0F, -5.0F, 10.0F, 1.0F, 5.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.5236F, 0.0F, 0.0F));
-
- PartDefinition bone21 = partdefinition.addOrReplaceChild("bone21", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -18.25F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r8 = bone21.addOrReplaceChild("cube_r8", CubeListBuilder.create().texOffs(50, 59).addBox(-0.025F, -3.2734F, -8.3557F, 1.0F, 5.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(69, 7).addBox(-1.0F, 0.2266F, -6.8557F, 2.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone22 = bone21.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r9 = bone22.addOrReplaceChild("cube_r9", CubeListBuilder.create().texOffs(50, 59).addBox(-0.025F, -3.2734F, -8.3557F, 1.0F, 5.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(69, 7).addBox(-1.0F, 0.2266F, -6.8557F, 2.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone23 = bone22.addOrReplaceChild("bone23", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r10 = bone23.addOrReplaceChild("cube_r10", CubeListBuilder.create().texOffs(50, 59).addBox(-0.025F, -3.2734F, -8.3557F, 1.0F, 5.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(69, 7).addBox(-1.0F, 0.2266F, -6.8557F, 2.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone24 = bone23.addOrReplaceChild("bone24", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r11 = bone24.addOrReplaceChild("cube_r11", CubeListBuilder.create().texOffs(50, 59).addBox(-0.025F, -3.2734F, -8.3557F, 1.0F, 5.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(69, 7).addBox(-1.0F, 0.2266F, -6.8557F, 2.0F, 2.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -2.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone13 = partdefinition.addOrReplaceChild("bone13", CubeListBuilder.create(), PartPose.offset(0.0F, -11.25F, 0.0F));
-
- PartDefinition cube_r12 = bone13.addOrReplaceChild("cube_r12", CubeListBuilder.create().texOffs(31, 18).addBox(-9.5F, 0.0F, -6.0F, 19.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -5.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone14 = bone13.addOrReplaceChild("bone14", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r13 = bone14.addOrReplaceChild("cube_r13", CubeListBuilder.create().texOffs(31, 18).addBox(-9.5F, 0.0F, -6.0F, 19.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -5.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone15 = bone14.addOrReplaceChild("bone15", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r14 = bone15.addOrReplaceChild("cube_r14", CubeListBuilder.create().texOffs(31, 18).addBox(-9.5F, 0.0F, -6.0F, 19.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -5.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone16 = bone15.addOrReplaceChild("bone16", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r15 = bone16.addOrReplaceChild("cube_r15", CubeListBuilder.create().texOffs(31, 18).addBox(-9.5F, 0.0F, -6.0F, 19.0F, 2.0F, 6.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -5.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone9 = partdefinition.addOrReplaceChild("bone9", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -11.25F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r16 = bone9.addOrReplaceChild("cube_r16", CubeListBuilder.create().texOffs(62, 33).addBox(0.0F, -2.5F, -11.0F, 1.0F, 4.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(65, 50).addBox(-1.0F, -1.0F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -6.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone10 = bone9.addOrReplaceChild("bone10", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r17 = bone10.addOrReplaceChild("cube_r17", CubeListBuilder.create().texOffs(62, 33).addBox(0.0F, -2.5F, -11.0F, 1.0F, 4.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(65, 50).addBox(-1.0F, -1.0F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -6.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone11 = bone10.addOrReplaceChild("bone11", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r18 = bone11.addOrReplaceChild("cube_r18", CubeListBuilder.create().texOffs(62, 33).addBox(0.0F, -2.5F, -11.0F, 1.0F, 4.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(65, 50).addBox(-1.0F, -1.0F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -6.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bone12 = bone11.addOrReplaceChild("bone12", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition cube_r19 = bone12.addOrReplaceChild("cube_r19", CubeListBuilder.create().texOffs(62, 33).addBox(0.0F, -2.5F, -11.0F, 1.0F, 4.0F, 12.0F, new CubeDeformation(0.0F))
- .texOffs(65, 50).addBox(-1.0F, -1.0F, -9.0F, 2.0F, 2.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, -6.0F, 0.3491F, 0.0F, 0.0F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(31, 27).addBox(-5.0F, -39.0F, -5.0F, 10.0F, 7.0F, 10.0F, new CubeDeformation(0.0F))
- .texOffs(77, 27).addBox(-2.0F, -43.0F, -2.0F, 4.0F, 4.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-8.0F, -1.0F, -8.0F, 16.0F, 1.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(23, 91).addBox(-9.0F, -33.0F, -9.0F, 18.0F, 1.0F, 18.0F, new CubeDeformation(0.0F))
- .texOffs(0, 111).addBox(-8.0F, -0.025F, -8.0F, 16.0F, 1.0F, 16.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PathfinderShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PathfinderShellModel.java
index 5efce61c..feae4454 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PathfinderShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PathfinderShellModel.java
@@ -30,37 +30,6 @@ public PathfinderShellModel(ModelPart root) {
this.bb_main = root.getChild("bb_main");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition bone3 = partdefinition.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(47, 19).addBox(-10.0F, -54.0F, 2.775F, 19.0F, 4.0F, 4.0F, new CubeDeformation(0.025F))
- .texOffs(27, 36).addBox(-12.0F, -50.0F, 3.025F, 23.0F, 8.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(47, 0).addBox(-12.0F, -50.0F, 4.025F, 23.0F, 8.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(0.5F, 29.0F, 1.25F));
-
- PartDefinition cube_r1 = bone3.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(46, 47).mirror().addBox(-4.0F, -14.0F, -1.975F, 4.0F, 14.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(15.9565F, -41.351F, 4.75F, 0.0F, 0.0F, -0.5236F));
-
- PartDefinition cube_r2 = bone3.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(46, 47).addBox(0.0F, -14.0F, -1.975F, 4.0F, 14.0F, 4.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-16.9565F, -41.351F, 4.75F, 0.0F, 0.0F, 0.5236F));
-
- PartDefinition r_door = partdefinition.addOrReplaceChild("r_door", CubeListBuilder.create().texOffs(0, 36).addBox(-10.0F, -18.0F, -1.0F, 11.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(10.0F, 8.0F, 6.75F));
-
- PartDefinition cube_r3 = r_door.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(47, 28).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(-6.5F, 0.0F, -1.0F, -0.2618F, 0.0F, -0.2618F));
-
- PartDefinition l_door = partdefinition.addOrReplaceChild("l_door", CubeListBuilder.create().texOffs(0, 36).mirror().addBox(-1.0F, -18.0F, -1.0F, 11.0F, 34.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(-10.0F, 8.0F, 6.75F));
-
- PartDefinition cube_r4 = l_door.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(47, 28).addBox(-2.5F, 0.0F, 0.0F, 5.0F, 5.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.5F, 0.0F, -1.0F, -0.2618F, 0.0F, 0.2618F));
-
- PartDefinition bb_main = partdefinition.addOrReplaceChild("bb_main", CubeListBuilder.create().texOffs(27, 47).addBox(-16.0F, -34.0F, 4.0F, 5.0F, 34.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(58, 61).addBox(-17.0F, -37.0F, 3.0F, 7.0F, 3.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(47, 11).addBox(-10.0F, -37.0F, 4.0F, 20.0F, 3.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(58, 61).mirror().addBox(10.0F, -37.0F, 3.0F, 7.0F, 3.0F, 5.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(27, 47).mirror().addBox(11.0F, -34.0F, 4.0F, 5.0F, 34.0F, 4.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 0).addBox(-11.0F, -34.025F, 7.0F, 22.0F, 34.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
@Override
public ModelPart root() {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PhoneBoothModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PhoneBoothModel.java
index bf666857..2a19362b 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PhoneBoothModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PhoneBoothModel.java
@@ -22,62 +22,6 @@ public PhoneBoothModel(ModelPart root) {
this.door = this.bone9.getChild("Door");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition bone9 = partdefinition.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(61, 0).addBox(-8.0F, -42.5F, -8.25F, 16.0F, 5.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-10.0F, -2.0F, -10.0F, 20.0F, 2.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(40, 71).addBox(-7.0F, -36.0F, -7.0F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(40, 71).addBox(-7.0F, -36.0F, -8.0F, 14.0F, 0.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(49, 50).addBox(-8.0F, -42.0F, -8.0F, 16.0F, 4.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(0, 23).addBox(-8.5F, -46.0F, -8.5F, 17.0F, 4.0F, 17.0F, new CubeDeformation(0.0F))
- .texOffs(0, 45).addBox(-8.0F, -45.5F, -8.0F, 16.0F, 4.0F, 16.0F, new CubeDeformation(0.0F))
- .texOffs(61, 7).addBox(-7.0F, -38.0F, -9.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition Door = bone9.addOrReplaceChild("Door", CubeListBuilder.create().texOffs(0, 66).addBox(0.0F, -15.25F, -0.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(9, 0).addBox(10.0F, -3.75F, -1.5F, 3.0F, 5.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(6, 8).addBox(13.1F, -3.25F, -3.0F, 1.0F, 4.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(69, 23).addBox(0.5F, -14.25F, 0.0F, 13.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-7.0F, -20.75F, -8.0F));
-
- PartDefinition bone6 = bone9.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(61, 7).addBox(-7.0F, -38.0F, -9.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 66).addBox(-7.0F, -36.0F, -8.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 0).addBox(-8.0F, -42.5F, -8.25F, 16.0F, 5.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(69, 23).addBox(-6.5F, -35.0F, -8.0F, 13.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone7 = bone6.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(61, 7).addBox(-7.0F, -38.0F, -9.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 66).addBox(-7.0F, -36.0F, -8.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 0).addBox(-8.0F, -42.5F, -8.25F, 16.0F, 5.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(69, 23).addBox(-6.5F, -35.0F, -8.0F, 13.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone8 = bone7.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(61, 7).addBox(-7.0F, -38.0F, -9.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 66).addBox(-7.0F, -36.0F, -8.5F, 14.0F, 34.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(61, 0).addBox(-8.0F, -42.5F, -8.25F, 16.0F, 5.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(69, 23).addBox(-6.5F, -35.0F, -8.0F, 13.0F, 25.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone4 = bone9.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(31, 66).mirror().addBox(-0.5F, -20.0F, -1.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 0).mirror().addBox(-0.5F, 8.0F, -1.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F)).mirror(false)
- .texOffs(0, 23).mirror().addBox(-0.5F, -20.75F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)).mirror(false), PartPose.offset(7.5F, -18.0F, 8.0F));
-
- PartDefinition bone2 = bone9.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(31, 66).mirror().addBox(-0.5F, -20.0F, -1.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 0).mirror().addBox(-0.5F, 8.0F, -1.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F)).mirror(false)
- .texOffs(0, 23).mirror().addBox(-0.5F, -20.75F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)).mirror(false), PartPose.offset(7.5F, -18.0F, -8.0F));
-
- PartDefinition bone3 = bone9.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(31, 66).addBox(-1.5F, -20.0F, -1.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-1.5F, 8.0F, -1.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(0, 23).addBox(-1.5F, -20.75F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(-7.5F, -18.0F, 8.0F));
-
- PartDefinition bone = bone9.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(31, 66).addBox(-1.5F, -20.0F, -1.0F, 2.0F, 36.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-1.5F, 8.0F, -1.0F, 2.0F, 8.0F, 2.0F, new CubeDeformation(0.25F))
- .texOffs(0, 23).addBox(-1.5F, -20.75F, -1.0F, 2.0F, 5.0F, 2.0F, new CubeDeformation(0.25F)), PartPose.offset(-7.5F, -18.0F, -8.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PoliceBoxModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PoliceBoxModel.java
index 199a7471..73391134 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PoliceBoxModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PoliceBoxModel.java
@@ -23,113 +23,6 @@ public PoliceBoxModel(ModelPart root) {
this.left_door = root.getChild("left_door");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition tardis_frame = partdefinition.addOrReplaceChild("tardis_frame", CubeListBuilder.create(), PartPose.offset(0.0F, 24.0F, 0.0F));
-
- PartDefinition bone = tardis_frame.addOrReplaceChild("bone", CubeListBuilder.create(), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition frame = bone.addOrReplaceChild("frame", CubeListBuilder.create().texOffs(64, 41).addBox(-9.0F, -36.25F, -11.25F, 18.0F, 3.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 28).addBox(-10.5F, -43.0F, -10.5F, 21.0F, 4.0F, 21.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-3.0F, -45.0F, -3.0F, 6.0F, 2.0F, 6.0F, new CubeDeformation(0.0F))
- .texOffs(0, 16).addBox(-2.0F, -48.0F, -2.0F, 4.0F, 3.0F, 4.0F, new CubeDeformation(0.0F))
- .texOffs(0, 9).addBox(-2.5F, -49.0F, -2.5F, 5.0F, 1.0F, 5.0F, new CubeDeformation(0.0F))
- .texOffs(64, 28).addBox(-10.5F, -39.5F, -12.5F, 21.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(-12.5F, -2.0F, -12.5F, 25.0F, 2.0F, 25.0F, new CubeDeformation(0.0F))
- .texOffs(0, 54).addBox(-9.5F, -33.5F, -1.75F, 19.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(41, 54).addBox(-9.5F, -34.275F, -9.25F, 19.0F, 1.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition frame_r1 = frame.addOrReplaceChild("frame_r1", CubeListBuilder.create().texOffs(64, 28).addBox(-10.5F, -39.5F, -12.5F, 21.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition frame_r2 = frame.addOrReplaceChild("frame_r2", CubeListBuilder.create().texOffs(64, 28).addBox(-10.5F, -39.5F, -12.5F, 21.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition frame_r3 = frame.addOrReplaceChild("frame_r3", CubeListBuilder.create().texOffs(64, 28).addBox(-10.5F, -39.5F, -12.5F, 21.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone3 = frame.addOrReplaceChild("bone3", CubeListBuilder.create().texOffs(64, 35).addBox(-9.0F, -36.25F, -11.25F, 18.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, -1.5708F, 0.0F));
-
- PartDefinition bone11 = bone3.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(0, 37).mirror().addBox(-6.5F, -8.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 37).addBox(-6.5F, -16.0F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 0).addBox(-6.5F, -23.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(19, 88).addBox(-7.5F, -32.0F, 0.75F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 28).addBox(-6.5F, -31.25F, 0.15F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(13, 16).addBox(-5.5F, -28.75F, 0.075F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, -1.5F, -11.25F));
-
- PartDefinition bone12 = bone3.addOrReplaceChild("bone12", CubeListBuilder.create().texOffs(0, 37).addBox(0.5F, -8.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 0).addBox(0.5F, -16.0F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 37).addBox(0.5F, -23.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 88).addBox(-0.5F, -32.0F, 0.75F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(38, 107).addBox(7.5F, -32.0F, 0.25F, 1.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.0F, -1.5F, -11.25F));
-
- PartDefinition bone4 = bone12.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 28).mirror().addBox(-3.25F, -8.25F, 0.9F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(13, 16).addBox(-2.25F, -5.75F, 0.825F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.75F, -23.0F, -0.75F));
-
- PartDefinition bone6 = frame.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(64, 35).addBox(-9.0F, -36.25F, -11.25F, 18.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition bone13 = bone6.addOrReplaceChild("bone13", CubeListBuilder.create().texOffs(76, 0).mirror().addBox(-6.5F, -8.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 37).addBox(-6.5F, -16.0F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 0).addBox(-6.5F, -23.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(19, 88).addBox(-7.5F, -32.0F, 0.75F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 28).addBox(-6.5F, -31.25F, 0.15F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(13, 16).addBox(-5.5F, -28.75F, 0.075F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, -1.5F, -11.25F));
-
- PartDefinition bone14 = bone6.addOrReplaceChild("bone14", CubeListBuilder.create().texOffs(0, 37).addBox(0.5F, -8.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 37).addBox(0.5F, -16.0F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 0).addBox(0.5F, -23.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 88).addBox(-0.5F, -32.0F, 0.75F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(38, 107).addBox(7.5F, -32.0F, 0.25F, 1.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.0F, -1.5F, -11.25F));
-
- PartDefinition bone7 = bone14.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(0, 28).mirror().addBox(-3.25F, -8.25F, 0.9F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(13, 16).addBox(-2.25F, -5.75F, 0.825F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.75F, -23.0F, -0.75F));
-
- PartDefinition bone8 = frame.addOrReplaceChild("bone8", CubeListBuilder.create().texOffs(64, 35).addBox(-9.0F, -36.25F, -11.25F, 18.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 1.5708F, 0.0F));
-
- PartDefinition bone15 = bone8.addOrReplaceChild("bone15", CubeListBuilder.create().texOffs(0, 37).mirror().addBox(-6.5F, -8.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(76, 0).addBox(-6.5F, -16.0F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 0).addBox(-6.5F, -23.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(19, 88).addBox(-7.5F, -32.0F, 0.75F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 28).addBox(-6.5F, -31.25F, 0.15F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(13, 16).addBox(-5.5F, -28.75F, 0.075F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.0F, -1.5F, -11.25F));
-
- PartDefinition bone16 = bone8.addOrReplaceChild("bone16", CubeListBuilder.create().texOffs(76, 0).addBox(0.5F, -8.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 37).addBox(0.5F, -16.0F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 37).addBox(0.5F, -23.5F, 0.25F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 88).addBox(-0.5F, -32.0F, 0.75F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(38, 107).addBox(7.5F, -32.0F, 0.25F, 1.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.0F, -1.5F, -11.25F));
-
- PartDefinition bone9 = bone16.addOrReplaceChild("bone9", CubeListBuilder.create().texOffs(0, 28).mirror().addBox(-3.25F, -8.25F, 0.9F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(13, 16).addBox(-2.25F, -5.75F, 0.825F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(3.75F, -23.0F, -0.75F));
-
- PartDefinition bone2 = frame.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(80, 64).addBox(8.5F, -41.0F, -11.5F, 3.0F, 39.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(67, 64).addBox(-11.5F, -41.0F, -11.5F, 3.0F, 39.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone10 = frame.addOrReplaceChild("bone10", CubeListBuilder.create().texOffs(54, 64).addBox(8.5F, -41.0F, -11.5F, 3.0F, 39.0F, 3.0F, new CubeDeformation(0.0F))
- .texOffs(41, 64).addBox(-11.5F, -41.0F, -11.5F, 3.0F, 39.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 3.1416F, 0.0F));
-
- PartDefinition right_door = partdefinition.addOrReplaceChild("right_door", CubeListBuilder.create().texOffs(0, 37).mirror().addBox(-7.0F, -8.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 37).addBox(-7.0F, -16.0F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 0).addBox(-7.0F, -23.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(41, 54).addBox(-8.5F, -22.0F, -1.75F, 1.0F, 4.0F, 2.0F, new CubeDeformation(0.0F))
- .texOffs(88, 47).addBox(-6.5F, -23.0F, -0.525F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(93, 98).addBox(-8.0F, -32.0F, 0.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 9).addBox(-7.0F, -31.25F, -0.6F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(76, 18).addBox(-6.0F, -28.75F, -0.675F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(8.5F, 22.5F, -10.5F));
-
- PartDefinition left_door = partdefinition.addOrReplaceChild("left_door", CubeListBuilder.create().texOffs(0, 37).addBox(1.0F, -8.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 37).addBox(1.0F, -16.0F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 37).addBox(1.0F, -23.5F, -0.5F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(90, 17).addBox(1.5F, -23.0F, -0.525F, 5.0F, 6.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(5.5F, -21.5F, -1.275F, 1.0F, 3.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(93, 64).addBox(0.0F, -32.0F, 0.0F, 8.0F, 32.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(45, 107).addBox(8.0F, -32.0F, -0.5F, 1.0F, 32.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-8.5F, 22.5F, -10.5F));
-
- PartDefinition bone5 = left_door.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(76, 9).mirror().addBox(-3.25F, -8.25F, 0.9F, 6.0F, 7.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(76, 18).addBox(-2.25F, -5.75F, 0.825F, 4.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(4.25F, -23.0F, -1.5F));
- addMaterializationPart(partdefinition);
- return LayerDefinition.create(meshdefinition, 256, 256);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
poseStack.scale(1.05f, 1.05f, 1.05f);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PortalooShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PortalooShellModel.java
index a204a848..37b56069 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PortalooShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PortalooShellModel.java
@@ -24,51 +24,6 @@ public PortalooShellModel(ModelPart root) {
this.door = root.getChild("door");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(0, 21).addBox(-6.0F, -38.0F, -1.0F, 12.0F, 2.0F, 19.0F, new CubeDeformation(0.025F))
- .texOffs(44, 114).addBox(-7.0F, -35.0F, 1.5F, 14.0F, 1.0F, 13.0F, new CubeDeformation(0.025F))
- .texOffs(80, 17).addBox(-8.5F, -36.0F, 0.0F, 17.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(80, 17).addBox(-8.5F, -36.0F, 16.0F, 17.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 43).addBox(-8.0F, -35.0F, 14.0F, 16.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 24.0F, -8.0F));
-
- PartDefinition cube_r1 = bone.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(39, 43).addBox(0.0F, 0.0F, -9.5F, 7.0F, 2.0F, 19.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(6.0F, -38.0F, 8.5F, 0.0F, 0.0F, 0.3491F));
-
- PartDefinition cube_r2 = bone.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(39, 43).mirror().addBox(-7.0F, 0.0F, -9.5F, 7.0F, 2.0F, 19.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-6.0F, -38.0F, 8.5F, 0.0F, 0.0F, -0.3491F));
-
- PartDefinition base = bone.addOrReplaceChild("base", CubeListBuilder.create().texOffs(0, 0).addBox(-9.0F, -1.975F, -0.5F, 18.0F, 2.0F, 18.0F, new CubeDeformation(0.0F))
- .texOffs(100, 82).addBox(7.0F, -33.975F, 1.5F, 1.0F, 33.0F, 13.0F, new CubeDeformation(0.0F))
- .texOffs(100, 82).mirror().addBox(-8.0F, -33.975F, 1.5F, 1.0F, 33.0F, 13.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(54, 2).addBox(9.0F, -3.0F, -1.0F, 3.0F, 3.0F, 19.0F, new CubeDeformation(0.0F))
- .texOffs(54, 2).mirror().addBox(-12.0F, -3.0F, -1.0F, 3.0F, 3.0F, 19.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone4 = bone.addOrReplaceChild("bone4", CubeListBuilder.create().texOffs(0, 80).mirror().addBox(-11.0F, -35.0F, 0.0F, 3.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 80).addBox(8.0F, -35.0F, 0.0F, 3.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone5 = bone.addOrReplaceChild("bone5", CubeListBuilder.create().texOffs(73, 25).mirror().addBox(-11.0F, -35.0F, -3.0F, 3.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(73, 25).addBox(8.0F, -35.0F, -3.0F, 3.0F, 33.0F, 3.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 17.0F));
-
- PartDefinition bone2 = bone.addOrReplaceChild("bone2", CubeListBuilder.create().texOffs(86, 25).addBox(-7.0F, -35.0F, 0.0F, 14.0F, 2.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(13, 80).addBox(-8.0F, -35.0F, 0.0F, 1.0F, 33.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(13, 80).mirror().addBox(7.0F, -35.0F, 0.0F, 1.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.5F));
-
- PartDefinition bone6 = bone.addOrReplaceChild("bone6", CubeListBuilder.create().texOffs(39, 65).mirror().addBox(-11.0F, -35.0F, 3.0F, 3.0F, 33.0F, 11.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(80, 0).mirror().addBox(-12.0F, -33.0F, 3.0F, 1.0F, 5.0F, 11.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition bone7 = bone.addOrReplaceChild("bone7", CubeListBuilder.create().texOffs(39, 65).addBox(8.0F, -35.0F, 3.0F, 3.0F, 33.0F, 11.0F, new CubeDeformation(0.0F))
- .texOffs(80, 0).addBox(11.0F, -33.0F, 3.0F, 1.0F, 5.0F, 11.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, 0.0F));
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(68, 65).addBox(0.0F, -9.5F, -1.0F, 14.0F, 31.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(44, 25).addBox(1.0F, -10.5F, -1.0F, 12.0F, 1.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 0).addBox(11.0F, 2.0F, -2.5F, 2.0F, 4.0F, 2.0F, new CubeDeformation(0.0F)), PartPose.offset(-7.0F, 0.5F, -7.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
bone.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PresentShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PresentShellModel.java
index 0418834d..139fc82d 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PresentShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/PresentShellModel.java
@@ -22,37 +22,6 @@ public PresentShellModel(ModelPart root) {
this.door = bone.getChild("door_rotate_neg_92dot5");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition bone = partdefinition.addOrReplaceChild("bone", CubeListBuilder.create().texOffs(74, 27).addBox(23.0F, -36.0F, -5.025F, 16.0F, 35.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(0, 27).addBox(22.0F, -1.0F, -9.0F, 18.0F, 1.0F, 18.0F, new CubeDeformation(0.025F))
- .texOffs(0, 0).addBox(21.0F, -39.0F, -10.0F, 20.0F, 6.0F, 20.0F, new CubeDeformation(0.0F))
- .texOffs(1, 102).addBox(22.0F, -36.0F, -9.0F, 18.0F, 1.0F, 18.0F, new CubeDeformation(0.025F))
- .texOffs(0, 47).mirror().addBox(22.0F, -36.0F, -9.0F, 1.0F, 36.0F, 18.0F, new CubeDeformation(0.0F)).mirror(false)
- .texOffs(0, 47).addBox(39.0F, -36.0F, -9.0F, 1.0F, 36.0F, 18.0F, new CubeDeformation(0.0F))
- .texOffs(39, 47).addBox(23.0F, -36.0F, 8.0F, 16.0F, 36.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(-31.0F, 24.0F, 0.0F));
-
- PartDefinition door_rotate_neg_92dot5 = bone.addOrReplaceChild("door_rotate_neg_92dot5", CubeListBuilder.create().texOffs(74, 66).addBox(-8.0F, -29.0F, 0.0F, 16.0F, 29.0F, 1.0F, new CubeDeformation(0.0F))
- .texOffs(39, 86).addBox(-8.0F, -35.0F, 0.0F, 16.0F, 6.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(31.0F, 0.0F, -9.0F));
-
- PartDefinition bone5 = bone.addOrReplaceChild("bone5", CubeListBuilder.create(), PartPose.offsetAndRotation(31.0F, -39.0F, 0.0F, 0.0F, 0.6981F, 0.0F));
-
- PartDefinition cube_r1 = bone5.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(61, 0).mirror().addBox(-8.0F, 0.0F, -5.0F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-4.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.3054F));
-
- PartDefinition cube_r2 = bone5.addOrReplaceChild("cube_r2", CubeListBuilder.create().texOffs(61, 0).addBox(-2.0F, 0.0F, -5.0F, 10.0F, 1.0F, 10.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(4.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.3054F));
-
- PartDefinition bone4 = bone.addOrReplaceChild("bone4", CubeListBuilder.create(), PartPose.offsetAndRotation(30.0F, -41.0F, 0.0F, 0.0F, -0.7854F, 0.0F));
-
- PartDefinition cube_r3 = bone4.addOrReplaceChild("cube_r3", CubeListBuilder.create().texOffs(81, 12).mirror().addBox(-8.0F, 0.0F, -4.0F, 10.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offsetAndRotation(-1.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.5672F));
-
- PartDefinition cube_r4 = bone4.addOrReplaceChild("cube_r4", CubeListBuilder.create().texOffs(81, 12).addBox(-2.0F, 0.0F, -4.0F, 10.0F, 4.0F, 8.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(1.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.5672F));
- addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public void setDoorPosition(boolean open) {
this.door.xRot = (open) ? 1.5f : 0;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/ShulkerShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/ShulkerShellModel.java
new file mode 100644
index 00000000..60a34218
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/ShulkerShellModel.java
@@ -0,0 +1,51 @@
+package whocraft.tardis_refined.client.model.blockentity.shell.shells;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+import net.minecraft.client.model.geom.ModelPart;
+import net.minecraft.world.entity.Entity;
+import whocraft.tardis_refined.client.model.blockentity.shell.ShellModel;
+import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity;
+
+public class ShulkerShellModel extends ShellModel {
+
+ private final ModelPart base;
+ private final ModelPart lid;
+ private final ModelPart head;
+ private final ModelPart root;
+
+ public ShulkerShellModel(ModelPart modelPart) {
+ super(modelPart);
+ this.root = modelPart;
+ this.lid = modelPart.getChild("lid");
+ this.base = modelPart.getChild("base");
+ this.head = modelPart.getChild("head");
+ }
+
+ @Override
+ public void setDoorPosition(boolean open) {
+ if (!open) {
+ this.lid.setPos(0.0F, 16.0F + 8.0F, 0.0F);
+ this.lid.yRot = 0.0F;
+ } else {
+ this.lid.setPos(0.0F, 16.0F, 0.0F);
+ this.lid.yRot = 0.0F;
+ }
+ }
+
+ @Override
+ public void renderShell(GlobalShellBlockEntity entity, boolean open, boolean isBaseModel, PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
+ head.visible = false;
+ handleAllAnimations(entity, root(), isBaseModel, open, poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ }
+
+ @Override
+ public ModelPart root() {
+ return root;
+ }
+
+ @Override
+ public void setupAnim(Entity entity, float f, float g, float h, float i, float j) {
+
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/VendingMachineShellModel.java b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/VendingMachineShellModel.java
index 70550463..86c4e076 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/VendingMachineShellModel.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/blockentity/shell/shells/VendingMachineShellModel.java
@@ -22,21 +22,6 @@ public VendingMachineShellModel(ModelPart root) {
this.bone11 = root.getChild("bone11");
}
- public static LayerDefinition createBodyLayer() {
- MeshDefinition meshdefinition = new MeshDefinition();
- PartDefinition partdefinition = meshdefinition.getRoot();
-
- PartDefinition door = partdefinition.addOrReplaceChild("door", CubeListBuilder.create().texOffs(65, 0).mirror().addBox(5.0F, -31.0F, -2.0F, 3.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)).mirror(false).texOffs(65, 0).addBox(-8.0F, -31.0F, -2.0F, 3.0F, 33.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(94, 51).addBox(-8.0F, -31.0F, 0.0F, 16.0F, 33.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(65, 36).addBox(-6.0F, -11.0F, -4.0F, 12.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(33, 103).mirror().addBox(-5.5F, -28.6F, 3.7F, 16.0F, 16.0F, 1.0F, new CubeDeformation(-5.0F)).mirror(false).texOffs(33, 71).mirror().addBox(-10.75F, -28.6F, 3.7F, 16.0F, 16.0F, 1.0F, new CubeDeformation(-5.0F)).mirror(false).texOffs(0, 71).mirror().addBox(-10.75F, -34.6F, 3.7F, 16.0F, 16.0F, 1.0F, new CubeDeformation(-5.0F)).mirror(false).texOffs(0, 103).mirror().addBox(-5.25F, -34.6F, 3.7F, 16.0F, 16.0F, 1.0F, new CubeDeformation(-5.0F)).mirror(false).texOffs(0, 87).mirror().addBox(-5.5F, -22.6F, 3.7F, 16.0F, 16.0F, 1.0F, new CubeDeformation(-5.0F)).mirror(false).texOffs(33, 87).mirror().addBox(-10.75F, -22.6F, 3.7F, 16.0F, 16.0F, 1.0F, new CubeDeformation(-5.0F)).mirror(false).texOffs(98, 29).addBox(-5.0F, -31.0F, -0.1F, 10.0F, 20.0F, 1.0F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 21.0F, -5.0F));
-
- PartDefinition cube_r1 = door.addOrReplaceChild("cube_r1", CubeListBuilder.create().texOffs(57, 49).addBox(-5.0F, -9.0F, 0.0F, 10.0F, 9.0F, 7.0F, new CubeDeformation(0.0F)), PartPose.offsetAndRotation(0.0F, 1.0F, -2.0F, 0.4363F, 0.0F, 0.0F));
-
- PartDefinition bone11 = partdefinition.addOrReplaceChild("bone11", CubeListBuilder.create().texOffs(0, 49).addBox(-7.0F, -35.0F, -1.0F, 14.0F, 6.0F, 14.0F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-10.0F, -32.0F, 2.0F, 20.0F, 36.0F, 12.0F, new CubeDeformation(0.0F)).texOffs(91, 0).addBox(-4.0F, -23.0F, 14.0F, 8.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(91, 17).addBox(-4.0F, -6.0F, 14.0F, 8.0F, 3.0F, 2.0F, new CubeDeformation(0.0F)).texOffs(91, 23).addBox(-3.0F, -8.0F, 14.5F, 6.0F, 2.0F, 1.0F, new CubeDeformation(0.0F)).texOffs(76, 10).addBox(10.0F, -26.0F, 5.0F, 1.0F, 19.0F, 6.0F, new CubeDeformation(0.0F)).texOffs(76, 10).mirror().addBox(-11.0F, -26.0F, 5.0F, 1.0F, 19.0F, 6.0F, new CubeDeformation(0.0F)).mirror(false), PartPose.offset(0.0F, 20.0F, -7.0F));
-
- ShellModel.addMaterializationPart(partdefinition);
-
- return LayerDefinition.create(meshdefinition, 128, 128);
- }
-
@Override
public ModelPart root() {
return root;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/BedrockModelUtil.java b/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/BedrockModelUtil.java
index 0ff2128f..3d7e60ae 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/BedrockModelUtil.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/BedrockModelUtil.java
@@ -13,6 +13,8 @@
import java.util.*;
+import static whocraft.tardis_refined.client.model.blockentity.shell.ShellModel.addMaterializationPart;
+
/**
* Credits
*
@@ -32,6 +34,9 @@ public static LayerDefinition parseAsLayerDefinition(JsonObject json) {
MeshDefinition meshDefinition = new MeshDefinition();
PartDefinition root = meshDefinition.getRoot();
+ addMaterializationPart(root);
+
+
var geo = GsonHelper.convertToJsonObject(geometry.get(0), "minecraft:geometry[].$");
var description = GsonHelper.getAsJsonObject(geo, "description", new JsonObject());
int textureWidth = GsonHelper.getAsInt(description, "texture_width");
diff --git a/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/ModelLayerManager.java b/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/ModelLayerManager.java
index 9c123a31..795f38f4 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/ModelLayerManager.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/model/pallidium/ModelLayerManager.java
@@ -12,12 +12,16 @@
import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener;
import net.minecraft.util.GsonHelper;
import net.minecraft.util.profiling.ProfilerFiller;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import whocraft.tardis_refined.TardisRefined;
import java.util.HashMap;
import java.util.Map;
+import static whocraft.tardis_refined.client.model.blockentity.shell.ShellModel.addMaterializationPart;
+
/**
* Credits
*
@@ -29,6 +33,9 @@ public class ModelLayerManager extends SimpleJsonResourceReloadListener {
private static final Gson GSON = new GsonBuilder().setPrettyPrinting().disableHtmlEscaping().create();
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ModelLayerManager");
+
+
public ModelLayerManager() {
super(GSON, "tardis_refined/model_layers");
}
@@ -48,7 +55,7 @@ protected void apply(Map object, @NotNull Resourc
jsonRoots.put(layerLocation, layerDefinition);
jsonRoots.put(new ModelLayerLocation(id, "main"), layerDefinition);
} catch (Exception e) {
- TardisRefined.LOGGER.error("Error parsing entity model json " + id, e);
+ LOGGER.error("Error parsing entity model json {}", id, e);
}
});
@@ -66,12 +73,16 @@ public static LayerDefinition parseLayerDefinition(JsonObject json, String id) {
PartDefinition root = meshDefinition.getRoot();
JsonObject parts = GsonHelper.getAsJsonObject(json, "mesh");
+
for (Map.Entry entry : parts.entrySet()) {
String key = entry.getKey();
JsonObject part = entry.getValue().getAsJsonObject();
parseCubeListBuilder(key, root, part);
}
+ addMaterializationPart(root);
+
+
return LayerDefinition.create(meshDefinition, GsonHelper.getAsInt(json, "texture_width"), GsonHelper.getAsInt(json, "texture_height"));
}
@@ -117,6 +128,9 @@ public static void parseCubeListBuilder(String name, PartDefinition parent, Json
PartDefinition partDefinition = parent.addOrReplaceChild(name, builder, partPose);
+ addMaterializationPart(partDefinition);
+
+
if (GsonHelper.isValidNode(json, "children")) {
JsonObject children = GsonHelper.getAsJsonObject(json, "children");
@@ -130,7 +144,7 @@ public static void parseCubeListBuilder(String name, PartDefinition parent, Json
}
private static ModelLayerLocation mapPathToModelLayerLoc(ResourceLocation path) {
- TardisRefined.LOGGER.info("Loading model: " + path.toString());
+ LOGGER.info("Loading model: {}", path.toString());
int idx = path.getPath().indexOf('/');
if (idx == -1) {
return null;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/overlays/ExteriorViewOverlay.java b/common/src/main/java/whocraft/tardis_refined/client/overlays/ExteriorViewOverlay.java
index 611903db..76b79a20 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/overlays/ExteriorViewOverlay.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/overlays/ExteriorViewOverlay.java
@@ -5,13 +5,11 @@
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.Font;
import net.minecraft.client.gui.GuiGraphics;
-import net.minecraft.client.multiplayer.PlayerInfo;
import net.minecraft.core.BlockPos;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
-import net.minecraft.world.phys.Vec3;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TRKeybinds;
import whocraft.tardis_refined.client.TardisClientData;
@@ -65,19 +63,9 @@ public static void renderOverlay(GuiGraphics guiGraphics) {
// Get player coordinates
BlockPos pos = mc.player.blockPosition();
- BlockPos targetPos = pos.east(120);
-
- Vec3 currentPos = new Vec3(pos.getX(), pos.getY(), pos.getZ());
-
- double progress = tardisClientData.getJourneyProgress();
- int xV = (int) (currentPos.x + ((targetPos.getX() - currentPos.x) * progress));
- int yV = (int) (currentPos.y + ((targetPos.getY() - currentPos.y) * progress));
- int zV = (int) (currentPos.z + ((targetPos.getZ() - currentPos.z) * progress));
-
- BlockPos landingLocation = new BlockPos(xV, yV, zV);
MutableComponent coordsMessage = Component.literal(
- String.format("Coordinates: X: %d Y: %d Z: %d", landingLocation.getX(), landingLocation.getY(), landingLocation.getZ())
+ String.format("Coordinates: X: %d Y: %d Z: %d", pos.getX(), pos.getY(), pos.getZ())
).withStyle(ChatFormatting.WHITE);
int coordsWidth = mc.font.width(coordsMessage);
@@ -108,14 +96,13 @@ public static void renderOverlay(GuiGraphics guiGraphics) {
float journeyProgress = tardisClientData.getJourneyProgress() / 100.0f;
- if(!tardisClientData.isFlying()) {
- // Render player coordinates at the top-right corner
- poseStack.pushPose();
- poseStack.translate(screenWidth - coordsWidth - 10, 10, 0); // Adjust position
- guiGraphics.fill(-2, -3, coordsWidth + 2, mc.font.lineHeight + 2, 0x88000000); // Black background
- guiGraphics.drawString(mc.font, coordsMessage.getString(), 0, 0, 0xFFFFFF, false); // White text
- poseStack.popPose();
- }
+ if (!tardisClientData.isFlying()) {
+ poseStack.pushPose();
+ poseStack.translate(screenWidth - coordsWidth - 10, 22, 0);
+ guiGraphics.fill(-2, -3, coordsWidth + 2, mc.font.lineHeight + 2, 0x88000000);
+ guiGraphics.drawString(mc.font, coordsMessage.getString(), 0, 0, 0xFFFFFF, false);
+ poseStack.popPose();
+ }
// Render journey progress bar
if (tardisClientData.isFlying())
@@ -126,17 +113,6 @@ public static void renderOverlay(GuiGraphics guiGraphics) {
}
- private static void renderPlayerHeads(PlayerInfo player, GuiGraphics guiGraphics, Minecraft mc, int x, int y) {
- // Render player's face and name
- if (player == null) return;
-
- // Render the player's face
- int faceSize = 10;
- RenderHelper.renderPlayerFace(guiGraphics, x, y, faceSize, player.getProfile().getId());
- // Render the player's name
- guiGraphics.drawString(mc.font, player.getProfile().getName(), x + faceSize + 5, y + 1, 0xFFFFFF, false); // White text
- }
-
public static void renderJourneyProgressBar(GuiGraphics guiGraphics, float journeyProgress) {
Minecraft mc = Minecraft.getInstance();
diff --git a/common/src/main/java/whocraft/tardis_refined/client/overlays/VortexOverlay.java b/common/src/main/java/whocraft/tardis_refined/client/overlays/VortexOverlay.java
index c7c932aa..ab76d9e5 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/overlays/VortexOverlay.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/overlays/VortexOverlay.java
@@ -15,6 +15,7 @@
import whocraft.tardis_refined.client.screen.screens.ShellSelectionScreen;
import whocraft.tardis_refined.common.VortexRegistry;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
+import whocraft.tardis_refined.common.util.Platform;
import static whocraft.tardis_refined.client.renderer.vortex.ShellRenderer.renderShell;
import static whocraft.tardis_refined.client.screen.main.MonitorOS.MonitorOSExtension.GLOBALSHELL_BLOCKENTITY;
@@ -123,6 +124,7 @@ public static void renderOverlay(GuiGraphics gg) {
DEMAT -= (System.currentTimeMillis() - LAST_TIME) / 12000.0f;
}
+
if (!tardisPlayerInfo.isViewingTardis()) return;
if (!tardisPlayerInfo.isRenderVortex()) return;
@@ -159,12 +161,13 @@ public static void renderOverlay(GuiGraphics gg) {
Matrix4f perspective = new Matrix4f();
perspective.perspective((float) Math.toRadians(mc.options.fov().get()), width / height, 1, 9999, false, perspective);
- perspective.translate(0, 0, 11000f - (float) camdist * mulinv - 5 * mul);
+ perspective.translate(0, 0, Platform.isForge() ? 9990f : 11000f - (float) camdist * mulinv - 5 * mul);
RenderSystem.setProjectionMatrix(perspective, VertexSorting.DISTANCE_TO_ORIGIN);
pose.pushPose();
pose.mulPose(Axis.XP.rotationDegrees(xRot));
pose.mulPose(Axis.YP.rotationDegrees(YROT * mulinv));
+
//Vortex
pose.pushPose();
pose.scale(100, 100, 100);
@@ -178,7 +181,7 @@ public static void renderOverlay(GuiGraphics gg) {
pose.mulPose(Axis.ZP.rotationDegrees(mul * VORTEX.lightning_strike * 90 * Mth.sin(VORTEX.lightning_strike)));
pose.pushPose();
- pose.scale(0.95f, 0.95f, 0.95f);
+ pose.translate(0.5,0,0);
renderShell(gg, IMMERSION, 1 - demat_transparency, tardisClientData.getThrottleStage());
pose.popPose();
diff --git a/common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java b/common/src/main/java/whocraft/tardis_refined/client/particle/ParticleGallifrey.java
similarity index 97%
rename from common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java
rename to common/src/main/java/whocraft/tardis_refined/client/particle/ParticleGallifrey.java
index cffb3e71..ca0ca3a3 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/ParticleGallifrey.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/particle/ParticleGallifrey.java
@@ -1,4 +1,4 @@
-package whocraft.tardis_refined.client;
+package whocraft.tardis_refined.client.particle;
import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.particle.*;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/RenderHelper.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/RenderHelper.java
index 921854dc..8257c180 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/RenderHelper.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/RenderHelper.java
@@ -68,7 +68,7 @@ public static void drawGlowingBox(PoseStack poseStack, VertexConsumer consumer,
renderFilledBox(poseStack, consumer, box, 1F, 1F, 1F, alpha, combinedLightIn);
for (int i = 0; i < 3; i++) {
- renderFilledBox(poseStack, consumer, box.inflate(i * 0.5F * 0.0625F), red, green, blue, (1F / i / 2) * alpha, combinedLightIn);
+ renderFilledBox(poseStack, consumer, box.inflate(i * 0.5F * 0.0625F), red, green, blue, alpha, combinedLightIn);
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/RootPlantRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/RootPlantRenderer.java
index 01c7ba09..363b7208 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/RootPlantRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/RootPlantRenderer.java
@@ -11,7 +11,7 @@
import net.minecraft.world.level.block.state.BlockState;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.ModelRegistry;
-import whocraft.tardis_refined.client.model.blockentity.shell.rootplant.*;
+import whocraft.tardis_refined.client.model.GenericModel;
import whocraft.tardis_refined.common.block.RootPlantBlock;
import whocraft.tardis_refined.common.blockentity.shell.RootPlantBlockEntity;
@@ -22,18 +22,18 @@ public class RootPlantRenderer implements BlockEntityRenderer, BlockEntityRendererProvider {
private static final float HALF_SQRT_3 = (float) (Math.sqrt(3.0D) / 2.0D);
- private final ArtronPillarBlockModel artronPillarBlockModel;
+ private final GenericModel artronPillarBlockModel;
private final ResourceLocation POWER_ON = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/artron_pillar.png");
private final ResourceLocation POWER_OFF = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/artron_pillar_off.png");
public ArtronPillarRenderer(Context context) {
- artronPillarBlockModel = new ArtronPillarBlockModel(context.bakeLayer((ModelRegistry.ARTRON_PILLAR)));
+ artronPillarBlockModel = new GenericModel(context.bakeLayer((ModelRegistry.ARTRON_PILLAR)));
}
private static void vertex01(VertexConsumer iVertexBuilder, Matrix4f matrix4f, int p_229061_2_) {
@@ -62,11 +53,13 @@ public void render(ArtronPillarBlockEntity blockEntity, float f, PoseStack poseS
poseStack.translate(0.5F, 1.475F, 0.5F);
poseStack.mulPose(Axis.ZP.rotationDegrees(180F));
+ BlockState blockState = blockEntity.getBlockState();
+
ResourceLocation lampTexture = blockEntity.getBlockState().getValue(ArtronPillarBlock.ACTIVE) ? POWER_ON : POWER_OFF;
artronPillarBlockModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent(lampTexture)), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
- if (blockEntity.getBlockState().getValue(ArtronPillarBlock.ACTIVE)) {
+ if (blockState.getValue(ArtronPillarBlock.ACTIVE)) {
VertexConsumer vertexBuilder = multiBufferSource.getBuffer(RenderType.lightning());
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/AstralManipulatorRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/AstralManipulatorRenderer.java
index 20fc9667..64e5ebdb 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/AstralManipulatorRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/AstralManipulatorRenderer.java
@@ -90,9 +90,9 @@ public void render(AstralManipulatorBlockEntity blockEntity, float partialTick,
if (Minecraft.getInstance().player.getItemBySlot(EquipmentSlot.MAINHAND).getItem() instanceof ScrewdriverItem screwdriverItem) {
Color color = new Color(screwdriverItem.getColor(Minecraft.getInstance().player.getItemBySlot(EquipmentSlot.MAINHAND)));
- RenderHelper.drawGlowingBox(poseStack, vertexBuilder, length + 1.25f, height + 1.25f, width + 1.25f, (float) color.getRed() / 255, (float) color.getGreen() / 255, (float) color.getBlue() / 255, 0 + sine, 0);
+ RenderHelper.drawGlowingBox(poseStack, vertexBuilder, length + 1.25f, height + 1.25f, width + 1.25f, (float) color.getRed() / 255, (float) color.getGreen() / 255, (float) color.getBlue() / 255, 0.2F, 0);
} else {
- RenderHelper.drawGlowingBox(poseStack, vertexBuilder, length + 1.25f, height + 1.25f, width + 1.25f, 0.635f, 0.392f, 0.878f, 0 + sine, 0);
+ RenderHelper.drawGlowingBox(poseStack, vertexBuilder, length + 1.25f, height + 1.25f, width + 1.25f, 0.635f, 0.392f, 0.878f, 0.2F, 0);
}
poseStack.popPose();
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ConsoleConfigurationRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ConsoleConfigurationRenderer.java
index 69ec8a5c..952d8e73 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ConsoleConfigurationRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/device/ConsoleConfigurationRenderer.java
@@ -15,6 +15,10 @@
import whocraft.tardis_refined.common.block.door.GlobalDoorBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.blockentity.device.ConsoleConfigurationBlockEntity;
+import whocraft.tardis_refined.patterns.ConsolePattern;
+import whocraft.tardis_refined.patterns.ConsolePatterns;
+
+import java.util.List;
public class ConsoleConfigurationRenderer implements BlockEntityRenderer, BlockEntityRendererProvider {
@@ -43,19 +47,36 @@ public void render(ConsoleConfigurationBlockEntity blockEntity, float partialTic
float rotation = blockstate.getValue(GlobalDoorBlock.FACING).getOpposite().toYRot();
poseStack.mulPose(Axis.YP.rotationDegrees(rotation));
- if (blockEntity.getLevel().random.nextInt(20) != 0) {
+ if (blockEntity != null && blockEntity.getLevel() != null && blockEntity.getLevel().random.nextInt(20) != 0) {
poseStack.scale(0.25f, 0.25f, 0.25f);
poseStack.translate(0, 1.5f + blockEntity.getLevel().random.nextFloat() * 0.01, 0);
poseStack.mulPose(Axis.YP.rotationDegrees(blockEntity.getLevel().getGameTime() % 360));
ResourceLocation theme = blockEntity.theme();
+ if (theme != null) {
+ List patterns = ConsolePatterns.getPatternsForTheme(theme);
+ if (patterns != null && !patterns.isEmpty()) {
+ ConsolePattern themePattern = patterns.get(0);
+ ConsoleUnit consoleModel = ConsoleModelCollection.getInstance()
+ .getConsoleEntry(theme)
+ .getConsoleModel(themePattern);
- ConsoleUnit consoleModel = ConsoleModelCollection.getInstance().getConsoleModel(theme);
- if (consoleModel != null) {
- consoleModel.renderConsole(null, blockEntity.getLevel(), poseStack, bufferSource.getBuffer(RenderType.entityTranslucent(consoleModel.getDefaultTexture())), packedLight, OverlayTexture.NO_OVERLAY, 0.635f, 0.392f, 0.878f, 0.5f);
+ if (consoleModel != null) {
+ consoleModel.renderConsole(
+ null,
+ blockEntity.getLevel(),
+ poseStack,
+ bufferSource.getBuffer(RenderType.entityTranslucent(consoleModel.getDefaultTexture())),
+ packedLight,
+ OverlayTexture.NO_OVERLAY,
+ 0.635f, 0.392f, 0.878f, 0.5f
+ );
+ }
+ }
}
}
+
poseStack.popPose();
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorExtensionRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorExtensionRenderer.java
new file mode 100644
index 00000000..31e94d86
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorExtensionRenderer.java
@@ -0,0 +1,33 @@
+package whocraft.tardis_refined.client.renderer.blockentity.door;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import net.minecraft.client.renderer.MultiBufferSource;
+import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
+import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
+
+import whocraft.tardis_refined.client.ModelRegistry;
+import whocraft.tardis_refined.client.model.blockentity.door.interior.BulkHeadDoorModel;
+import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorBlockEntity;
+import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorExtensionBlockEntity;
+
+public class BulkHeadDoorExtensionRenderer implements BlockEntityRenderer, BlockEntityRendererProvider {
+
+ public BulkHeadDoorExtensionRenderer(BlockEntityRendererProvider.Context context) {
+
+ }
+
+ @Override
+ public boolean shouldRenderOffScreen(BulkHeadDoorExtensionBlockEntity blockEntity) {
+ return false;
+ }
+
+ @Override
+ public void render(BulkHeadDoorExtensionBlockEntity blockEntity, float f, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, int j) {
+
+ }
+
+ @Override
+ public BlockEntityRenderer create(BlockEntityRendererProvider.Context context) {
+ return new BulkHeadDoorExtensionRenderer(context);
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorRenderer.java
index 826688a6..87cbfcf4 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/BulkHeadDoorRenderer.java
@@ -2,13 +2,20 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Axis;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Font;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
+import net.minecraft.client.renderer.blockentity.SignRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
+import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.util.FormattedCharSequence;
import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.properties.DirectionProperty;
+import org.joml.Matrix4f;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.ModelRegistry;
import whocraft.tardis_refined.client.model.blockentity.door.interior.BulkHeadDoorModel;
@@ -26,14 +33,44 @@ public BulkHeadDoorRenderer(BlockEntityRendererProvider.Context context) {
@Override
public void render(BulkHeadDoorBlockEntity blockEntity, float f, PoseStack poseStack, MultiBufferSource multiBufferSource, int i, int j) {
- poseStack.pushPose();
- poseStack.translate(0.5F, 1.475F, 0.5F);
- poseStack.mulPose(Axis.ZP.rotationDegrees(180F));
+
BlockState blockstate = blockEntity.getBlockState();
float rotation = blockstate.getValue(GlobalDoorBlock.FACING).toYRot();
+ boolean isOpen = blockstate.getValue(GlobalDoorBlock.OPEN);
+
+ poseStack.pushPose();
+ poseStack.translate(0.5F, 1.5F, 0.5F);
+ poseStack.mulPose(Axis.ZP.rotationDegrees(180F));
+
poseStack.mulPose(Axis.YP.rotationDegrees(rotation));
bulkHeadDoorModel.setDoorPosition(blockstate);
bulkHeadDoorModel.renderToBuffer(poseStack, multiBufferSource.getBuffer(RenderType.entityTranslucent(getTextureForState(blockstate))), i, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
+
+ if (blockEntity.getDoorName() != null && !isOpen) {
+ Matrix4f textMatrix = poseStack.last().pose();
+ poseStack.scale(-0.025F, 0.025F, 0.025F);
+ int verticalTextOffset = 0;
+ float offDoorOffset = 8f;
+
+ Font font = Minecraft.getInstance().font;
+
+ Component name = Component.literal(blockEntity.getDoorName());
+
+ float textHorizontalPosition = (float) -(font.width(name) / 2);
+
+ FormattedCharSequence sequence = name.getVisualOrderText();
+
+ poseStack.translate(0, 10f, offDoorOffset*2-4.75);
+
+
+ font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 1, textMatrix, multiBufferSource, 255);
+
+ poseStack.mulPose(Axis.YP.rotationDegrees(180f));
+ poseStack.translate(0, 0, offDoorOffset*2+6);
+
+ font.drawInBatch8xOutline(sequence, textHorizontalPosition, (float) verticalTextOffset, 16777215, 1, textMatrix, multiBufferSource, 255);
+ }
+
poseStack.popPose();
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/GlobalDoorRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/GlobalDoorRenderer.java
index ac03d4ed..30f390f1 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/GlobalDoorRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/door/GlobalDoorRenderer.java
@@ -4,7 +4,11 @@
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
+import net.minecraft.core.Direction;
+import net.minecraft.world.level.block.state.BlockState;
import whocraft.tardis_refined.client.renderer.vortex.RenderTargetHelper;
+import whocraft.tardis_refined.common.block.door.GlobalDoorBlock;
+import whocraft.tardis_refined.common.block.door.InternalDoorBlock;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
public class GlobalDoorRenderer implements BlockEntityRenderer, BlockEntityRendererProvider {
@@ -14,8 +18,13 @@ public GlobalDoorRenderer(BlockEntityRendererProvider.Context context) {
@Override
- public void render(GlobalDoorBlockEntity blockEntity, float partialTick, PoseStack stack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
- RenderTargetHelper.renderVortex(blockEntity, partialTick, stack, bufferSource, packedLight, packedOverlay);
+ public void render(GlobalDoorBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
+
+ poseStack.pushPose();
+ BlockState blockstate = blockEntity.getBlockState();
+
+ RenderTargetHelper.renderVortex(blockEntity, partialTick, poseStack, bufferSource, packedLight, packedOverlay);
+ poseStack.popPose();
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ZeitonGlassRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ZeitonGlassRenderer.java
new file mode 100644
index 00000000..fd1bf965
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/life/ZeitonGlassRenderer.java
@@ -0,0 +1,27 @@
+package whocraft.tardis_refined.client.renderer.blockentity.life;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import net.minecraft.client.renderer.MultiBufferSource;
+import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
+import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
+import whocraft.tardis_refined.client.ModelRegistry;
+import whocraft.tardis_refined.client.model.blockentity.life.ZeitonGlassModel;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
+
+public class ZeitonGlassRenderer implements BlockEntityRenderer, BlockEntityRendererProvider {
+
+ private final ZeitonGlassModel zeitonGlassModel;
+
+ public ZeitonGlassRenderer(Context context) {
+ this.zeitonGlassModel = new ZeitonGlassModel(context.bakeLayer(ModelRegistry.ZEITON_GLASS));
+ }
+
+ @Override
+ public void render(ZeitonGlassBlockEntity blockEntity, float partialTick, PoseStack poseStack, MultiBufferSource multiBufferSource, int packedLight, int packedOverlay) {
+ }
+
+ @Override
+ public BlockEntityRenderer create(Context context) {
+ return new ZeitonGlassRenderer(context);
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/GlobalShellRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/GlobalShellRenderer.java
index 022235ea..626f3240 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/GlobalShellRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/GlobalShellRenderer.java
@@ -1,15 +1,21 @@
package whocraft.tardis_refined.client.renderer.blockentity.shell;
import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.multiplayer.ClientLevel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderer;
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
+import net.minecraft.core.BlockPos;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.world.level.biome.Biome;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.Vec3;
+import whocraft.tardis_refined.client.TRShaders;
import whocraft.tardis_refined.client.model.blockentity.shell.ShellModelCollection;
import whocraft.tardis_refined.common.block.shell.GlobalShellBlock;
import whocraft.tardis_refined.common.block.shell.RootedShellBlock;
@@ -49,15 +55,25 @@ public void render(GlobalShellBlockEntity blockEntity, float partialTick, PoseSt
var currentModel = ShellModelCollection.getInstance().getShellEntry(theme).getShellModel(pattern);
- currentModel.renderShell(blockEntity, isOpen, true, poseStack, bufferSource.getBuffer(RenderType.entityTranslucent(currentModel.getShellTexture(pattern, false))), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
+ ClientLevel level = Minecraft.getInstance().level;
+ BlockPos blockPos = blockEntity.getBlockPos();
+ Biome biome = level.getBiome(blockPos).value();
+ Biome.Precipitation precipitation = biome.getPrecipitationAt(blockPos);
+ boolean renderSnow = biome.hasPrecipitation() && precipitation == Biome.Precipitation.SNOW;
+
+ currentModel.renderShell(blockEntity, isOpen, true, poseStack, bufferSource.getBuffer(TRShaders.translucentWithSnow(currentModel.getShellTexture(pattern, false), renderSnow)), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
/*Emmissive*/
Boolean isRegenerating = blockstate.getValue(ShellBaseBlock.REGEN);
- if (pattern.exteriorDoorTexture().emissive()) {
- currentModel.renderShell(blockEntity, isOpen, false, poseStack, bufferSource.getBuffer(RenderType.entityTranslucentEmissive(currentModel.getShellTexture(pattern, true))), 15728640, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, (isRegenerating) ? sine : 1f);
+ if (pattern.shellTexture().emissive()) {
+ RenderType glowingRenderType = TRShaders.glow(currentModel.getShellTexture(pattern, true), 1F);
+ VertexConsumer vertexConsumer = bufferSource.getBuffer(glowingRenderType);
+ currentModel.renderShell(blockEntity, isOpen, false, poseStack, vertexConsumer, 15728640, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, (isRegenerating) ? sine : 1f);
} else {
if (isRegenerating) {
- currentModel.renderShell(blockEntity, isOpen, false, poseStack, bufferSource.getBuffer(RenderType.entityTranslucentEmissive(currentModel.getShellTexture(pattern, false))), 15728640, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, sine);
+ RenderType glowingRenderTypeRegen = TRShaders.glow(currentModel.getShellTexture(pattern, false), 1F);
+ VertexConsumer vertexConsumerRegen = bufferSource.getBuffer(glowingRenderTypeRegen);
+ currentModel.renderShell(blockEntity, isOpen, false, poseStack, vertexConsumerRegen, 15728640, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, sine);
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/RootShellRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/RootShellRenderer.java
index 3d018127..c706eaca 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/RootShellRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/blockentity/shell/RootShellRenderer.java
@@ -12,7 +12,7 @@
import net.minecraft.world.phys.Vec3;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.ModelRegistry;
-import whocraft.tardis_refined.client.model.blockentity.shell.rootplant.RootShellModel;
+import whocraft.tardis_refined.client.model.GenericModel;
import whocraft.tardis_refined.common.block.shell.RootedShellBlock;
import whocraft.tardis_refined.common.block.shell.ShellBaseBlock;
import whocraft.tardis_refined.common.blockentity.shell.RootedShellBlockEntity;
@@ -21,10 +21,10 @@ public class RootShellRenderer implements BlockEntityRenderer {
- private static ResourceLocation ICON_GOOD = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_good.png");
- private static ResourceLocation ICON_SLIPPING = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_slipping.png");
- private static ResourceLocation ICON_WARNING = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_warning.png");
- private static ResourceLocation ICON_ALERT = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_alert.png");
- private static ResourceLocation ICON_DANGER = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_danger.png");
+ private static final ResourceLocation ICON_GOOD = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_good.png");
+ private static final ResourceLocation ICON_SLIPPING = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_slipping.png");
+ private static final ResourceLocation ICON_WARNING = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_warning.png");
+ private static final ResourceLocation ICON_ALERT = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_alert.png");
+ private static final ResourceLocation ICON_DANGER = new ResourceLocation(TardisRefined.MODID, "textures/gui/sprites/control/control_danger.png");
public ControlEntityRenderer(EntityRendererProvider.Context context) {
super(context);
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/AMDRenderTargetHelper.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/AMDRenderTargetHelper.java
new file mode 100644
index 00000000..1d3e07d4
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/AMDRenderTargetHelper.java
@@ -0,0 +1,52 @@
+package whocraft.tardis_refined.client.renderer.vortex;
+
+import com.mojang.blaze3d.pipeline.RenderTarget;
+import org.lwjgl.opengl.GL43C;
+
+public class AMDRenderTargetHelper {
+
+ public static void newCopyDepthStencil(
+ RenderTarget from, RenderTarget to
+ ) {
+ GL43C.glCopyImageSubData(
+ from.getDepthTextureId(),
+ GL43C.GL_TEXTURE_2D,
+ 0,
+ 0,
+ 0,
+ 0,
+ to.getDepthTextureId(),
+ GL43C.GL_TEXTURE_2D,
+ 0,
+ 0,
+ 0,
+ 0,
+ from.width,
+ from.height,
+ 1
+ );
+ }
+
+ public static void copyColor(
+ RenderTarget from, RenderTarget to
+ ) {
+ GL43C.glCopyImageSubData(
+ from.getColorTextureId(),
+ GL43C.GL_TEXTURE_2D,
+ 0,
+ 0,
+ 0,
+ 0,
+ to.getColorTextureId(),
+ GL43C.GL_TEXTURE_2D,
+ 0,
+ 0,
+ 0,
+ 0,
+ from.width,
+ from.height,
+ 1
+ );
+ }
+
+}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/RenderTargetHelper.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/RenderTargetHelper.java
index a3863a75..7e0ae76e 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/RenderTargetHelper.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/RenderTargetHelper.java
@@ -2,7 +2,6 @@
import com.mojang.blaze3d.pipeline.RenderTarget;
import com.mojang.blaze3d.pipeline.TextureTarget;
-import com.mojang.blaze3d.platform.GlConst;
import com.mojang.blaze3d.platform.GlStateManager;
import com.mojang.blaze3d.platform.Window;
import com.mojang.blaze3d.systems.RenderSystem;
@@ -14,22 +13,37 @@
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.Util;
+import net.minecraft.client.Camera;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.renderer.LightTexture;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderBuffers;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
+import net.minecraft.client.renderer.texture.TextureAtlas;
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.phys.Vec3;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.lwjgl.glfw.GLFW;
import org.lwjgl.opengl.GL11;
+import whocraft.tardis_refined.TRConfig;
+import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.TardisClientData;
+import whocraft.tardis_refined.client.ZeitonGlassTracker;
import whocraft.tardis_refined.client.model.blockentity.door.interior.ShellDoorModel;
+import whocraft.tardis_refined.client.model.blockentity.life.PortalModel;
import whocraft.tardis_refined.client.model.blockentity.shell.ShellModelCollection;
import whocraft.tardis_refined.common.VortexRegistry;
+import whocraft.tardis_refined.common.block.door.GlobalDoorBlock;
import whocraft.tardis_refined.common.block.door.InternalDoorBlock;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
-
-import java.util.SortedMap;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
+import whocraft.tardis_refined.compat.ModCompatChecker;
+import whocraft.tardis_refined.compat.portals.ImmersivePortalsClient;
import static com.mojang.blaze3d.vertex.VertexFormat.Mode.QUADS;
import static net.minecraft.client.renderer.RenderStateShard.*;
@@ -41,33 +55,59 @@ public class RenderTargetHelper {
private static final RenderTargetHelper RENDER_TARGET_HELPER = new RenderTargetHelper();
public static StencilBufferStorage stencilBufferStorage = new StencilBufferStorage();
- public static void renderVortex(GlobalDoorBlockEntity blockEntity, float partialTick, PoseStack stack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefinbed/StencilRendering");
+
+ public static void renderVortex(GlobalDoorBlockEntity blockEntity, float partialTick, PoseStack stack, MultiBufferSource bufferSource, int packedLight, int packedOverlay) {
BlockState blockstate = blockEntity.getBlockState();
ResourceLocation theme = blockEntity.theme();
-
float rotation = blockstate.getValue(InternalDoorBlock.FACING).toYRot();
boolean isOpen = blockstate.getValue(InternalDoorBlock.OPEN);
ShellDoorModel currentModel = ShellModelCollection.getInstance().getShellEntry(theme).getShellDoorModel(blockEntity.pattern());
- TardisClientData tardisClientData = TardisClientData.getInstance(blockEntity.getLevel().dimension());
+ if(currentModel == null) return;
+
+ TardisClientData tardisClientData = TardisClientData.getInstance(blockEntity.getLevel().dimension());
VORTEX.vortexType = VortexRegistry.VORTEX_DEFERRED_REGISTRY.get(tardisClientData.getVortex());
- if (tardisClientData.isFlying() && isOpen) {
- renderDoorOpen(blockEntity, stack, packedLight, rotation, currentModel, isOpen, tardisClientData);
+ if (blockstate.hasProperty(GlobalDoorBlock.OFFSET) && blockstate.getValue(GlobalDoorBlock.OFFSET)) {
+ Direction facing = blockstate.getValue(InternalDoorBlock.FACING);
+ double xOffset = 0.0;
+ double zOffset = 0.0;
+
+ switch (facing) {
+ case NORTH -> xOffset = -0.5;
+ case SOUTH -> xOffset = 0.5;
+ case EAST -> zOffset = -0.5;
+ case WEST -> zOffset = 0.5;
+ }
+
+ stack.translate(xOffset, 0, zOffset);
+ }
+
+ if (tardisClientData.isFlying() && TRConfig.CLIENT.RENDER_VORTEX_IN_DOOR.get()) {
+ renderDoorOpen(blockEntity, stack, bufferSource, packedLight, rotation, currentModel, isOpen, tardisClientData);
} else {
renderNoVortex(blockEntity, stack, bufferSource, packedLight, rotation, currentModel, isOpen);
}
}
- public static void copyRenderTarget(RenderTarget src, RenderTarget dest) {
- GlStateManager._glBindFramebuffer(GlConst.GL_READ_FRAMEBUFFER, src.frameBufferId);
- GlStateManager._glBindFramebuffer(GlConst.GL_DRAW_FRAMEBUFFER, dest.frameBufferId);
- GlStateManager._glBlitFrameBuffer(0, 0, src.width, src.height, 0, 0, dest.width, dest.height, GlConst.GL_DEPTH_BUFFER_BIT | GlConst.GL_COLOR_BUFFER_BIT, GlConst.GL_NEAREST);
- }
- private static void renderDoorOpen(GlobalDoorBlockEntity blockEntity, PoseStack stack, int packedLight, float rotation, ShellDoorModel currentModel, boolean isOpen, TardisClientData tardisClientData) {
+ private static ResourceLocation BLACK = new ResourceLocation(TardisRefined.MODID, "textures/black_portal.png");
+
+ private static void renderDoorOpen(GlobalDoorBlockEntity blockEntity, PoseStack stack, MultiBufferSource bufferSource, int packedLight, float rotation, ShellDoorModel currentModel, boolean isOpen, TardisClientData tardisClientData) {
+ if (ModCompatChecker.immersivePortals()) {
+ if (ImmersivePortalsClient.shouldStopRenderingInPortal()) {
+ return;
+ }
+ }
+
+
+ if(!getIsStencilEnabled(Minecraft.getInstance().getMainRenderTarget())){
+ setIsStencilEnabled(Minecraft.getInstance().getMainRenderTarget(), true);
+ }
+
stack.pushPose();
// Fix transform
@@ -76,56 +116,224 @@ private static void renderDoorOpen(GlobalDoorBlockEntity blockEntity, PoseStack
stack.mulPose(Axis.YP.rotationDegrees(rotation));
stack.translate(0, 0, -0.01);
- // Unbind RenderTarget
- Minecraft.getInstance().getMainRenderTarget().unbindWrite();
- RENDER_TARGET_HELPER.start();
- copyRenderTarget(Minecraft.getInstance().getMainRenderTarget(), RENDER_TARGET_HELPER.renderTarget);
+ RenderSystem.depthMask(true);
// Render Door Frame
MultiBufferSource.BufferSource imBuffer = stencilBufferStorage.getVertexConsumer();
currentModel.setDoorPosition(isOpen);
- currentModel.renderFrame(blockEntity, isOpen, true, stack, imBuffer.getBuffer(RenderType.entityTranslucent(currentModel.getInteriorDoorTexture(blockEntity))), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
+ currentModel.renderFrame(blockEntity, isOpen, true, stack, imBuffer.getBuffer(RenderType.entityCutout(currentModel.getInteriorDoorTexture(blockEntity))), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
+
+ // Finalize the current batch before changing rendering state
imBuffer.endBatch();
// Enable and configure stencil buffer
GL11.glEnable(GL11.GL_STENCIL_TEST);
- GL11.glStencilMask(0xFF); // Ensure stencil mask is set before clearing
- GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT); // Clear stencil buffer
+ GL11.glStencilMask(0xFF);
+ GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);
GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);
// Render portal mask with depth writing enabled
RenderSystem.depthMask(true);
stack.pushPose();
- currentModel.renderPortalMask(blockEntity, isOpen, true, stack, imBuffer.getBuffer(RenderType.entityTranslucent(currentModel.getInteriorDoorTexture(blockEntity))), packedLight, OverlayTexture.NO_OVERLAY, 0f, 0f, 0f, 1f);
+ currentModel.renderPortalMask(blockEntity, isOpen, true, stack, imBuffer.getBuffer(RenderType.entityTranslucentCull(BLACK)), packedLight, OverlayTexture.NO_OVERLAY, 0f, 0f, 0f, 1f);
imBuffer.endBatch();
stack.popPose();
- RenderSystem.depthMask(false); // Disable depth writing for subsequent rendering
+ RenderSystem.depthMask(false);
- // Render vortex based on stencil buffer
+ // Render vortex using stencil buffer
GL11.glStencilMask(0x00);
GL11.glStencilFunc(GL11.GL_EQUAL, 1, 0xFF);
- GlStateManager._depthFunc(GL11.GL_ALWAYS); // Ignore depth buffer
+ GlStateManager._depthFunc(GL11.GL_ALWAYS);
GL11.glColorMask(true, true, true, false);
stack.pushPose();
stack.scale(10, 10, 10);
+
+ VORTEX.time.speed = (0.3f + tardisClientData.getThrottleStage() * 0.1f);
+ VORTEX.renderVortex(stack, 1, false);
+ stack.popPose();
+
+ GlStateManager._depthFunc(GL11.GL_LEQUAL);
+ GL11.glColorMask(true, true, true, true);
+
+ // Disable stencil test and restore state
+ GL11.glDisable(GL11.GL_STENCIL_TEST);
+ GL11.glStencilMask(0xFF);
+ RenderSystem.depthMask(true);
+
+
+ stack.popPose();
+ }
+
+ public static void renderZeitonGlass(Camera camera, PortalModel> mask, PoseStack stack, MultiBufferSource bufferSource, int packedLight, TardisClientData tardisClientData, boolean renderVortex) {
+ if (mask == null) {
+ TardisRefined.LOGGER.warn("Skipped glass rendering: portal mask is null.");
+ return;
+ }
+
+ Vec3 camPos = camera.getPosition();
+
+ boolean DEBUG_SHOW_MASKS = !tardisClientData.isFlying();
+ if (DEBUG_SHOW_MASKS) {
+ for (ZeitonGlassBlockEntity entity : ZeitonGlassTracker.loadedGlass) {
+
+ if (Minecraft.getInstance().level != entity.getLevel()) continue;
+
+ BlockPos pos = entity.getBlockPos();
+ stack.pushPose();
+ stack.translate(pos.getX() + 0.5 - camPos.x, pos.getY() + 1.5 - camPos.y, pos.getZ() + 0.5 - camPos.z);
+ stack.mulPose(Axis.ZP.rotationDegrees(180));
+ mask.renderPortalMask(
+ stack,
+ bufferSource.getBuffer(RenderType.endPortal()),
+ LightTexture.FULL_BRIGHT,
+ OverlayTexture.NO_OVERLAY,
+ 0f, 1f, 0f, 1f
+ );
+ stack.popPose();
+ }
+ return;
+ }
+
+ if (ModCompatChecker.immersivePortals() && ImmersivePortalsClient.shouldStopRenderingInPortal()) {
+ return;
+ }
+
+ MultiBufferSource.BufferSource imBuffer = stencilBufferStorage.getVertexConsumer();
+
+ if (!getIsStencilEnabled(Minecraft.getInstance().getMainRenderTarget())) {
+ setIsStencilEnabled(Minecraft.getInstance().getMainRenderTarget(), true);
+ }
+
+ stack.pushPose();
+ RenderSystem.depthMask(true);
+
+ GL11.glEnable(GL11.GL_STENCIL_TEST);
+ GL11.glStencilMask(0xFF);
+ GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);
+ GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
+ GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);
+
+ stack.pushPose();
+ for (ZeitonGlassBlockEntity entity : ZeitonGlassTracker.loadedGlass) {
+ if (Minecraft.getInstance().level != entity.getLevel()) continue;
+
+ BlockPos pos = entity.getBlockPos();
+ stack.pushPose();
+ stack.translate(pos.getX() + 0.5 - camPos.x, pos.getY() + 1.5 - camPos.y, pos.getZ() + 0.5 - camPos.z);
+ stack.mulPose(Axis.ZP.rotationDegrees(180));
+ mask.renderPortalMask(
+ stack,
+ imBuffer.getBuffer(RenderType.entityTranslucentCull(BLACK)),
+ packedLight,
+ OverlayTexture.NO_OVERLAY,
+ 0f, 0f, 0f, 1f
+ );
+ stack.popPose();
+ }
+ imBuffer.endBatch();
+ stack.popPose();
+ RenderSystem.depthMask(false);
+
+ GL11.glStencilMask(0x00);
+ GL11.glStencilFunc(GL11.GL_EQUAL, 1, 0xFF);
+ GlStateManager._depthFunc(GL11.GL_ALWAYS);
+ GL11.glColorMask(true, true, true, false);
+
+ stack.pushPose();
+ stack.scale(80, 80, 80);
+
+ if (renderVortex) {
+ VORTEX.vortexType = VortexRegistry.VORTEX_REGISTRY.get(tardisClientData.getVortex());
+ VORTEX.time.speed = 0.2f + tardisClientData.getThrottleStage() * 0.1f;
+ VORTEX.renderVortex(stack, 1, false);
+ }
+
+ stack.popPose();
+
+ GlStateManager._depthFunc(GL11.GL_LEQUAL);
+ GL11.glColorMask(true, true, true, true);
+ GL11.glDisable(GL11.GL_STENCIL_TEST);
+ GL11.glStencilMask(0xFF);
+ RenderSystem.depthMask(true);
+
+ stack.popPose();
+ }
+
+
+ public static void renderGeneric(PortalModel> mask, PoseStack stack, int packedLight, TardisClientData tardisClientData) {
+ if (ModCompatChecker.immersivePortals()) {
+ if (ImmersivePortalsClient.shouldStopRenderingInPortal()) {
+ return;
+ }
+ }
+
+ if(!getIsStencilEnabled(Minecraft.getInstance().getMainRenderTarget())){
+ setIsStencilEnabled(Minecraft.getInstance().getMainRenderTarget(), true);
+ }
+
+ stack.pushPose();
+
+ // Fix transform
+ stack.translate(0.5F, 1.5F, 0.5F);
+ stack.mulPose(Axis.ZP.rotationDegrees(180F));
+ stack.translate(0, 0, -0.01);
+
+ RenderSystem.depthMask(true);
+
+ MultiBufferSource.BufferSource imBuffer = stencilBufferStorage.getVertexConsumer();
+
+ // Enable and configure stencil buffer
+ GL11.glEnable(GL11.GL_STENCIL_TEST);
+ GL11.glStencilMask(0xFF);
+ GL11.glClear(GL11.GL_STENCIL_BUFFER_BIT);
+ GL11.glStencilFunc(GL11.GL_ALWAYS, 1, 0xFF);
+ GL11.glStencilOp(GL11.GL_KEEP, GL11.GL_KEEP, GL11.GL_REPLACE);
+
+ // Render portal mask with depth writing enabled
+ RenderSystem.depthMask(true);
+ stack.pushPose();
+ mask.renderPortalMask(stack, imBuffer.getBuffer(RenderType.entityTranslucentCull(BLACK)), packedLight, OverlayTexture.NO_OVERLAY, 0f, 0f, 0f, 1f);
+ imBuffer.endBatch();
+ stack.popPose();
+ RenderSystem.depthMask(false);
+
+ // Render vortex using stencil buffer
+ GL11.glStencilMask(0x00);
+ GL11.glStencilFunc(GL11.GL_EQUAL, 1, 0xFF);
+ GlStateManager._depthFunc(GL11.GL_ALWAYS);
+
+ GL11.glColorMask(true, true, true, false);
+ stack.pushPose();
+ stack.scale(60, 60, 60);
+ VORTEX.vortexType = VortexRegistry.VORTEX_REGISTRY.get(tardisClientData.getVortex());
VORTEX.time.speed = (0.3f + tardisClientData.getThrottleStage() * 0.1f);
VORTEX.renderVortex(stack, 1, false);
stack.popPose();
- GlStateManager._depthFunc(GL11.GL_LEQUAL); // Restore depth function
- GL11.glColorMask(false, false, false, true);
-
- // Copy render target back to main buffer
- RENDER_TARGET_HELPER.end();
- Minecraft.getInstance().getMainRenderTarget().bindWrite(true);
- copyRenderTarget(RENDER_TARGET_HELPER.renderTarget, Minecraft.getInstance().getMainRenderTarget());
- GL11.glDisable(GL11.GL_STENCIL_TEST); // Disable stencil test
+
+ GlStateManager._depthFunc(GL11.GL_LEQUAL);
GL11.glColorMask(true, true, true, true);
+ // Disable stencil test and restore state
+ GL11.glDisable(GL11.GL_STENCIL_TEST);
+ GL11.glStencilMask(0xFF);
+ RenderSystem.depthMask(true);
+
+
stack.popPose();
}
+
+
+ public static void checkGLError(String msg) {
+ int error;
+ while ((error = GL11.glGetError()) != GL11.GL_NO_ERROR) {
+ LOGGER.debug("{}: {}", msg, error);
+ }
+
+ }
+
private static void renderNoVortex(GlobalDoorBlockEntity blockEntity, PoseStack stack, MultiBufferSource bufferSource, int packedLight, float rotation, ShellDoorModel currentModel, boolean isOpen) {
stack.pushPose();
//Fix transform
@@ -135,63 +343,71 @@ private static void renderNoVortex(GlobalDoorBlockEntity blockEntity, PoseStack
stack.mulPose(Axis.YP.rotationDegrees(rotation));
stack.translate(0, 0, -0.01);
}
-
+ currentModel.setDoorPosition(isOpen);
currentModel.renderFrame(blockEntity, isOpen, true, stack, bufferSource.getBuffer(RenderType.entityTranslucent(currentModel.getInteriorDoorTexture(blockEntity))), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
currentModel.renderPortalMask(blockEntity, isOpen, true, stack, bufferSource.getBuffer(RenderType.entityTranslucent(currentModel.getInteriorDoorTexture(blockEntity))), packedLight, OverlayTexture.NO_OVERLAY, 1f, 1f, 1f, 1f);
stack.popPose();
}
+ @Environment(EnvType.CLIENT)
+ public static boolean getIsStencilEnabled(RenderTarget renderTarget) {
+ return ((RenderTargetStencil) renderTarget).tr$getisStencilEnabled();
+ }
+
+ @Environment(EnvType.CLIENT)
+ public static void setIsStencilEnabled(RenderTarget renderTarget, boolean cond) {
+ ((RenderTargetStencil) renderTarget).tr$setisStencilEnabledAndReload(cond);
+ }
public void start() {
+
+ GLFW.glfwWindowHint(GLFW.GLFW_CONTEXT_DEBUG, GLFW.GLFW_TRUE);
+
+
Window window = Minecraft.getInstance().getWindow();
int width = window.getWidth();
int height = window.getHeight();
- if (renderTarget == null || renderTarget.width != width || renderTarget.height != height)
+ // Check if renderTarget needs to be reinitialized
+ if (renderTarget == null || renderTarget.width != width || renderTarget.height != height) {
renderTarget = new TextureTarget(width, height, true, Minecraft.ON_OSX);
+ }
renderTarget.bindWrite(false);
renderTarget.checkStatus();
- if (!getIsStencilEnabled(renderTarget))
+
+ if (!getIsStencilEnabled(renderTarget)) {
setIsStencilEnabled(renderTarget, true);
+ }
}
- public void end() {
- renderTarget.clear(Minecraft.ON_OSX);
+ public void end(boolean clear) {
+ renderTarget.clear(clear);
renderTarget.unbindWrite();
}
- @Environment(EnvType.CLIENT)
- public static boolean getIsStencilEnabled(RenderTarget renderTarget) {
- return ((RenderTargetStencil) renderTarget).tr$getisStencilEnabled();
- }
-
- @Environment(EnvType.CLIENT)
- public static void setIsStencilEnabled(RenderTarget renderTarget, boolean cond) {
- ((RenderTargetStencil) renderTarget).tr$setisStencilEnabledAndReload(cond);
- }
-
-
@Environment(value = EnvType.CLIENT)
public static class StencilBufferStorage extends RenderBuffers {
- private final SortedMap typeBufferBuilder = Util.make(new Object2ObjectLinkedOpenHashMap(), map -> {
+ private static final TextureStateShard BLOCK_SHEET_MIPPED_BUTMINE = new TextureStateShard(TextureAtlas.LOCATION_BLOCKS, false, true);
+
+
+ private final Object2ObjectLinkedOpenHashMap typeBufferBuilder = Util.make(new Object2ObjectLinkedOpenHashMap(), map -> {
put(map, getConsumer());
});
+ private final MultiBufferSource.BufferSource consumer = MultiBufferSource.immediateWithBuffers(typeBufferBuilder, new BufferBuilder(256));
public static RenderType getConsumer() {
RenderType.CompositeState parameters = RenderType.CompositeState.builder()
- .setTextureState(BLOCK_SHEET_MIPPED)
+ .setTextureState(BLOCK_SHEET_MIPPED_BUTMINE)
.setTransparencyState(TRANSLUCENT_TRANSPARENCY)
.setLayeringState(NO_LAYERING).createCompositeState(false);
return RenderType.create("vortex", DefaultVertexFormat.POSITION_COLOR_TEX_LIGHTMAP,
QUADS, 256, false, true, parameters);
}
- private final MultiBufferSource.BufferSource consumer = MultiBufferSource.immediateWithBuffers(typeBufferBuilder, new BufferBuilder(256));
-
private static void put(Object2ObjectLinkedOpenHashMap builderStorage, RenderType layer) {
builderStorage.put(layer, new BufferBuilder(layer.bufferSize()));
}
@@ -200,4 +416,5 @@ public MultiBufferSource.BufferSource getVertexConsumer() {
return this.consumer;
}
}
+
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/ShellRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/ShellRenderer.java
index 87d5a259..edf19850 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/ShellRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/ShellRenderer.java
@@ -14,6 +14,7 @@
import whocraft.tardis_refined.client.model.blockentity.shell.ShellModelCollection;
import whocraft.tardis_refined.client.renderer.RenderHelper;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
+import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.patterns.ShellPattern;
import whocraft.tardis_refined.patterns.ShellPatterns;
@@ -33,7 +34,9 @@ public static void renderShell(GuiGraphics guiGraphics, float control, float alp
ShellModel model = ShellModelCollection.getInstance().getShellEntry(shellTheme).getShellModel(fullPattern);
model.setDoorPosition(false);
- Lighting.setupFor3DItems();
+ if(!tardisClientData.isFlying()) return;
+
+ Lighting.setupForEntityInInventory();
PoseStack pose = guiGraphics.pose();
pose.pushPose();
@@ -57,8 +60,17 @@ public static void renderShell(GuiGraphics guiGraphics, float control, float alp
VertexConsumer vertexConsumer = guiGraphics.bufferSource().getBuffer(model.renderType(model.getShellTexture(ShellPatterns.getPatternOrDefault(shellTheme, shellPattern), false)));
RenderSystem.enableBlend();
GLOBALSHELL_BLOCKENTITY.setTardisId(tardisClientData.getLevelKey());
+
+ if(Platform.isForge()) {
+
+ float scale = 2.5F;
+ pose.scale(scale, scale, scale);
+ }
+
+
model.renderShell(GLOBALSHELL_BLOCKENTITY, false, false, pose, vertexConsumer, 15728880, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, alpha);
- if (fullPattern.exteriorDoorTexture().emissive()) {
+
+ if (fullPattern.shellTexture().emissive()) {
VertexConsumer vertexConsumerLighting = guiGraphics.bufferSource().getBuffer(RenderType.entityTranslucentEmissive(model.getShellTexture(ShellPatterns.getPatternOrDefault(shellTheme, shellPattern), true)));
model.renderShell(GLOBALSHELL_BLOCKENTITY, false, false, pose, vertexConsumerLighting, 15728880, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, alpha);
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/VortexRenderer.java b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/VortexRenderer.java
index 42af6697..8f8a00a1 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/VortexRenderer.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/renderer/vortex/VortexRenderer.java
@@ -23,7 +23,6 @@
*
* @author Edrax
**/
-@Environment(EnvType.CLIENT)
public class VortexRenderer {
private static final RandomSource RAND = RandomSource.create();
@@ -46,6 +45,7 @@ public void renderVortex(PoseStack pose, float opacity, boolean half) {
this.time.update();
pose.pushPose();
RenderHelper.rotateZYX(pose, 90.0f, 180, 0.0f);
+ pose.translate(0, 1, 0);
pose.scale(1, this.vortexType.getRows(), 1);
for (int row = half ? 0 : -this.vortexType.getRows(); row < this.vortexType.getRows(); row++) {
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/components/SelectionListEntry.java b/common/src/main/java/whocraft/tardis_refined/client/screen/components/SelectionListEntry.java
index 85d14203..2225734c 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/components/SelectionListEntry.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/components/SelectionListEntry.java
@@ -11,10 +11,9 @@ public class SelectionListEntry extends ObjectSelectionList.Entry " : "") + this.itemDisplayName.getString());
this.renderText(guiGraphics, index, top, left, width, height, mouseX, mouseY, isMouseOver, partialTick, text, this.enabled ? colour : ChatFormatting.DARK_GRAY.getColor());
- }
- public void renderText(GuiGraphics guiGraphics, int index, int top, int left, int width, int height, int mouseX, int mouseY, boolean isMouseOver, float partialTick, Component text, int textColour) {
- int textWidth = Minecraft.getInstance().font.width(text);
+ // Render tooltip if mouse is over
+ if (isMouseOver && this.tooltip != null) {
+ renderTooltip(guiGraphics, mouseX, mouseY);
+ }
+ }
- /*
- Centre aligned option
- int heightCentre = top + height / 2;
- int leftMax = left + width - 8; //Add some borders between sides of the scrollbar
- int leftCentre = (left + leftMax - textWidth) / 2; //Get start position for each text to render as centre aligned, taking into account of the text width
- int xPos = leftCentre;
- int yPos = heightCentre - 9 / 2;
- */
+ private void renderTooltip(GuiGraphics guiGraphics, int mouseX, int mouseY) {
+ Minecraft minecraft = Minecraft.getInstance();
+ if (minecraft.screen != null) {
+ guiGraphics.renderTooltip(minecraft.font, this.tooltip, mouseX, mouseY);
+ }
+ }
- /* Left Aligned */
+ public void renderText(GuiGraphics guiGraphics, int index, int top, int left, int width, int height, int mouseX, int mouseY, boolean isMouseOver, float partialTick, Component text, int textColour) {
int heightCentre = top + height / 2;
int xPos = this.listLeft + 2;
int yPos = heightCentre - 9 / 2;
@@ -99,4 +101,4 @@ public void renderText(GuiGraphics guiGraphics, int index, int top, int left, in
public void setChecked(boolean checked) {
this.checked = checked;
}
-}
\ No newline at end of file
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorOS.java b/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorOS.java
index f4b74bd5..e3101167 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorOS.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorOS.java
@@ -33,6 +33,9 @@
import whocraft.tardis_refined.common.VortexRegistry;
import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
+import whocraft.tardis_refined.constants.ModMessages;
+import whocraft.tardis_refined.common.util.Platform;
+import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.patterns.ShellPattern;
import whocraft.tardis_refined.patterns.ShellPatterns;
import whocraft.tardis_refined.registry.TRBlockRegistry;
@@ -79,6 +82,10 @@ protected void init() {
public void renderBackground(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) {
}
+ public ResourceLocation getPatternForRender(){
+ return null;
+ }
+
public void render2Background(@NotNull GuiGraphics guiGraphics, int mouseX, int mouseY, float partialTick) {
int hPos = (width - monitorWidth) / 2;
int vPos = (height - monitorHeight) / 2;
@@ -108,8 +115,8 @@ public void renderVortex(@NotNull GuiGraphics guiGraphics) {
RenderSystem.backupProjectionMatrix();
assert minecraft != null;
Matrix4f perspective = new Matrix4f();
- perspective.perspective((float) Math.toRadians(minecraft.options.fov().get()), (float) width / (float) height, 0.01f, 9999, false, perspective);
- perspective.translate(0, 0, 11000f);
+ perspective.perspective((float) Math.toRadians(minecraft.options.fov().get()), (float) width / (float) height, 0, 9999, false, perspective);
+ perspective.translate(0, 0, Platform.isForge() ? 10000f : 11000f);
RenderSystem.setProjectionMatrix(perspective, VertexSorting.DISTANCE_TO_ORIGIN);
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(20));
@@ -117,7 +124,6 @@ public void renderVortex(@NotNull GuiGraphics guiGraphics) {
// Blindly assume that the player is not doing weird stuff to open the menu outside a TARDIS
assert Minecraft.getInstance().level != null;
TardisClientData tardisClientData = TardisClientData.getInstance(Minecraft.getInstance().level.dimension());
-
VORTEX.vortexType = VortexRegistry.VORTEX_REGISTRY.get(this instanceof VortexSelectionScreen ? VortexSelectionScreen.currentVortex : tardisClientData.getVortex());
VORTEX.time.speed = 0.3;
VORTEX.renderVortex(guiGraphics, 1, false);
@@ -327,17 +333,16 @@ public MonitorOSExtension(Component title, ResourceLocation currentShellThem) {
protected void init() {
super.init();
if (CURRENTSHELLTHEME == null) CURRENTSHELLTHEME = THEMELIST.get(0);
- if (PATTERN == null) PATTERN = PATTERNCOLLECTION.get(0);
}
public static GlobalShellBlockEntity GLOBALSHELL_BLOCKENTITY;
public static ResourceLocation CURRENTSHELLTHEME;
- public static ShellPattern PATTERN;
public static List THEMELIST;
public static List PATTERNCOLLECTION;
public void renderShell(GuiGraphics guiGraphics, int x, int y, float scale) {
- ShellModel model = ShellModelCollection.getInstance().getShellEntry(CURRENTSHELLTHEME).getShellModel(PATTERN);
+ ShellPattern pattern = ShellPatterns.getPatternOrDefault(CURRENTSHELLTHEME, getPatternForRender());
+ ShellModel model = ShellModelCollection.getInstance().getShellEntry(CURRENTSHELLTHEME).getShellModel(pattern);
model.setDoorPosition(false);
Lighting.setupForEntityInInventory();
PoseStack pose = guiGraphics.pose();
@@ -347,7 +352,7 @@ public void renderShell(GuiGraphics guiGraphics, int x, int y, float scale) {
pose.mulPose(Axis.XP.rotationDegrees(-15F));
pose.mulPose(Axis.YP.rotationDegrees((float) (System.currentTimeMillis() % 5400L) / 15L));
- VertexConsumer vertexConsumer = guiGraphics.bufferSource().getBuffer(model.renderType(model.getShellTexture(PATTERN, false)));
+ VertexConsumer vertexConsumer = guiGraphics.bufferSource().getBuffer(model.renderType(model.getShellTexture(pattern, false)));
model.renderShell(GLOBALSHELL_BLOCKENTITY, false, false, pose, vertexConsumer, 15728880, OverlayTexture.NO_OVERLAY, 1.0F, 1.0F, 1.0F, 1.0F);
guiGraphics.flush();
pose.popPose();
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorScreen.java
index aa7d1b3f..8b8c94d6 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/main/MonitorScreen.java
@@ -10,20 +10,15 @@
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import org.jetbrains.annotations.NotNull;
-import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.client.screen.ScreenHelper;
import whocraft.tardis_refined.client.screen.components.BackgroundlessButton;
import whocraft.tardis_refined.client.screen.components.GenericMonitorSelectionList;
import whocraft.tardis_refined.client.screen.components.SelectionListEntry;
-import whocraft.tardis_refined.client.screen.ponder.PonderListScreen;
-import whocraft.tardis_refined.client.screen.ponder.PonderScreen;
import whocraft.tardis_refined.client.screen.screens.DesktopSelectionScreen;
import whocraft.tardis_refined.client.screen.screens.HumSelectionScreen;
import whocraft.tardis_refined.client.screen.screens.VortexSelectionScreen;
-import whocraft.tardis_refined.common.VortexRegistry;
import whocraft.tardis_refined.common.capability.tardis.upgrades.UpgradeHandler;
-import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorCraftingRecipe;
-import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorRecipes;
import whocraft.tardis_refined.common.network.messages.C2SEjectPlayer;
import whocraft.tardis_refined.common.network.messages.player.C2SBeginShellView;
import whocraft.tardis_refined.common.network.messages.screens.C2SRequestShellSelection;
@@ -31,6 +26,7 @@
import whocraft.tardis_refined.common.tardis.TardisNavLocation;
import whocraft.tardis_refined.common.util.MiscHelper;
import whocraft.tardis_refined.constants.ModMessages;
+import whocraft.tardis_refined.patterns.ShellPatterns;
import whocraft.tardis_refined.registry.TRUpgrades;
import java.awt.*;
@@ -70,7 +66,10 @@ protected void init() {
.size(70, 20).build());
vortxSelectButton.active = true;
*/
- BackgroundlessButton extView = addRenderableWidget(BackgroundlessButton.backgroundlessBuilder(Component.literal(""), button -> new C2SBeginShellView().send()).pos(hPos + 20, -30 + height / 2).size(40, 60).build());
+ BackgroundlessButton extView = addRenderableWidget(BackgroundlessButton.backgroundlessBuilder(Component.literal(""), button -> {
+ new C2SBeginShellView().send();
+ Minecraft.getInstance().setScreen(null);
+ }).pos(hPos + 20, -30 + height / 2).size(40, 60).build());
extView.setTooltip(Tooltip.create(Component.translatable(ModMessages.UI_MONITOR_SHELL_VIEW)));
extView.active = true;
@@ -141,6 +140,13 @@ public void inMonitorRender(@NotNull GuiGraphics guiGraphics, int mouseX, int mo
poseStack.popPose();
}
+ @Override
+ public ResourceLocation getPatternForRender() {
+ TardisClientData tardisClientData = TardisClientData.getInstance(Minecraft.getInstance().level.dimension());
+ if(tardisClientData == null) return ShellPatterns.DEFAULT.id();
+ return tardisClientData.getShellPattern();
+ }
+
@Override
public void tick() {
super.tick();
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/ponder/PonderListScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/ponder/PonderListScreen.java
index 27af9bc1..273a6cb9 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/ponder/PonderListScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/ponder/PonderListScreen.java
@@ -1,6 +1,6 @@
package whocraft.tardis_refined.client.screen.ponder;
-import com.mojang.brigadier.StringReader;
+import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.ObjectSelectionList;
import net.minecraft.network.chat.Component;
@@ -10,12 +10,8 @@
import whocraft.tardis_refined.client.screen.components.SelectionListEntry;
import whocraft.tardis_refined.client.screen.main.MonitorOS;
import whocraft.tardis_refined.common.crafting.astral_manipulator.ManipulatorCraftingRecipe;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
-import whocraft.tardis_refined.common.util.MiscHelper;
+import whocraft.tardis_refined.common.util.Platform;
-import java.util.Collection;
-import java.util.Comparator;
import java.util.List;
public class PonderListScreen extends MonitorOS {
@@ -40,11 +36,18 @@ public ObjectSelectionList createSelectionList() {
for (ManipulatorCraftingRecipe recipe : recipes) {
Component name = PonderScreen.getResultName(recipe);
- selectionList.children().add(new SelectionListEntry(name, (entry) -> {
+ String owner = Platform.getModName(recipe.getId().getNamespace());
+ Component tooltip = Component.literal(ChatFormatting.BLUE + owner);
+
+ SelectionListEntry entry = new SelectionListEntry(name, (selectedEntry) -> {
Minecraft.getInstance().setScreen(new PonderScreen(recipe));
- }, leftPos));
+ }, leftPos);
+
+ entry.setTooltip(tooltip);
+ selectionList.children().add(entry);
}
+
return selectionList;
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/DesktopSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/DesktopSelectionScreen.java
index ffeba3a9..a4c0f06c 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/DesktopSelectionScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/DesktopSelectionScreen.java
@@ -3,13 +3,15 @@
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.brigadier.StringReader;
-import com.mojang.math.Axis;
+import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.ObjectSelectionList;
import net.minecraft.client.resources.sounds.SimpleSoundInstance;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.screen.components.GenericMonitorSelectionList;
@@ -19,6 +21,7 @@
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
import whocraft.tardis_refined.common.util.MiscHelper;
+import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.constants.ModMessages;
import whocraft.tardis_refined.registry.TRSoundRegistry;
@@ -27,6 +30,8 @@
public class DesktopSelectionScreen extends MonitorOS {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/DesktopSelectionScreen");
+
public static ResourceLocation previousImage = TardisDesktops.FACTORY_THEME.getPreviewTexture();
private DesktopTheme currentDesktopTheme;
@@ -108,16 +113,17 @@ public ObjectSelectionList createSelectionList() {
values = values.stream().sorted(Comparator.comparing(DesktopTheme::getName)).toList();
for (DesktopTheme desktop : values) {
-
Component name = Component.literal(MiscHelper.getCleanName(desktop.getIdentifier().getPath()));
- // Check for if the tellraw name is incomplete, or fails to pass.
+ // Attempt to parse the name from JSON
try {
name = Component.Serializer.fromJson(new StringReader(desktop.getName()));
} catch (Exception ex) {
- TardisRefined.LOGGER.error("Could not process Name for datapack desktop {}", desktop.getIdentifier().toString());
+ LOGGER.error("Could not process Name for datapack desktop {}", desktop.getIdentifier().toString());
}
- selectionList.children().add(new SelectionListEntry(name, (entry) -> {
+ Component tooltip = Component.literal(ChatFormatting.BLUE + Platform.getModName(desktop.getIdentifier().getNamespace()));
+
+ SelectionListEntry entry = new SelectionListEntry(name, (selectedEntry) -> {
previousImage = currentDesktopTheme.getPreviewTexture();
this.currentDesktopTheme = desktop;
@@ -126,13 +132,19 @@ public ObjectSelectionList createSelectionList() {
current.setChecked(false);
}
}
- entry.setChecked(true);
+ selectedEntry.setChecked(true);
age = 0;
+
Minecraft.getInstance().getSoundManager().play(SimpleSoundInstance.forUI(TRSoundRegistry.STATIC.get(), (float) Math.random()));
- }, leftPos));
+ }, leftPos);
+
+ entry.setTooltip(tooltip);
+
+ selectionList.children().add(entry);
}
return selectionList;
}
+
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/HumSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/HumSelectionScreen.java
index d747df9b..b9226071 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/HumSelectionScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/HumSelectionScreen.java
@@ -1,18 +1,22 @@
package whocraft.tardis_refined.client.screen.screens;
import com.mojang.brigadier.StringReader;
+import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.ObjectSelectionList;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.screen.components.GenericMonitorSelectionList;
import whocraft.tardis_refined.client.screen.components.SelectionListEntry;
import whocraft.tardis_refined.client.screen.main.MonitorOS;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
import whocraft.tardis_refined.common.network.messages.hums.C2SChangeHum;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.util.MiscHelper;
+import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.constants.ModMessages;
import java.util.Collection;
@@ -20,6 +24,9 @@
public class HumSelectionScreen extends MonitorOS {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/HumSelectionScreen");
+
+
private HumEntry currentHumEntry;
public HumSelectionScreen() {
@@ -64,16 +71,17 @@ public ObjectSelectionList createSelectionList() {
for (HumEntry humEntry : knownHums) {
Component name = Component.literal(MiscHelper.getCleanName(humEntry.getIdentifier().getPath()));
+ Component tooltip;
- // Check for if the tellraw name is incomplete, or fails to pass.
try {
name = Component.Serializer.fromJson(new StringReader(humEntry.getNameComponent()));
+ tooltip = Component.literal(ChatFormatting.BLUE + Platform.getModName(humEntry.getIdentifier().getNamespace()));
} catch (Exception ex) {
- TardisRefined.LOGGER.error("Could not process Name for hum {}", humEntry.getIdentifier().toString());
+ LOGGER.error("Could not process Name for hum {}", humEntry.getIdentifier());
+ tooltip = Component.literal("Unknown");
}
- selectionList.children().add(new SelectionListEntry(name, (entry) -> {
- // previousImage = humEntry.getPreviewTexture();
+ SelectionListEntry entry = new SelectionListEntry(name, selectedEntry -> {
this.currentHumEntry = humEntry;
for (Object child : selectionList.children()) {
@@ -81,11 +89,16 @@ public ObjectSelectionList createSelectionList() {
current.setChecked(false);
}
}
- entry.setChecked(true);
- }, leftPos));
+
+ selectedEntry.setChecked(true);
+ }, leftPos);
+
+ entry.setTooltip(tooltip);
+ selectionList.children().add(entry);
}
return selectionList;
}
+
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/ShellSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/ShellSelectionScreen.java
index 13d2bb7a..41368196 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/ShellSelectionScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/ShellSelectionScreen.java
@@ -3,6 +3,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.brigadier.StringReader;
import com.mojang.math.Axis;
+import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.gui.components.Button;
@@ -17,7 +18,9 @@
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
+import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.constants.ModMessages;
+import whocraft.tardis_refined.patterns.ShellPattern;
import whocraft.tardis_refined.patterns.ShellPatterns;
import java.util.Collection;
@@ -25,10 +28,16 @@
public class ShellSelectionScreen extends MonitorOS.MonitorOSExtension {
+ private static ShellPattern PATTERN = ShellPatterns.DEFAULT;
private Button patternButton;
public ShellSelectionScreen(ResourceLocation currentShellTheme) {
- super(Component.translatable(ModMessages.UI_SHELL_SELECTION), currentShellTheme);
+ super(Component.translatable(ModMessages.UI_EXTERNAL_SHELL), currentShellTheme);
+ }
+
+ @Override
+ public ResourceLocation getPatternForRender() {
+ return PATTERN.id();
}
@Override
@@ -48,6 +57,8 @@ protected void init() {
addSubmitButton(width / 2 + 90, height - vPos - 25);
addCancelButton(width / 2 - 11, height - vPos - 25);
+
+
patternButton = addRenderableWidget(Button.builder(Component.literal(""), button -> {
PATTERN = ShellPatterns.next(PATTERNCOLLECTION, PATTERN);
button.setMessage(Component.Serializer.fromJson(new StringReader(PATTERN.name())));
@@ -100,6 +111,9 @@ public GenericMonitorSelectionList createSelectionList() {
for (ShellTheme shellTheme : values) {
ResourceLocation shellThemeId = ShellTheme.getKey(shellTheme);
+ String owner = Platform.getModName(shellThemeId.getNamespace());
+ Component tooltip = Component.literal(ChatFormatting.BLUE + owner);
+
SelectionListEntry selectionListEntry = new SelectionListEntry(shellTheme.getDisplayName(), (entry) -> {
CURRENTSHELLTHEME = shellThemeId;
@@ -113,15 +127,17 @@ public GenericMonitorSelectionList createSelectionList() {
boolean themeHasPatterns = PATTERNCOLLECTION.size() > 1;
- //Hide the pattern button if there is only one pattern available for the shell, else show it. (i.e. The default)
patternButton.visible = themeHasPatterns;
- if (themeHasPatterns) //Update the button name now that we have confirmed that there is more than one pattern in the shell
+ if (themeHasPatterns) {
this.patternButton.setMessage(Component.Serializer.fromJson(new StringReader(PATTERN.name())));
+ }
entry.setChecked(true);
}, leftPos);
+ selectionListEntry.setTooltip(tooltip);
+
if (CURRENTSHELLTHEME.toString().equals(shellThemeId.toString())) {
selectionListEntry.setChecked(true);
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/VortexSelectionScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/VortexSelectionScreen.java
index e336aafc..457bdecd 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/screens/VortexSelectionScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/screens/VortexSelectionScreen.java
@@ -2,6 +2,7 @@
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.math.Axis;
+import net.minecraft.ChatFormatting;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.core.Holder;
@@ -15,6 +16,7 @@
import whocraft.tardis_refined.common.VortexRegistry;
import whocraft.tardis_refined.common.network.messages.C2SChangeVortex;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
+import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.constants.ModMessages;
import java.util.Collection;
@@ -89,6 +91,8 @@ public GenericMonitorSelectionList createSelectionList() {
for (VortexRegistry vort : values) {
ResourceLocation vortId = VortexRegistry.VORTEX_REGISTRY.getKey(vort);
+ String owner = Platform.getModName(vortId.getNamespace());
+ Component tooltip = Component.literal(ChatFormatting.BLUE + owner);
SelectionListEntry selectionListEntry = new SelectionListEntry(vort.getDisplayName(), (entry) -> {
currentVortex = vortId;
@@ -102,6 +106,7 @@ public GenericMonitorSelectionList createSelectionList() {
entry.setChecked(true);
}, leftPos);
+ selectionListEntry.setTooltip(tooltip);
if (currentVortex.toString().equals(vortId.toString())) {
selectionListEntry.setChecked(true);
@@ -112,4 +117,5 @@ public GenericMonitorSelectionList createSelectionList() {
return selectionList;
}
+
}
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeWidget.java b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeWidget.java
index 2020d071..072e0e00 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeWidget.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradeWidget.java
@@ -17,6 +17,8 @@
import net.minecraft.util.Mth;
import whocraft.tardis_refined.common.capability.tardis.upgrades.Upgrade;
import whocraft.tardis_refined.common.capability.tardis.upgrades.UpgradeHandler;
+import whocraft.tardis_refined.common.util.Platform;
+import whocraft.tardis_refined.registry.TRUpgrades;
import java.util.Collection;
import java.util.LinkedList;
@@ -55,6 +57,8 @@ public UpgradeWidget(UpgradeTab tab, Minecraft mc, UpgradeHandler upgradeHandler
this.findOptimalLines(ComponentUtils.mergeStyles(description != null ? description.copy() : Component.empty(), Style.EMPTY.withColor(ChatFormatting.WHITE)), l)
);
+
+
for (FormattedCharSequence formattedCharSequence : this.description) {
l = Math.max(l, minecraft.font.width(formattedCharSequence));
}
@@ -169,29 +173,6 @@ public void drawHover(GuiGraphics guiGraphics, int i, int j, float f, int k, int
boolean bl2 = var10000 <= 6 + var10002 * 9;
float g = this.upgradeHandler.isUpgradeUnlocked(upgradeEntry) ? 1 : 0;
int n = Mth.floor(g * (float) this.width);
- AdvancementWidgetType advancementWidgetType;
- AdvancementWidgetType advancementWidgetType2;
- AdvancementWidgetType advancementWidgetType3;
- if (g >= 1.0F) {
- n = this.width / 2;
- advancementWidgetType = AdvancementWidgetType.OBTAINED;
- advancementWidgetType2 = AdvancementWidgetType.OBTAINED;
- advancementWidgetType3 = AdvancementWidgetType.OBTAINED;
- } else if (n < 2) {
- n = this.width / 2;
- advancementWidgetType = AdvancementWidgetType.UNOBTAINED;
- advancementWidgetType2 = AdvancementWidgetType.UNOBTAINED;
- advancementWidgetType3 = AdvancementWidgetType.UNOBTAINED;
- } else if (n > this.width - 2) {
- n = this.width / 2;
- advancementWidgetType = AdvancementWidgetType.OBTAINED;
- advancementWidgetType2 = AdvancementWidgetType.OBTAINED;
- advancementWidgetType3 = AdvancementWidgetType.UNOBTAINED;
- } else {
- advancementWidgetType = AdvancementWidgetType.OBTAINED;
- advancementWidgetType2 = AdvancementWidgetType.UNOBTAINED;
- advancementWidgetType3 = AdvancementWidgetType.UNOBTAINED;
- }
int o = this.width - n;
RenderSystem.enableBlend();
@@ -206,6 +187,7 @@ public void drawHover(GuiGraphics guiGraphics, int i, int j, float f, int k, int
int var10001 = this.description.size();
Objects.requireNonNull(this.minecraft.font);
int r = 32 + var10001 * 9;
+
if (!this.description.isEmpty()) {
if (bl2) {
guiGraphics.blitSprite(TITLE_BOX_SPRITE, q, p + 26 - r, this.width, r);
@@ -243,6 +225,9 @@ public void drawHover(GuiGraphics guiGraphics, int i, int j, float f, int k, int
Objects.requireNonNull(this.minecraft.font);
guiGraphics.drawString(var21, var22, var10003, var10004 + s * 9, -5592406, false);
}
+ ResourceLocation key = TRUpgrades.UPGRADE_DEFERRED_REGISTRY.getKey(upgradeEntry);
+ String owner = Platform.getModName(key.getNamespace());
+ guiGraphics.drawString(this.minecraft.font, ChatFormatting.BLUE + owner, m + 5, l + 26 + 9, -1);
} else {
for (s = 0; s < this.description.size(); ++s) {
var21 = this.minecraft.font;
@@ -252,11 +237,15 @@ public void drawHover(GuiGraphics guiGraphics, int i, int j, float f, int k, int
Objects.requireNonNull(this.minecraft.font);
guiGraphics.drawString(var21, var22, var10003, var10004 + s * 9, -5592406, false);
}
+ ResourceLocation key = TRUpgrades.UPGRADE_DEFERRED_REGISTRY.getKey(upgradeEntry);
+ String owner = Platform.getModName(key.getNamespace());
+ guiGraphics.drawString(this.minecraft.font, ChatFormatting.BLUE +owner, m + 5, y + this.y + 9 + 17 + this.description.size() * 9 + 5, -1);
}
this.drawDisplayIcon(this.minecraft, guiGraphics, i + this.x + 8, j + this.y + 5);
}
+
public boolean isMouseOver(int x, int y, int mouseX, int mouseY) {
int i = x + this.x;
int j = i + 26;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradesScreen.java b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradesScreen.java
index a7860006..50d2d977 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradesScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/screen/upgrades/UpgradesScreen.java
@@ -80,7 +80,6 @@ protected void init() {
UpgradeTab upgradeTab = UpgradeTab.create(this.minecraft, this, 0, upgradeHandler);
this.tabs.add(upgradeTab);
-
if (this.tabs.size() > UpgradeTabType.MAX_TABS) {
int guiLeft = (this.width - WINDOW_WIDTH) / 2;
int guiTop = (this.height - WINDOW_HEIGHT) / 2;
diff --git a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSoundGeneric.java b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSoundGeneric.java
index 88333094..ca0948bb 100644
--- a/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSoundGeneric.java
+++ b/common/src/main/java/whocraft/tardis_refined/client/sounds/LoopingSoundGeneric.java
@@ -2,13 +2,19 @@
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundSource;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
-import whocraft.tardis_refined.TardisRefined;
/**
* Generic implementation of LoopingSound that isn't specific to a Tardis dimension and based on the player's level
*/
public abstract class LoopingSoundGeneric extends LoopingSound {
+
+
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/LoopingSoundGeneric");
+
+
public LoopingSoundGeneric(@NotNull SoundEvent soundEvent, SoundSource soundSource) {
super(soundEvent, soundSource);
}
@@ -17,7 +23,7 @@ public LoopingSoundGeneric(@NotNull SoundEvent soundEvent, SoundSource soundSour
public void tick() {
if (this.player == null) {
- TardisRefined.LOGGER.warn("Cannot play Looping Sound. No target player defined by LoopingSound instance: " + this.toString());
+ LOGGER.warn("Cannot play Looping Sound. No target player defined by LoopingSound instance: " + this.toString());
this.setVolume(0f);
this.stop();
} else {
diff --git a/common/src/main/java/whocraft/tardis_refined/command/TardisRefinedCommand.java b/common/src/main/java/whocraft/tardis_refined/command/TardisRefinedCommand.java
index 6fde7193..ef05d446 100644
--- a/common/src/main/java/whocraft/tardis_refined/command/TardisRefinedCommand.java
+++ b/common/src/main/java/whocraft/tardis_refined/command/TardisRefinedCommand.java
@@ -4,10 +4,7 @@
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.Commands;
import whocraft.tardis_refined.TardisRefined;
-import whocraft.tardis_refined.command.sub.CreateCommand;
-import whocraft.tardis_refined.command.sub.InteriorCommand;
-import whocraft.tardis_refined.command.sub.LevelCommand;
-import whocraft.tardis_refined.command.sub.UpgradesCommand;
+import whocraft.tardis_refined.command.sub.*;
import whocraft.tardis_refined.command.sub.export.ExportDesktopCommand;
import whocraft.tardis_refined.common.util.Platform;
@@ -17,6 +14,7 @@ public static void register(CommandDispatcher dispatcher) {
dispatcher.register(Commands.literal(TardisRefined.MODID).requires(commandSource -> commandSource.hasPermission(Platform.getServer().getOperatorUserPermissionLevel()))
.then(InteriorCommand.register(dispatcher))
.then(UpgradesCommand.register(dispatcher))
+ .then(SummonCommand.register(dispatcher))
.then(Commands.literal("data").then(Commands.literal("export").then(ExportDesktopCommand.register(dispatcher))))
.then(LevelCommand.register(dispatcher))
);
diff --git a/common/src/main/java/whocraft/tardis_refined/command/sub/SummonCommand.java b/common/src/main/java/whocraft/tardis_refined/command/sub/SummonCommand.java
new file mode 100644
index 00000000..7b32db2c
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/command/sub/SummonCommand.java
@@ -0,0 +1,84 @@
+package whocraft.tardis_refined.command.sub;
+
+import com.mojang.brigadier.Command;
+import com.mojang.brigadier.CommandDispatcher;
+import com.mojang.brigadier.builder.ArgumentBuilder;
+import com.mojang.brigadier.context.CommandContext;
+import net.minecraft.ChatFormatting;
+import net.minecraft.commands.CommandSourceStack;
+import net.minecraft.commands.Commands;
+import net.minecraft.commands.arguments.DimensionArgument;
+import net.minecraft.core.BlockPos;
+import net.minecraft.network.chat.Component;
+import net.minecraft.resources.ResourceKey;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.level.Level;
+import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
+import whocraft.tardis_refined.common.items.KeyItem;
+import whocraft.tardis_refined.common.tardis.TardisNavLocation;
+import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
+import whocraft.tardis_refined.common.util.CommandHelper;
+import whocraft.tardis_refined.common.util.PlayerUtil;
+import whocraft.tardis_refined.constants.ModMessages;
+import whocraft.tardis_refined.registry.TRDimensionTypes;
+
+import java.util.Optional;
+
+public class SummonCommand implements Command {
+
+ public static ArgumentBuilder register(CommandDispatcher dispatcher) {
+ return Commands.literal("summon")
+ .then(Commands.argument("tardis", DimensionArgument.dimension())
+ .suggests(CommandHelper.SUGGEST_TARDISES)
+ .executes(context -> summonTardis(context, DimensionArgument.getDimension(context, "tardis"))))
+ .executes(SummonCommand::summonTardisFromKey);
+ }
+
+ private static int summonTardis(CommandContext context, ServerLevel tardis) {
+ Optional tardisData = TardisLevelOperator.get(tardis);
+ ServerPlayer sender = context.getSource().getPlayer();
+
+ if (sender.level().dimensionTypeId() == TRDimensionTypes.TARDIS) {
+ PlayerUtil.sendMessage(sender, Component.literal(ChatFormatting.RED + "You cannot Summon a TARDIS within a TARDIS."), false);
+ return 0;
+ }
+
+ if (tardisData.isPresent()) {
+ TardisLevelOperator data = tardisData.get();
+ TardisPilotingManager pilot = data.getPilotingManager();
+ pilot.setHandbrakeOn(false);
+ pilot.setTargetLocation(new TardisNavLocation(sender.blockPosition(), sender.getDirection().getOpposite(), (ServerLevel) sender.level()));
+ pilot.beginFlight(true);
+ PlayerUtil.sendMessage(sender, Component.translatable(ModMessages.TARDIS_IS_ON_THE_WAY), true);
+
+ return Command.SINGLE_SUCCESS;
+ }
+ return 0;
+ }
+
+ private static int summonTardisFromKey(CommandContext context) {
+ ServerPlayer sender = context.getSource().getPlayer();
+ ItemStack mainHandItem = sender.getMainHandItem();
+
+ if (mainHandItem.getItem() instanceof KeyItem) {
+ var keychain = KeyItem.getKeychain(mainHandItem);
+ if (!keychain.isEmpty()) {
+ ResourceKey tardisDimKey = keychain.get(0);
+ ServerLevel tardisLevel = sender.server.getLevel(tardisDimKey);
+ if (tardisLevel != null) {
+ return summonTardis(context, tardisLevel);
+ }
+ }
+ }
+
+ PlayerUtil.sendMessage(sender, Component.literal(ChatFormatting.RED + "You must specify a TARDIS dimension or hold a valid TARDIS key."), false);
+ return 0;
+ }
+
+ @Override
+ public int run(CommandContext context) {
+ return 0;
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/command/sub/export/ExportDesktopCommand.java b/common/src/main/java/whocraft/tardis_refined/command/sub/export/ExportDesktopCommand.java
index 4c153c05..c9eff865 100644
--- a/common/src/main/java/whocraft/tardis_refined/command/sub/export/ExportDesktopCommand.java
+++ b/common/src/main/java/whocraft/tardis_refined/command/sub/export/ExportDesktopCommand.java
@@ -38,9 +38,9 @@ public class ExportDesktopCommand implements Command {
.executes(context -> exportDesktop(context, BlockPosArgument.getSpawnablePos(context, "pos1"),
BlockPosArgument.getSpawnablePos(context, "pos2"),
BoolArgumentType.getBool(context, "include_entities"),
- StringArgumentType.getString(context, "namespace"),
- StringArgumentType.getString(context, "desktop_id"),
- StringArgumentType.getString(context, "datapack_name"),
+ StringArgumentType.getString(context, "namespace").toLowerCase(),
+ StringArgumentType.getString(context, "desktop_id").toLowerCase(),
+ StringArgumentType.getString(context, "datapack_name").toLowerCase(),
ComponentArgument.getComponent(context, "desktop_display_name")
)))))))));
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/console/GlobalConsoleBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/console/GlobalConsoleBlock.java
index bace1102..25d417c7 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/console/GlobalConsoleBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/console/GlobalConsoleBlock.java
@@ -52,6 +52,9 @@ public GlobalConsoleBlock(Properties properties) {
this.registerDefaultState(this.stateDefinition.any().setValue(POWERED, false));
}
+
+
+
@Nullable
@Override
public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
@@ -179,6 +182,7 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
if (pilotingManager.getCurrentConsole() != consoleBlockEntity) {
if (!pilotingManager.isInFlight()) {
pilotingManager.setCurrentConsole(consoleBlockEntity);
+ consoleBlockEntity.setTicksBooting(1);
} else {
PlayerUtil.sendMessage(player, ModMessages.CONSOLE_NOT_IN_FLIGHT, true);
}
@@ -226,6 +230,7 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
return InteractionResult.sidedSuccess(true); //Use InteractionResult.sidedSuccess(true) for client side. Stops hand swinging twice. We don't want to use InteractionResult.SUCCESS because the client calls SUCCESS, so the server side calling it too sends the hand swinging packet twice.
}
+
@Override
public boolean isPathfindable(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, PathComputationType pathComputationType) {
return false;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/AstralManipulatorBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/AstralManipulatorBlock.java
index 4d34e4d6..9f3b24fd 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/device/AstralManipulatorBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/AstralManipulatorBlock.java
@@ -13,7 +13,7 @@
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.EntityBlock;
import net.minecraft.world.level.block.entity.BlockEntity;
-import net.minecraft.world.level.block.state.BlockState;;
+import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.StateDefinition;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.phys.BlockHitResult;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/device/LandingPadBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/device/LandingPadBlock.java
index 66dcfd1a..9444b7ea 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/device/LandingPadBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/device/LandingPadBlock.java
@@ -68,7 +68,7 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
var keyChain = KeyItem.getKeychain(itemStack);
if (!keyChain.isEmpty()) {
ResourceKey dimension = KeyItem.getKeychain(itemStack).get(0);
- var tardisLevel = Platform.getServer().getLevel(dimension);
+ var tardisLevel = DimensionUtil.getLevel(dimension);
var operatorOptional = TardisLevelOperator.get(tardisLevel);
if (operatorOptional.isEmpty()) {
return InteractionResult.PASS;
@@ -80,7 +80,7 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
TardisPilotingManager pilotManager = operator.getPilotingManager();
UpgradeHandler upgradeHandler = operator.getUpgradeHandler();
- if (TRUpgrades.LANDING_PAD.get().isUnlocked(upgradeHandler) && pilotManager.beginFlight(true, null) && !pilotManager.isInRecovery()) {
+ if (TRUpgrades.LANDING_PAD.get().isUnlocked(upgradeHandler) && pilotManager.beginFlight(true) && !pilotManager.isInRecovery()) {
pilotManager.setTargetLocation(new TardisNavLocation(blockPos.above(), player.getDirection().getOpposite(), serverLevel));
serverLevel.playSound(null, blockPos, SoundEvents.PLAYER_LEVELUP, SoundSource.BLOCKS, 1f, 1f);
PlayerUtil.sendMessage(player, Component.translatable(ModMessages.TARDIS_IS_ON_THE_WAY), true);
@@ -98,7 +98,7 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
return InteractionResult.sidedSuccess(false); //Use InteractionResult.sidedSuccess(false) for non-client side. Stops hand swinging twice. We don't want to use InteractionResult.SUCCESS because the client calls SUCCESS, so the server side calling it too sends the hand swinging packet twice.
}
}
-
+ PlayerUtil.sendMessage(player, Component.translatable(ModMessages.LANDING_PAD_BANNED_DIM), true);
serverLevel.playSound(null, blockPos, SoundEvents.NOTE_BLOCK_BIT.value(), SoundSource.BLOCKS, 100, (float) (0.1 + (serverLevel.getRandom().nextFloat() * 0.25)));
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorBlock.java
index dfa472c2..1b9b0dbb 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorBlock.java
@@ -2,8 +2,6 @@
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
-import net.minecraft.sounds.SoundEvents;
-import net.minecraft.sounds.SoundSource;
import net.minecraft.util.StringRepresentable;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResult;
@@ -24,21 +22,20 @@
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.DirectionProperty;
import net.minecraft.world.level.block.state.properties.EnumProperty;
+import net.minecraft.world.level.block.state.properties.Property;
import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorBlockEntity;
-import whocraft.tardis_refined.registry.TRItemRegistry;
-import whocraft.tardis_refined.registry.TRSoundRegistry;
-
-import java.util.Arrays;
+import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorExtensionBlockEntity;
+import whocraft.tardis_refined.registry.TRBlockRegistry;
public class BulkHeadDoorBlock extends BaseEntityBlock {
public enum BulkHeadType implements StringRepresentable {
- ROUGH("rough"), MODERN("modern");
+ ROUGH("rough"), MODERN("modern"), SMOOTH("smooth");
private final String name;
@@ -57,12 +54,33 @@ public String getSerializedName() {
public static final BooleanProperty LOCKED = BooleanProperty.create("locked");
public static final EnumProperty TYPE = EnumProperty.create("bulkhead", BulkHeadType.class);
+ protected static final VoxelShape EMPTY = Block.box(0.0, 0.0, 0, 0, 0, 0);
+ protected static final VoxelShape NS_COLLISION = Block.box(0.0, 0.0, 4.0, 16.0, 16.0, 12.0);
+ protected static final VoxelShape WE_COLLISION = Block.box(4.0, 0.0, 0.0, 12.0, 16.0, 16.0);
+
public BulkHeadDoorBlock(Properties properties) {
super(properties.sound(SoundType.ANVIL));
this.registerDefaultState(this.stateDefinition.any().setValue(TYPE, BulkHeadType.MODERN).setValue(FACING, Direction.NORTH).setValue(OPEN, false).setValue(LOCKED, true));
}
+ @Override
+ public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
+ boolean isOpen = blockState.getValue(OPEN);
+ if (isOpen) {
+ return EMPTY;
+ }
+ return switch (blockState.getValue(FACING)) {
+ case EAST, WEST -> WE_COLLISION;
+ default -> NS_COLLISION;
+ };
+ }
+
+ @Override
+ public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
+ return this.getShape(blockState, blockGetter, blockPos, collisionContext);
+ }
+
@Override
protected void createBlockStateDefinition(StateDefinition.Builder builder) {
super.createBlockStateDefinition(builder);
@@ -94,23 +112,14 @@ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
public void onPlace(BlockState blockState, Level level, BlockPos blockPos, BlockState blockState2, boolean bl) {
super.onPlace(blockState, level, blockPos, blockState2, bl);
- if (blockState.getValue(OPEN)) {
- changeBlockStates(level, blockPos, blockState, Blocks.AIR.defaultBlockState());
- } else {
- changeBlockStates(level, blockPos, blockState, Blocks.BARRIER.defaultBlockState());
- }
+ changeBlockStates(level, blockPos, blockState, blockState.getValue(OPEN), true);
}
@Override
public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) {
- if (player.getItemInHand(interactionHand).getItem() == TRItemRegistry.PATTERN_MANIPULATOR.get()) {
- if (blockState.hasProperty(TYPE)) {
- BlockState nextType = blockState.cycle(TYPE);
- level.setBlock(blockPos, nextType, 3);
- level.playSound(player, blockPos, TRSoundRegistry.PATTERN_MANIPULATOR.get(), SoundSource.BLOCKS, 1.0F, 1.0F);
- return InteractionResult.SUCCESS;
- }
+ if (level.getBlockEntity(blockPos) instanceof BulkHeadDoorBlockEntity bulkHeadDoorBlockEntity) {
+ return bulkHeadDoorBlockEntity.onRightClick(blockState, level, blockPos, player, interactionHand, blockHitResult);
}
return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult);
@@ -119,43 +128,102 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
@Override
public void playerDestroy(Level level, Player player, BlockPos blockPos, BlockState blockState, @Nullable BlockEntity blockEntity, ItemStack itemStack) {
- super.playerDestroy(level, player, blockPos, blockState, blockEntity, itemStack);
destroy(level, blockPos, blockState);
+ super.playerDestroy(level, player, blockPos, blockState, blockEntity, itemStack);
}
@Override
public void destroy(LevelAccessor levelAccessor, BlockPos blockPos, BlockState blockState) {
+ clearDoor((Level) levelAccessor, blockPos, blockState);
super.destroy(levelAccessor, blockPos, blockState);
+ }
+
+ private void changeBlockStates(Level level, BlockPos blockPos, BlockState blockState, boolean isOpen, boolean isInitialPlacement) {
- changeBlockStates((Level) levelAccessor, blockPos, blockState, Blocks.AIR.defaultBlockState());
+ updateDoorPosition(level, blockPos.above(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above(2), isOpen, blockPos, isInitialPlacement);
+
+ if (blockState.getValue(FACING) == Direction.NORTH || blockState.getValue(FACING) == Direction.SOUTH) {
+
+ updateDoorPosition(level, blockPos.east(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above().east(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above(2).east(), isOpen, blockPos, isInitialPlacement);
+
+ updateDoorPosition(level, blockPos.west(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above().west(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above(2).west(), isOpen, blockPos, isInitialPlacement);
+
+ }
+
+ if (blockState.getValue(FACING) == Direction.EAST || blockState.getValue(FACING) == Direction.WEST) {
+ updateDoorPosition(level, blockPos.north(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above().north(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above(2).north(), isOpen, blockPos, isInitialPlacement);
+
+ updateDoorPosition(level, blockPos.south(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above().south(), isOpen, blockPos, isInitialPlacement);
+ updateDoorPosition(level, blockPos.above(2).south(), isOpen, blockPos, isInitialPlacement);
+ }
}
- private void changeBlockStates(Level level, BlockPos blockPos, BlockState blockState, BlockState blockToSet) {
- level.setBlock(blockPos.above(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above(2), blockToSet, Block.UPDATE_CLIENTS);
+ public static void clearDoor(Level level, BlockPos blockPos, BlockState blockState) {
+
+ // Somthing has gone wrong if we don't have this property. Be safe and don't grief just in case.
+ boolean hasFacingDir = blockState.hasProperty(FACING);
+ if (!hasFacingDir) {
+ return;
+ }
+ level.setBlock(blockPos.above(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above(2), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
if (blockState.getValue(FACING) == Direction.NORTH || blockState.getValue(FACING) == Direction.SOUTH) {
- level.setBlock(blockPos.east(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above().east(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above(2).east(), blockToSet, Block.UPDATE_CLIENTS);
+ level.setBlock(blockPos.east(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above().east(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above(2).east(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
- level.setBlock(blockPos.west(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above().west(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above(2).west(), blockToSet, Block.UPDATE_CLIENTS);
+ level.setBlock(blockPos.west(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above().west(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above(2).west(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
}
if (blockState.getValue(FACING) == Direction.EAST || blockState.getValue(FACING) == Direction.WEST) {
- level.setBlock(blockPos.north(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above().north(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above(2).north(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.south(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above().south(), blockToSet, Block.UPDATE_CLIENTS);
- level.setBlock(blockPos.above(2).south(), blockToSet, Block.UPDATE_CLIENTS);
+ level.setBlock(blockPos.north(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above().north(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above(2).north(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+
+ level.setBlock(blockPos.south(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above().south(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
+ level.setBlock(blockPos.above(2).south(), Blocks.AIR.defaultBlockState(), Block.UPDATE_ALL);
}
}
+ private void updateDoorPosition(Level level, BlockPos pos, boolean isOpen, BlockPos originPos, boolean isInitialPlacement) {
+ BlockState currentState = level.getBlockState(pos);
+ BlockState originState = level.getBlockState(originPos);
+
+ if ((!hasProperty(currentState, BulkHeadDoorExtensionBlock.FACING ) || !hasProperty(originState, FACING )) && !isInitialPlacement) { return;}
+
+ if (currentState.getBlock() instanceof BulkHeadDoorExtensionBlock || pos == originPos) {
+ level.setBlock(pos, currentState.setValue(BulkHeadDoorExtensionBlock.OPEN, isOpen), Block.UPDATE_CLIENTS);
+ } else {
+
+ // If the position isn't a bulkhead door extension, set it up and start again.
+ level.setBlock(pos, TRBlockRegistry.BULK_HEAD_DOOR_EXT.get().defaultBlockState().setValue(FACING, originState.getValue(FACING)), Block.UPDATE_CLIENTS);
+
+ if (level.getBlockEntity(pos) instanceof BulkHeadDoorExtensionBlockEntity bex && level.getBlockEntity(originPos) instanceof BulkHeadDoorBlockEntity be) {
+ bex.setMasterDoorBlock(be);
+ updateDoorPosition(level, pos, isOpen, originPos, isInitialPlacement);
+ }
+ }
+
+ }
+
+ private boolean hasProperty(BlockState blockState, Property property) {
+ return blockState.hasProperty(property);
+ }
+
@Override
public void setPlacedBy(Level level, BlockPos blockPos, BlockState blockState, @Nullable LivingEntity livingEntity, ItemStack itemStack) {
@@ -184,10 +252,7 @@ private boolean checkAirBlockStates(LevelReader world, BlockPos pos) {
return true;
}
- @Override
- public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
- return blockState.getValue(OPEN) ? Block.box(0.0D, 0.0D, 0.0D, 0.0D, 0.0D, 0.0D) : Block.box(0.0D, 0.0D, 0.0D, 16.0D, 16.0D, 16.0D);
- }
+
@Nullable
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorExtensionBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorExtensionBlock.java
new file mode 100644
index 00000000..100377ac
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/door/BulkHeadDoorExtensionBlock.java
@@ -0,0 +1,117 @@
+package whocraft.tardis_refined.common.block.door;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.world.InteractionHand;
+import net.minecraft.world.InteractionResult;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.context.BlockPlaceContext;
+import net.minecraft.world.level.BlockGetter;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.LevelAccessor;
+import net.minecraft.world.level.block.*;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.level.block.state.StateDefinition;
+import net.minecraft.world.level.block.state.properties.BooleanProperty;
+import net.minecraft.world.level.block.state.properties.DirectionProperty;
+import net.minecraft.world.phys.BlockHitResult;
+import net.minecraft.world.phys.shapes.CollisionContext;
+import net.minecraft.world.phys.shapes.VoxelShape;
+import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
+import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorBlockEntity;
+import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorExtensionBlockEntity;
+import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
+import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
+
+public class BulkHeadDoorExtensionBlock extends BaseEntityBlock {
+
+ public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
+ public static final BooleanProperty OPEN = BooleanProperty.create("open");
+
+ protected static final VoxelShape EMPTY = Block.box(0.0, 0.0, 0, 0, 0, 0);
+ protected static final VoxelShape NS_COLLISION = Block.box(0.0, 0.0, 4.0, 16.0, 16.0, 12.0);
+ protected static final VoxelShape WE_COLLISION = Block.box(4.0, 0.0, 0.0, 12.0, 16.0, 16.0);
+
+ public BulkHeadDoorExtensionBlock(Properties properties) {
+ super(properties.sound(SoundType.ANVIL));
+
+ this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(OPEN, false));
+ }
+
+ @Override
+ protected void createBlockStateDefinition(StateDefinition.Builder builder) {
+ super.createBlockStateDefinition(builder);
+ builder.add(FACING, OPEN);
+ }
+
+ @Override
+ public BlockState getStateForPlacement(@NotNull BlockPlaceContext blockPlaceContext) {
+
+ BlockState state = super.getStateForPlacement(blockPlaceContext);
+ if (canSurvive(state, blockPlaceContext.getLevel(), blockPlaceContext.getClickedPos())) {
+ return state.setValue(FACING, blockPlaceContext.getHorizontalDirection()).setValue(OPEN, false);
+ }
+ return null;
+ }
+
+
+ @Override
+ public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
+
+ boolean isOpen = blockState.hasProperty(OPEN) && blockState.getValue(OPEN);
+ if (isOpen) {
+ return EMPTY;
+ }
+ return switch (blockState.getValue(FACING)) {
+ case EAST, WEST -> WE_COLLISION;
+ default -> NS_COLLISION;
+ };
+ }
+
+ @Override
+ public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
+ return this.getShape(blockState, blockGetter, blockPos, collisionContext);
+ }
+
+ @Nullable
+ @Override
+ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
+ return new BulkHeadDoorExtensionBlockEntity(blockPos, blockState);
+ }
+
+ @Override
+ public InteractionResult use(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) {
+ if (level.getBlockEntity(blockPos) instanceof BulkHeadDoorExtensionBlockEntity bulkHeadDoorBlockEntity) {
+ return bulkHeadDoorBlockEntity.onRightClick(blockState, level, blockPos, player, interactionHand, blockHitResult);
+ }
+
+ return super.use(blockState, level, blockPos, player, interactionHand, blockHitResult);
+ }
+
+ @Override
+ public void playerDestroy(Level level, Player player, BlockPos blockPos, BlockState blockState, @Nullable BlockEntity blockEntity, ItemStack itemStack) {
+ destroy(level, blockPos, blockState);
+ super.playerDestroy(level, player, blockPos, blockState, blockEntity, itemStack);
+ }
+
+ @Override
+ public void playerWillDestroy(Level level, BlockPos blockPos, BlockState blockState, Player player) {
+ super.playerWillDestroy(level, blockPos, blockState, player);
+ destroy(level, blockPos, blockState);
+ }
+
+ @Override
+ public void destroy(LevelAccessor levelAccessor, BlockPos blockPos, BlockState blockState) {
+
+ if (levelAccessor.getBlockEntity(blockPos) instanceof BulkHeadDoorExtensionBlockEntity bulkHeadDoorBlockEntity) {
+ bulkHeadDoorBlockEntity.onDestroy((Level) levelAccessor, blockPos, blockState);
+ }
+ super.destroy(levelAccessor, blockPos, blockState);
+ }
+
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/door/GlobalDoorBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/door/GlobalDoorBlock.java
index 66906ceb..83b58855 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/door/GlobalDoorBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/door/GlobalDoorBlock.java
@@ -34,7 +34,7 @@ public class GlobalDoorBlock extends InternalDoorBlock {
public GlobalDoorBlock(Properties properties) {
super(properties);
- this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(OPEN, true).setValue(LOCKED, false));
+ this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(OFFSET, false).setValue(OPEN, true).setValue(LOCKED, false));
}
@Nullable
@@ -90,17 +90,13 @@ public InteractionResult use(BlockState blockState, Level level, BlockPos blockP
@Override
public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
- switch (blockState.getValue(FACING)) {
- case EAST:
- return EAST_AABB;
- case SOUTH:
- return SOUTH_AABB;
- case WEST:
- return WEST_AABB;
- case NORTH:
- return NORTH_AABB;
- }
- return SOUTH_AABB;
+ return switch (blockState.getValue(FACING)) {
+ case EAST -> blockState.getValue(OFFSET) ? EAST_AABB.move(0, 0, -0.5) : EAST_AABB;
+ case SOUTH -> blockState.getValue(OFFSET) ? SOUTH_AABB.move(0.5, 0, 0) : SOUTH_AABB;
+ case WEST -> blockState.getValue(OFFSET) ? WEST_AABB.move(0, 0, 0.5) : WEST_AABB;
+ case NORTH -> blockState.getValue(OFFSET) ? NORTH_AABB.move(-0.5, 0, 0) : NORTH_AABB;
+ default -> SOUTH_AABB;
+ };
}
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/door/InternalDoorBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/door/InternalDoorBlock.java
index fbdea75a..1d87c4c7 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/door/InternalDoorBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/door/InternalDoorBlock.java
@@ -30,6 +30,8 @@ public class InternalDoorBlock extends BaseEntityBlock {
public static final DirectionProperty FACING = HorizontalDirectionalBlock.FACING;
public static final BooleanProperty OPEN = BooleanProperty.create("open");
+ public static final BooleanProperty OFFSET = BooleanProperty.create("offset");
+
/**
* This is this door instance's understanding of if it is locked or not.
*
This is needed to account for when multiple internal doors are in a Tardis, and the player is locking a different door
@@ -41,7 +43,7 @@ public class InternalDoorBlock extends BaseEntityBlock {
public InternalDoorBlock(Properties properties) {
super(properties);
- this.registerDefaultState(this.stateDefinition.any().setValue(FACING, Direction.NORTH).setValue(OPEN, false).setValue(LOCKED, false));
+ this.registerDefaultState(this.stateDefinition.any().setValue(OFFSET, false).setValue(FACING, Direction.NORTH).setValue(OPEN, false).setValue(LOCKED, false));
}
@Override
@@ -55,9 +57,24 @@ public void onPlace(BlockState blockState, Level level, BlockPos blockPos, Block
@Override
public VoxelShape getShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
+ if (blockState.getValue(OFFSET)) {
+ Direction facing = blockState.getValue(FACING);
+ double xOffset = 0.0;
+ double zOffset = 0.0;
+
+ switch (facing) {
+ case NORTH -> xOffset = -0.5;
+ case SOUTH -> xOffset = 0.5;
+ case EAST -> zOffset = -0.5;
+ case WEST -> zOffset = 0.5;
+ }
+
+ return COLLISION.move(xOffset, 0, zOffset);
+ }
return COLLISION;
}
+
@Override
public VoxelShape getCollisionShape(BlockState blockState, BlockGetter blockGetter, BlockPos blockPos, CollisionContext collisionContext) {
return this.getShape(blockState, blockGetter, blockPos, collisionContext);
@@ -80,13 +97,13 @@ public BlockEntity getDoorBlockEntity() {
@Override
protected void createBlockStateDefinition(StateDefinition.Builder builder) {
super.createBlockStateDefinition(builder);
- builder.add(OPEN, FACING, LOCKED);
+ builder.add(OPEN, FACING, LOCKED, OFFSET);
}
@Override
public BlockState getStateForPlacement(@NotNull BlockPlaceContext blockPlaceContext) {
BlockState state = super.getStateForPlacement(blockPlaceContext);
- return state.setValue(FACING, blockPlaceContext.getHorizontalDirection()).setValue(OPEN, false).setValue(LOCKED, false);
+ return state.setValue(FACING, blockPlaceContext.getHorizontalDirection()).setValue(OPEN, false).setValue(LOCKED, false).setValue(OFFSET, blockPlaceContext.getPlayer().isCrouching());
}
@Override
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/life/ZeitonGlassBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/life/ZeitonGlassBlock.java
new file mode 100644
index 00000000..94a0c327
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/life/ZeitonGlassBlock.java
@@ -0,0 +1,41 @@
+package whocraft.tardis_refined.common.block.life;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.block.BaseEntityBlock;
+import net.minecraft.world.level.block.RenderShape;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.state.BlockState;
+import org.jetbrains.annotations.Nullable;
+import whocraft.tardis_refined.client.ZeitonGlassTracker;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
+
+public class ZeitonGlassBlock extends BaseEntityBlock {
+
+ public ZeitonGlassBlock(Properties properties) {
+ super(properties);
+ this.registerDefaultState(this.stateDefinition.any());
+ }
+
+ @Override
+ public RenderShape getRenderShape(BlockState blockState) {
+ return RenderShape.MODEL;
+ }
+
+ @Override
+ public void onRemove(BlockState blockState, Level level, BlockPos blockPos, BlockState blockState2, boolean bl) {
+ super.onRemove(blockState, level, blockPos, blockState2, bl);
+
+ if (level.getBlockEntity(blockPos) instanceof ZeitonGlassBlockEntity zeitonGlassBlockEntity) {
+ if (ZeitonGlassTracker.loadedGlass.contains(zeitonGlassBlockEntity)) {
+ ZeitonGlassTracker.onUnload(zeitonGlassBlockEntity);
+ }
+ }
+ }
+
+ @Nullable
+ @Override
+ public BlockEntity newBlockEntity(BlockPos blockPos, BlockState blockState) {
+ return new ZeitonGlassBlockEntity(blockPos, blockState);
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/block/shell/ShellBaseBlock.java b/common/src/main/java/whocraft/tardis_refined/common/block/shell/ShellBaseBlock.java
index 60e8f302..0f634a1f 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/block/shell/ShellBaseBlock.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/block/shell/ShellBaseBlock.java
@@ -138,7 +138,7 @@ public void entityInside(BlockState blockState, Level level, BlockPos blockPos,
ServerLevel serverLevel = (ServerLevel) level;
if (serverLevel.getBlockEntity(blockPos) instanceof ExteriorShell shellEntity) {
AABB teleportAABB = this.getCollisionShape(blockState, level, blockPos, CollisionContext.of(entity)).bounds().move(blockPos);
- if (TRTeleporter.teleportIfCollided(serverLevel, blockPos, entity, teleportAABB)) {
+ if (blockState.getValue(OPEN) && TRTeleporter.teleportIfCollided(serverLevel, blockPos, entity, teleportAABB)) {
shellEntity.onAttemptEnter(blockState, serverLevel, blockPos, entity);
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/console/GlobalConsoleBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/console/GlobalConsoleBlockEntity.java
index af32c1d5..4f70a5de 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/console/GlobalConsoleBlockEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/console/GlobalConsoleBlockEntity.java
@@ -18,6 +18,7 @@
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.Vec3;
import org.jetbrains.annotations.Nullable;
+import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.entity.ControlEntity;
@@ -44,9 +45,18 @@ public class GlobalConsoleBlockEntity extends BlockEntity implements BlockEntity
public AnimationState powerOn = new AnimationState();
private boolean shouldSpawnControls = true;
private ResourceLocation consoleTheme;
+ private int ticksBooting = 0;
private ConsolePattern basePattern;
+ public int getTicksBooting() {
+ return ticksBooting;
+ }
+
+ public void setTicksBooting(int ticksBooting) {
+ this.ticksBooting = ticksBooting;
+ }
+
public GlobalConsoleBlockEntity(BlockPos blockPos, BlockState blockState) {
super(TRBlockEntityRegistry.GLOBAL_CONSOLE_BLOCK.get(), blockPos, blockState);
this.consoleTheme = ConsoleTheme.FACTORY.getId();
@@ -92,17 +102,35 @@ protected void saveAdditional(CompoundTag compoundTag) {
if (this.basePattern != null) {
compoundTag.putString(NbtConstants.PATTERN, basePattern.id().toString());
}
+
+ compoundTag.putInt("ticks_booting", ticksBooting);
}
@Override
public void load(CompoundTag tag) {
+ boolean needsDataFixed = false;
+
+ if (tag.contains("ticks_booting")) {
+ this.ticksBooting = tag.getInt("ticks_booting");
+ }
+
if (tag.contains(NbtConstants.THEME)) {
ResourceLocation themeId = new ResourceLocation(tag.getString(NbtConstants.THEME));
- this.consoleTheme = themeId;
+
+ ConsoleTheme theme = ConsoleTheme.CONSOLE_THEME_DEFERRED_REGISTRY.get(themeId);
+
+ if (theme == null) {
+ TardisRefined.LOGGER.info("The console theme: {} does not exist! Resetting Console Theme & Pattern at {}", themeId, getBlockPos());
+ needsDataFixed = true;
+ consoleTheme = theme();
+ } else {
+ this.consoleTheme = themeId;
+ }
}
- if (tag.contains(NbtConstants.PATTERN)) {
+
+ if (tag.contains(NbtConstants.PATTERN) && !needsDataFixed) {
ResourceLocation currentPattern = new ResourceLocation(tag.getString(NbtConstants.PATTERN));
ResourceLocation theme = this.theme();
if (ConsolePatterns.doesPatternExist(theme, currentPattern)) {
@@ -110,11 +138,13 @@ public void load(CompoundTag tag) {
}
}
+
+
if (this.consoleTheme == null) {
this.consoleTheme = this.theme();
}
- if (this.basePattern == null) {
+ if (this.basePattern == null || needsDataFixed) {
this.basePattern = this.pattern();
}
@@ -202,6 +232,14 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, GlobalCo
liveliness.start(12);
}
+ if(ticksBooting >= 1){
+ ticksBooting++;
+ }
+
+ if(ticksBooting == 20 * 2){
+ ticksBooting = 0;
+ }
+
if (level instanceof ServerLevel serverLevel) {
TardisLevelOperator.get(serverLevel).ifPresent(x -> {
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java
index 09d41814..974c0d27 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorBlockEntity.java
@@ -1,23 +1,39 @@
package whocraft.tardis_refined.common.blockentity.door;
import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.nbt.CompoundTag;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
+import net.minecraft.world.InteractionHand;
+import net.minecraft.world.InteractionResult;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level;
+import net.minecraft.world.level.block.BarrierBlock;
import net.minecraft.world.level.block.Block;
+import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.phys.AABB;
+import net.minecraft.world.phys.BlockHitResult;
+import whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock;
+import whocraft.tardis_refined.common.block.door.BulkHeadDoorExtensionBlock;
import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
+import whocraft.tardis_refined.registry.TRItemRegistry;
+import whocraft.tardis_refined.registry.TRSoundRegistry;
-import static whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock.LOCKED;
-import static whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock.OPEN;
+import static whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock.*;
public class BulkHeadDoorBlockEntity extends BlockEntity implements BlockEntityTicker {
+ private String doorName;
+
public BulkHeadDoorBlockEntity(BlockPos blockPos, BlockState blockState) {
super(TRBlockEntityRegistry.BULK_HEAD_DOOR.get(), blockPos, blockState);
}
@@ -36,7 +52,7 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, BulkHead
double centerZ = blockPos.getZ() + 0.5;
for (Entity entity : level.getEntitiesOfClass(Entity.class, new AABB(centerX - detectionRadius, centerY - detectionRadius, centerZ - detectionRadius, centerX + detectionRadius, centerY + detectionRadius, centerZ + detectionRadius))) {
- if (entity instanceof LivingEntity) {
+ if (entity instanceof LivingEntity && !entity.isCrouching()) {
toggleDoor(level, blockPos, blockState, true);
return;
}
@@ -56,10 +72,67 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, BulkHead
*/
public void toggleDoor(Level level, BlockPos blockPos, BlockState blockState, boolean isOpen) {
+ // Remove the old barrier blocks.
+ if (level.getBlockState(blockPos.above()).getBlock() instanceof BarrierBlock barrierBlock) {
+ BulkHeadDoorBlock.clearDoor(level, blockPos, blockState);
+ }
+
if (level.getBlockState(blockPos).hasProperty(OPEN) && level.getBlockState(blockPos).getValue(OPEN) != isOpen) {
level.playSound(null, blockPos, !isOpen ? SoundEvents.PISTON_EXTEND : SoundEvents.PISTON_CONTRACT, SoundSource.BLOCKS, 1, 1);
}
level.setBlock(blockPos, blockState.setValue(OPEN, isOpen), Block.UPDATE_CLIENTS);
}
+ public InteractionResult onRightClick(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) {
+ ItemStack itemInHand = player.getMainHandItem();
+
+ if (itemInHand.getItem() == TRItemRegistry.PATTERN_MANIPULATOR.get()) {
+ if (blockState.hasProperty(TYPE)) {
+ BlockState nextType = blockState.cycle(TYPE);
+ level.setBlock(blockPos, nextType, 3);
+ level.playSound(player, blockPos, TRSoundRegistry.PATTERN_MANIPULATOR.get(), SoundSource.BLOCKS, 1.0F, 1.0F);
+ return InteractionResult.SUCCESS;
+ }
+ }
+
+ if (itemInHand.getItem() == Items.NAME_TAG) {
+ this.doorName = itemInHand.getDisplayName().getString();
+ sendUpdates();
+ }
+
+
+ return InteractionResult.SUCCESS;
+ }
+
+ public void sendUpdates() {
+ level.sendBlockUpdated(this.getBlockPos(), level.getBlockState(this.getBlockPos()), level.getBlockState(this.getBlockPos()), Block.UPDATE_CLIENTS);
+ setChanged();
+ }
+
+ public CompoundTag getUpdateTag() {
+ CompoundTag tag = super.getUpdateTag();
+ saveAdditional(tag);
+ return tag;
+ }
+
+ @Override
+ protected void saveAdditional(CompoundTag compoundTag) {
+
+ if (doorName != null) {
+ compoundTag.putString("bulkhead_door_name", doorName);
+ }
+
+
+ super.saveAdditional(compoundTag);
+ }
+
+ @Override
+ public void load(CompoundTag compoundTag) {
+ doorName = compoundTag.getString("bulkhead_door_name");
+ super.load(compoundTag);
+ }
+
+ public String getDoorName() {
+ return doorName;
+ }
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorExtensionBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorExtensionBlockEntity.java
new file mode 100644
index 00000000..8f11d2dc
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/BulkHeadDoorExtensionBlockEntity.java
@@ -0,0 +1,88 @@
+package whocraft.tardis_refined.common.blockentity.door;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.nbt.NbtUtils;
+import net.minecraft.world.InteractionHand;
+import net.minecraft.world.InteractionResult;
+import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.state.BlockState;
+import net.minecraft.world.phys.BlockHitResult;
+import whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock;
+import whocraft.tardis_refined.constants.NbtConstants;
+import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
+
+public class BulkHeadDoorExtensionBlockEntity extends BlockEntity {
+
+ private BlockPos masterDoorBlockPos;
+ private BulkHeadDoorBlockEntity masterDoorBlockEntity;
+
+ public BulkHeadDoorExtensionBlockEntity(BlockPos blockPos, BlockState blockState) {
+ super(TRBlockEntityRegistry.BULK_HEAD_DOOR_EXT.get(), blockPos, blockState);
+ }
+
+ @Override
+ protected void saveAdditional(CompoundTag compoundTag) {
+ super.saveAdditional(compoundTag);
+
+ if (masterDoorBlockPos != null) {
+ compoundTag.put(NbtConstants.MASTER_DOOR, NbtUtils.writeBlockPos(this.masterDoorBlockPos));
+ }
+
+ }
+
+ @Override
+ public void load(CompoundTag compoundTag) {
+ CompoundTag entityLocation = compoundTag.getCompound(NbtConstants.MASTER_DOOR);
+ if (entityLocation != null) {
+ this.masterDoorBlockPos = NbtUtils.readBlockPos(entityLocation);
+ }
+
+ super.load(compoundTag);
+
+ }
+
+ public BulkHeadDoorBlockEntity getMasterDoorBlockEntity() {
+ if (this.masterDoorBlockEntity == null && this.masterDoorBlockPos != null) {
+ // FETCH
+ if (this.getLevel().getBlockEntity(this.masterDoorBlockPos) instanceof BulkHeadDoorBlockEntity bulkHeadDoorBlockEntity) {
+ this.masterDoorBlockEntity = bulkHeadDoorBlockEntity;
+ return this.masterDoorBlockEntity;
+ }
+
+ }
+
+ if (this.masterDoorBlockEntity != null && this.masterDoorBlockPos != null) {
+ return this.masterDoorBlockEntity;
+ }
+
+ return null;
+
+ }
+
+ public void setMasterDoorBlock(BulkHeadDoorBlockEntity entity) {
+ this.masterDoorBlockEntity = entity;
+ this.masterDoorBlockPos = entity.getBlockPos();
+ }
+
+ public InteractionResult onRightClick(BlockState blockState, Level level, BlockPos blockPos, Player player, InteractionHand interactionHand, BlockHitResult blockHitResult) {
+
+ BulkHeadDoorBlockEntity masterBlockEntity = getMasterDoorBlockEntity();
+
+ if (masterBlockEntity != null) {
+ masterBlockEntity.onRightClick(masterBlockEntity.getBlockState(), level, masterBlockEntity.getBlockPos(), player, interactionHand, blockHitResult);
+ }
+
+ return InteractionResult.SUCCESS;
+ }
+
+ public void onDestroy(Level level, BlockPos blockPos, BlockState blockState) {
+ if (getMasterDoorBlockEntity() != null) {
+ BulkHeadDoorBlock.clearDoor(level, this.masterDoorBlockPos, this.masterDoorBlockEntity.getBlockState());
+ this.getLevel().destroyBlock(this.masterDoorBlockPos, true);
+ }
+ }
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/GlobalDoorBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/GlobalDoorBlockEntity.java
index b014cdc6..85cd7ee5 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/GlobalDoorBlockEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/door/GlobalDoorBlockEntity.java
@@ -9,15 +9,11 @@
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource;
-import net.minecraft.world.entity.LivingEntity;
-import net.minecraft.world.entity.animal.Wolf;
-import net.minecraft.world.entity.npc.Villager;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.entity.BlockEntityTicker;
import net.minecraft.world.level.block.state.BlockState;
-import net.minecraft.world.phys.AABB;
import org.jetbrains.annotations.Nullable;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
@@ -27,8 +23,6 @@
import whocraft.tardis_refined.patterns.sound.ConfiguredSound;
import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
-import java.util.List;
-
public class GlobalDoorBlockEntity extends InternalDoorBlockEntity implements BlockEntityTicker {
private ResourceLocation shellTheme = ShellTheme.HALF_BAKED.getId();
@@ -178,7 +172,7 @@ public void playDoorLockedSound(boolean lockDoor) {
@Override
public void tick(Level level, BlockPos blockPos, BlockState blockState, InternalDoorBlockEntity blockEntity) {
- if (level instanceof ServerLevel serverLevel) {
+ /* if (level instanceof ServerLevel serverLevel) {
TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> {
if (blockEntity.isOpen() && tardisLevelOperator.getPilotingManager().isInFlight()) {
int throttleStage = tardisLevelOperator.getPilotingManager().getThrottleStage();
@@ -209,7 +203,7 @@ public void tick(Level level, BlockPos blockPos, BlockState blockState, Internal
}
}
});
- }
+ }*/
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ZeitonGlassBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ZeitonGlassBlockEntity.java
new file mode 100644
index 00000000..5ed45447
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/life/ZeitonGlassBlockEntity.java
@@ -0,0 +1,27 @@
+package whocraft.tardis_refined.common.blockentity.life;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.minecraft.world.level.block.state.BlockState;
+import whocraft.tardis_refined.client.ZeitonGlassTracker;
+import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
+
+public class ZeitonGlassBlockEntity extends BlockEntity {
+ public ZeitonGlassBlockEntity(BlockPos blockPos, BlockState blockState) {
+ super(TRBlockEntityRegistry.ZEITON_GLASS.get(), blockPos, blockState);
+ }
+
+ @Override
+ public void setRemoved() {
+ super.setRemoved();
+ if (level != null && level.isClientSide()) {
+ ZeitonGlassTracker.onUnload(this);
+ }
+ }
+
+ @Override
+ public void load(CompoundTag compoundTag) {
+ super.load(compoundTag);
+ }
+}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ExteriorShell.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ExteriorShell.java
index 21df34a5..ce201568 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ExteriorShell.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ExteriorShell.java
@@ -3,15 +3,13 @@
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.Level;
import whocraft.tardis_refined.common.blockentity.TardisDoorProperties;
-import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
+import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
public interface ExteriorShell extends TardisDoorProperties {
- DesktopTheme getAssociatedTheme();
-
ResourceKey getTardisId();
void setTardisId(ResourceKey levelKey);
-
+ boolean isInvalidTardis(TardisLevelOperator tardisLevelOperator);
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/GlobalShellBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/GlobalShellBlockEntity.java
index 76c4765d..84b0e191 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/GlobalShellBlockEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/GlobalShellBlockEntity.java
@@ -22,13 +22,13 @@
import whocraft.tardis_refined.common.tardis.manager.AestheticHandler;
import whocraft.tardis_refined.common.tardis.manager.TardisExteriorManager;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
-import whocraft.tardis_refined.patterns.sound.ConfiguredSound;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
import whocraft.tardis_refined.common.util.PlayerUtil;
import whocraft.tardis_refined.constants.ModMessages;
import whocraft.tardis_refined.constants.NbtConstants;
import whocraft.tardis_refined.patterns.ShellPattern;
import whocraft.tardis_refined.patterns.ShellPatterns;
+import whocraft.tardis_refined.patterns.sound.ConfiguredSound;
import whocraft.tardis_refined.patterns.sound.TRShellSoundProfiles;
import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
@@ -39,7 +39,6 @@ public class GlobalShellBlockEntity extends ShellBaseBlockEntity {
private ResourceLocation shellTheme;
private ShellPattern basePattern;
-
public GlobalShellBlockEntity(BlockPos blockPos, BlockState blockState) {
super(TRBlockEntityRegistry.GLOBAL_SHELL_BLOCK.get(), blockPos, blockState);
this.shellTheme = ShellTheme.HALF_BAKED.getId();
@@ -99,6 +98,7 @@ public void load(CompoundTag pTag) {
if (this.basePattern == null) {
this.basePattern = pattern();
}
+
}
@Override
@@ -141,16 +141,21 @@ public boolean onRightClick(BlockState blockState, ItemStack stack, Level level,
}
boolean validKey = KeyItem.keychainContains(stack, TARDIS_ID);
+ boolean locked = exteriorManager.locked();
if (validKey) {
- boolean locked = !exteriorManager.locked();
- tardisLevelOperator.setDoorLocked(locked);
- tardisLevelOperator.setDoorClosed(locked);
- PlayerUtil.sendMessage(player, Component.translatable(locked ? ModMessages.DOOR_LOCKED : ModMessages.DOOR_UNLOCKED), true);
+ tardisLevelOperator.setDoorLocked(!locked);
+ tardisLevelOperator.setDoorClosed(!locked);
+ PlayerUtil.sendMessage(player, Component.translatable(exteriorManager.locked() ? ModMessages.DOOR_LOCKED : ModMessages.DOOR_UNLOCKED), true);
return true;
+ } else {
+ if(locked) {
+ PlayerUtil.sendMessage(player, Component.translatable(ModMessages.DOOR_LOCKED), true);
+ return true;
+ }
}
if (!exteriorManager.locked()) { //If the Tardis thinks it is not locked, open this shell's door
- level.setBlock(blockPos, blockState.setValue(GlobalShellBlock.OPEN, !exteriorManager.locked()), Block.UPDATE_ALL); //Cycle the door to open/closed
+ level.setBlock(blockPos, blockState.cycle(GlobalShellBlock.OPEN), Block.UPDATE_ALL); //Cycle the door to open/closed
tardisLevelOperator.setDoorClosed(blockState.getValue(GlobalShellBlock.OPEN)); //Now update both the internal door and re-update the external shell for good measure too.
return true;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/RootedShellBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/RootedShellBlockEntity.java
index 021debde..54a30cbe 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/RootedShellBlockEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/RootedShellBlockEntity.java
@@ -12,11 +12,9 @@
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.dimension.DimensionHandler;
-import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.tardis.TardisNavLocation;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
-import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
-import whocraft.tardis_refined.common.util.Platform;
+import whocraft.tardis_refined.common.util.DimensionUtil;
import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
import java.util.UUID;
@@ -30,11 +28,6 @@ public RootedShellBlockEntity(BlockPos blockPos, BlockState blockState) {
super(TRBlockEntityRegistry.ROOT_SHELL.get(), blockPos, blockState);
}
- @Override
- public DesktopTheme getAssociatedTheme() {
- return TardisDesktops.DEFAULT_OVERGROWN_THEME;
- }
-
@Override
public void playDoorCloseSound(boolean closeDoor) {
//Leave blank
@@ -88,7 +81,7 @@ private void setUpTardis(BlockState blockState, Level level, BlockPos blockPos)
serverLevel.playSound(null, blockPos, SoundEvents.SHEEP_SHEAR, SoundSource.BLOCKS, 1, 1);
});
} else {
- ServerLevel tardisLevel = Platform.getServer().getLevel(getTardisId());
+ ServerLevel tardisLevel = DimensionUtil.getLevel(getTardisId());
TardisLevelOperator.get(tardisLevel).ifPresent(tardisLevelOperator -> {
//Always open the root shell doors when this method is called to ensure that the player isn't softlocked by the early return of InteractionResult that occurs if the player isn't using shears.
tardisLevelOperator.setDoorClosed(false);
diff --git a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java
index 354bc00b..698da873 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/blockentity/shell/ShellBaseBlockEntity.java
@@ -28,11 +28,9 @@
import whocraft.tardis_refined.common.capability.tardis.upgrades.UpgradeHandler;
import whocraft.tardis_refined.registry.TRUpgrades;
import whocraft.tardis_refined.common.dimension.DimensionHandler;
-import whocraft.tardis_refined.common.tardis.TardisDesktops;
-import whocraft.tardis_refined.common.tardis.TardisNavLocation;
+import whocraft.tardis_refined.common.tardis.manager.AestheticHandler;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
-import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
-import whocraft.tardis_refined.common.util.Platform;
+import whocraft.tardis_refined.common.util.DimensionUtil;
import whocraft.tardis_refined.common.util.PlayerUtil;
import whocraft.tardis_refined.compat.ModCompatChecker;
import whocraft.tardis_refined.compat.portals.ImmersivePortals;
@@ -43,9 +41,9 @@
public abstract class ShellBaseBlockEntity extends BlockEntity implements ExteriorShell, BlockEntityTicker {
- private final int DUPLICATION_CHECK_TIME = 1200; // A minute
public AnimationState liveliness = new AnimationState();
protected ResourceKey TARDIS_ID;
+ private boolean hasPotentialToBeRemoved = false;
public ShellBaseBlockEntity(BlockEntityType> blockEntityType, BlockPos blockPos, BlockState blockState) {
super(blockEntityType, blockPos, blockState);
@@ -68,8 +66,27 @@ public void load(CompoundTag pTag) {
super.load(pTag);
if (pTag.contains(NbtConstants.TARDIS_ID))
this.TARDIS_ID = ResourceKey.create(Registries.DIMENSION, new ResourceLocation(pTag.getString(NbtConstants.TARDIS_ID)));
+ updateCurrentLocation();
}
+ @Override
+ public void setLevel(Level level) {
+ super.setLevel(level);
+ updateCurrentLocation();
+ }
+
+ private void updateCurrentLocation() {
+ if (this.getLevel() instanceof ServerLevel serverLevel) {
+ ServerLevel interior = serverLevel.getServer().getLevel(this.TARDIS_ID);
+ TardisLevelOperator.get(interior).ifPresent(cap -> {
+ cap.getPilotingManager().setCurrentLocationOnNextTick(this);
+ hasPotentialToBeRemoved = true;
+ });
+ }
+ }
+
+
+
@Override
public CompoundTag getUpdateTag() {
CompoundTag tag = this.saveWithFullMetadata();
@@ -113,10 +130,11 @@ public void onAttemptEnter(BlockState blockState, Level level, BlockPos external
TardisLevelOperator.get(interior).ifPresent(cap -> {
UpgradeHandler upgradeHandler = cap.getUpgradeHandler();
+ AestheticHandler aesthetics = cap.getAestheticHandler();
if (cap.isTardisReady() && (blockState.getValue(ShellBaseBlock.OPEN) || (cap.getPilotingManager().isLanding() && TRUpgrades.MATERIALIZE_AROUND.get().isUnlocked(upgradeHandler)))) {
- if (cap.getAestheticHandler().getShellTheme() != null) {
- ResourceLocation theme = cap.getAestheticHandler().getShellTheme();
+ if (aesthetics.getShellTheme() != null) {
+ ResourceLocation theme = aesthetics.getShellTheme();
if (ModCompatChecker.immersivePortals()) {
if (ImmersivePortals.isShellThemeSupported(theme) && ImmersivePortals.doPortalsExistForTardis(UUID.fromString(TARDIS_ID.location().getPath()))) {
@@ -136,37 +154,20 @@ public void onAttemptEnter(BlockState blockState, Level level, BlockPos external
}
- @Override
- public DesktopTheme getAssociatedTheme() {
- return TardisDesktops.FACTORY_THEME;
- }
-
@Override
public void tick(Level level, BlockPos blockPos, BlockState blockState, ShellBaseBlockEntity blockEntity) {
- if (level.getGameTime() % DUPLICATION_CHECK_TIME == 0 && !level.isClientSide) {
+ if (!level.isClientSide) {
ResourceKey tardisId = getTardisId();
if (tardisId == null) return;
- ServerLevel tardisLevel = Platform.getServer().getLevel(tardisId);
- BlockPos myCurrentPosition = getBlockPos();
+ ServerLevel tardisLevel = DimensionUtil.getLevel(tardisId);
TardisLevelOperator.get(tardisLevel).ifPresent(tardisLevelOperator -> {
-
- TardisPilotingManager pilotingManager = tardisLevelOperator.getPilotingManager();
-
- BlockPos currentLocation = pilotingManager.getCurrentLocation().getPosition();
- BlockPos wantedDestination = pilotingManager.getTargetLocation().getPosition();
-
-
- if (currentLocation == null) {
- Direction direction = blockState.getValue(ShellBaseBlock.FACING);
- ServerLevel serverLevel = Platform.getServer().getLevel(level.dimension());
- pilotingManager.setCurrentLocation(new TardisNavLocation(getBlockPos(), direction != null ? direction : Direction.NORTH, serverLevel));
- }
-
- if (!myCurrentPosition.equals(currentLocation) && !myCurrentPosition.equals(wantedDestination)) {
- level.removeBlock(myCurrentPosition, false);
+ if(!tardisLevelOperator.getPilotingManager().isInFlight()) {
+ if (isInvalidTardis(tardisLevelOperator)) {
+ BlockPos myCurrentPosition = getBlockPos();
+ level.removeBlock(myCurrentPosition, false);
+ }
}
-
});
}
}
@@ -238,4 +239,15 @@ public void playDoorLockedSound(boolean lockDoor) {
Level currentLevel = getLevel();
currentLevel.playSound(null, this.getBlockPos(), lockDoor ? BlockSetType.IRON.doorClose() : BlockSetType.IRON.doorOpen(), SoundSource.BLOCKS, 1, lockDoor ? 1.4F : 1F);
}
+
+ @Override
+ public boolean isInvalidTardis(TardisLevelOperator tardisLevelOperator) {
+ BlockPos myPosition = getBlockPos();
+ TardisPilotingManager pilotingManager = tardisLevelOperator.getPilotingManager();
+
+ BlockPos currentLocation = pilotingManager.getCurrentLocation().getPosition();
+ BlockPos wantedDestination = pilotingManager.getTargetLocation().getPosition();
+
+ return hasPotentialToBeRemoved && !myPosition.equals(currentLocation) && !myPosition.equals(wantedDestination);
+ }
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPilot.java b/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPilot.java
index 8d335c64..297f9d41 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPilot.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPilot.java
@@ -14,9 +14,9 @@ public interface TardisPilot {
void updatePlayerAbilities(ServerPlayer player, Abilities abilities, boolean isWatcher);
- void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget, boolean timeVortex);
+ void startShellView(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget, boolean timeVortex);
- void endPlayerForInspection(ServerPlayer serverPlayer);
+ void endShellView(ServerPlayer serverPlayer);
UUID getViewedTardis();
diff --git a/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPlayerInfo.java b/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPlayerInfo.java
index 1625870c..1de826c9 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPlayerInfo.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/capability/player/TardisPlayerInfo.java
@@ -5,21 +5,19 @@
import net.minecraft.core.Direction;
import net.minecraft.core.Vec3i;
import net.minecraft.nbt.CompoundTag;
-import net.minecraft.network.protocol.game.ClientboundPlayerPositionPacket;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.entity.LivingEntity;
-import net.minecraft.world.entity.RelativeMovement;
import net.minecraft.world.entity.player.Abilities;
import net.minecraft.world.entity.player.Player;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
-import whocraft.tardis_refined.common.dimension.TardisTeleportData;
import whocraft.tardis_refined.common.network.messages.player.C2SExitTardisView;
import whocraft.tardis_refined.common.network.messages.player.S2CResetPostShellView;
import whocraft.tardis_refined.common.network.messages.sync.S2CSyncTardisPlayerView;
import whocraft.tardis_refined.common.tardis.TardisNavLocation;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
+import whocraft.tardis_refined.common.util.DimensionUtil;
import whocraft.tardis_refined.common.util.Platform;
-import whocraft.tardis_refined.common.util.TardisHelper;
+import whocraft.tardis_refined.common.util.TRTeleporter;
import javax.annotation.Nullable;
import java.util.Objects;
@@ -50,7 +48,7 @@ public static void updateTardisForAllPlayers(TardisLevelOperator tardisLevelOper
TardisPlayerInfo.get(serverPlayer).ifPresent(tardisPlayerInfo -> {
if (tardisPlayerInfo.isViewingTardis()) {
if (Objects.equals(tardisPlayerInfo.getViewedTardis().toString(), UUID.fromString(tardisLevelOperator.getLevelKey().location().getPath()).toString())) {
- tardisPlayerInfo.setupPlayerForInspection(serverPlayer, tardisLevelOperator, tardisNavLocation, timeVortex);
+ tardisPlayerInfo.startShellView(serverPlayer, tardisLevelOperator, tardisNavLocation, timeVortex);
}
}
});
@@ -90,7 +88,7 @@ public void updatePlayerAbilities(ServerPlayer player, Abilities abilities, bool
}
@Override
- public void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget, boolean timeVortex) {
+ public void startShellView(ServerPlayer serverPlayer, TardisLevelOperator tardisLevelOperator, TardisNavLocation spectateTarget, boolean timeVortex) {
// Set the player's viewed TARDIS UUID
UUID uuid = UUID.fromString(tardisLevelOperator.getLevelKey().location().getPath());
@@ -105,10 +103,10 @@ public void setupPlayerForInspection(ServerPlayer serverPlayer, TardisLevelOpera
if (spectateTarget != null) {
- TardisNavLocation sourceLocation = tardisLevelOperator.getPilotingManager().getCurrentLocation();
+ BlockPos spectatePos = spectateTarget.getPosition();
if (spectateTarget.getPosition().distManhattan(new Vec3i((int) player.position().x, (int) player.position().y, (int) player.position().z)) > 3 || !player.level().dimension().location().toString().equals(spectateTarget.getDimensionKey().location().toString())) {
- TardisHelper.teleportEntityTardis(tardisLevelOperator, player, sourceLocation, spectateTarget, false);
+ TRTeleporter.simpleTeleport(player, spectateTarget.getLevel(), spectatePos.getX() + 0.5, spectatePos.getY(), spectatePos.getZ() + 0.5, playerPreviousRot, playerPreviousYaw);
}
updatePlayerAbilities(serverPlayer, serverPlayer.getAbilities(), true);
setRenderVortex(timeVortex);
@@ -127,23 +125,8 @@ public void setPlayerPreviousPos(TardisNavLocation playerPreviousPos) {
this.playerPreviousPos = playerPreviousPos;
}
- @Override
- public void endPlayerForInspection(ServerPlayer serverPlayer) {
- if (!isViewingTardis()) return;
- BlockPos targetPosition = getPlayerPreviousPos().getPosition();
-
- TardisTeleportData.scheduleEntityTeleport(serverPlayer, getPlayerPreviousPos().getDimensionKey(), targetPosition.getX(), targetPosition.getY(), targetPosition.getZ(), playerPreviousYaw, playerPreviousRot);
- updatePlayerAbilities(serverPlayer, serverPlayer.getAbilities(), false);
- serverPlayer.onUpdateAbilities();
- new S2CResetPostShellView().send(serverPlayer);
-
- setPlayerPreviousPos(TardisNavLocation.ORIGIN);
- setRenderVortex(false);
- // Clear the viewed TARDIS UUID
- setViewedTardis(null);
-
- syncToClients(null);
-
+ public static void onExitKeybindPressed() {
+ new C2SExitTardisView().send();
}
@Override
@@ -213,6 +196,25 @@ public Player getPlayer() {
return player;
}
+ @Override
+ public void endShellView(ServerPlayer serverPlayer) {
+ if (!isViewingTardis()) return;
+ BlockPos targetPosition = getPlayerPreviousPos().getPosition();
+
+ TRTeleporter.simpleTeleport(serverPlayer, DimensionUtil.getLevel(getPlayerPreviousPos().getDimensionKey()), targetPosition.getX() + 0.5, targetPosition.getY(), targetPosition.getZ() + 0.5, playerPreviousYaw, playerPreviousRot);
+ updatePlayerAbilities(serverPlayer, serverPlayer.getAbilities(), false);
+ serverPlayer.onUpdateAbilities();
+ new S2CResetPostShellView().send(serverPlayer);
+
+ setPlayerPreviousPos(TardisNavLocation.ORIGIN);
+ setRenderVortex(false);
+ // Clear the viewed TARDIS UUID
+ setViewedTardis(null);
+
+ syncToClients(null);
+
+ }
+
@Override
public void syncToClients(@Nullable ServerPlayer serverPlayerEntity) {
if (player != null && player.level().isClientSide)
@@ -228,10 +230,6 @@ public void syncToClients(@Nullable ServerPlayer serverPlayerEntity) {
}
}
- public static void onExitKeybindPressed(){
- new C2SExitTardisView().send();
- }
-
@Override
public void tick(TardisLevelOperator tardisLevelOperator, ServerPlayer serverPlayerEntity) {
TardisPilotingManager pilotManger = tardisLevelOperator.getPilotingManager();
diff --git a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/TardisLevelOperator.java b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/TardisLevelOperator.java
index 20b794b5..690b60b2 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/TardisLevelOperator.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/TardisLevelOperator.java
@@ -24,16 +24,16 @@
import whocraft.tardis_refined.common.blockentity.door.RootShellDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.door.TardisInternalDoor;
import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity;
+import whocraft.tardis_refined.common.blockentity.shell.ShellBaseBlockEntity;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
import whocraft.tardis_refined.common.capability.tardis.upgrades.UpgradeHandler;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.blockentity.shell.ExteriorShell;
import whocraft.tardis_refined.common.tardis.TardisArchitectureHandler;
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.tardis.TardisNavLocation;
import whocraft.tardis_refined.common.tardis.manager.*;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
-import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.common.util.TardisHelper;
import whocraft.tardis_refined.compat.ModCompatChecker;
import whocraft.tardis_refined.compat.portals.ImmersivePortals;
@@ -41,6 +41,7 @@
import whocraft.tardis_refined.patterns.ShellPattern;
import whocraft.tardis_refined.patterns.ShellPatterns;
import whocraft.tardis_refined.registry.TRBlockRegistry;
+import whocraft.tardis_refined.registry.TRDimensionTypes;
import java.util.Optional;
import java.util.UUID;
@@ -282,7 +283,7 @@ public boolean exitTardis(Entity entity, ServerLevel doorLevel, BlockPos doorPos
if (aestheticHandler.getShellTheme() != null) {
ResourceLocation theme = aestheticHandler.getShellTheme();
if (ModCompatChecker.immersivePortals() && !(this.internalDoor instanceof RootShellDoorBlockEntity)) {
- if (!ignoreDoor && ImmersivePortals.isShellThemeSupported(theme) && ImmersivePortals.doPortalsExistForTardis(UUID.fromString(doorLevel.dimension().location().getPath()))) {
+ if (!ignoreDoor && level.dimensionTypeId() == TRDimensionTypes.TARDIS && ImmersivePortals.isShellThemeSupported(theme) && ImmersivePortals.doPortalsExistForTardis(UUID.fromString(doorLevel.dimension().location().getPath()))) {
return false;
}
}
@@ -572,6 +573,7 @@ public TardisPilotingManager getPilotingManager() {
return this.pilotingManager;
}
+
public TardisWaypointManager getTardisWaypointManager() {
return tardisWaypointManager;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/UpgradeHandler.java b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/UpgradeHandler.java
index f6e64d90..82b6b3f2 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/UpgradeHandler.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/capability/tardis/upgrades/UpgradeHandler.java
@@ -24,7 +24,7 @@ public class UpgradeHandler {
public static final int XP_PER_UPGRADE_POINT = 50;
@NotNull
- private final TardisLevelOperator tardisLevelOperator;
+ private TardisLevelOperator tardisLevelOperator;
private final List unlockedUpgrades = new ArrayList<>();
private int upgradeXP = 0;
private int upgradePoints = 0;
@@ -34,6 +34,8 @@ public UpgradeHandler(@NotNull TardisLevelOperator tardisLevelOperator) {
this.tardisLevelOperator = tardisLevelOperator;
}
+ public UpgradeHandler() {}
+
public double calculateProgress() {
int totalUpgrades = TRUpgrades.UPGRADE_DEFERRED_REGISTRY.getRegistry().get().size();
int unlockedCount = unlockedUpgrades.size();
diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingIngredient.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingIngredient.java
index f07fad68..d31be12d 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingIngredient.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingIngredient.java
@@ -3,9 +3,14 @@
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
import net.minecraft.core.BlockPos;
+import net.minecraft.core.registries.Registries;
+import net.minecraft.tags.TagKey;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.state.BlockState;
+import javax.annotation.Nullable;
+import java.util.Optional;
+
/**
* Main ingredient object for a ManipulatorCraftingRecipe.
**/
@@ -23,6 +28,8 @@ public class ManipulatorCraftingIngredient {
// The block state that must exist at that position.
private BlockState blockState;
+ private Optional> blockTagKey;
+
public ManipulatorCraftingIngredient(BlockPos pos, Block block) {
this(pos, block.defaultBlockState());
}
@@ -42,7 +49,9 @@ public boolean IsSameAs(ManipulatorCraftingIngredient compared) {
if (!compared.blockState.is(this.blockState.getBlock())) {
return false;
}
- return this.relativeBlockPos.getX() == compared.relativeBlockPos.getX() && this.relativeBlockPos.getY() == compared.relativeBlockPos.getY() && this.relativeBlockPos.getZ() == compared.relativeBlockPos.getZ();
+ return this.relativeBlockPos.getX() == compared.relativeBlockPos.getX() &&
+ this.relativeBlockPos.getY() == compared.relativeBlockPos.getY() &&
+ this.relativeBlockPos.getZ() == compared.relativeBlockPos.getZ();
}
/**
@@ -56,4 +65,3 @@ public BlockState inputBlockState() {
return this.blockState;
}
}
-
diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipeSerializer.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipeSerializer.java
index ab3b87f2..cb76c849 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipeSerializer.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorCraftingRecipeSerializer.java
@@ -6,6 +6,8 @@
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.crafting.RecipeSerializer;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
/**
@@ -16,6 +18,9 @@ public class ManipulatorCraftingRecipeSerializer implements RecipeSerializer codec() {
@Override
public ManipulatorCraftingRecipe fromNetwork(FriendlyByteBuf friendlyByteBuf) {
- ManipulatorCraftingRecipe recipe = ManipulatorCraftingRecipe.CODEC.parse(NbtOps.INSTANCE, friendlyByteBuf.readNbt()).resultOrPartial(TardisRefined.LOGGER::error).get();
+ ManipulatorCraftingRecipe recipe = ManipulatorCraftingRecipe.CODEC.parse(NbtOps.INSTANCE, friendlyByteBuf.readNbt()).resultOrPartial(LOGGER::error).get();
return recipe;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorRecipes.java b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorRecipes.java
index 96be72b0..a3abda96 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorRecipes.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/crafting/astral_manipulator/ManipulatorRecipes.java
@@ -8,9 +8,6 @@
import net.minecraft.world.level.block.piston.PistonBaseBlock;
import net.minecraft.world.level.block.state.properties.AttachFace;
import net.minecraft.world.level.block.state.properties.SlabType;
-import net.minecraft.world.level.block.Blocks;
-import net.minecraft.world.level.block.DirectionalBlock;
-import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.registry.TRBlockRegistry;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/dimension/DimensionHandler.java b/common/src/main/java/whocraft/tardis_refined/common/dimension/DimensionHandler.java
index 99206158..646d7269 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/dimension/DimensionHandler.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/dimension/DimensionHandler.java
@@ -13,12 +13,16 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.dimension.LevelStem;
import net.minecraft.world.level.storage.LevelStorageSource;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.common.util.PlatformWarning;
import whocraft.tardis_refined.common.world.ChunkGenerators;
import whocraft.tardis_refined.common.world.chunk.TardisChunkGenerator;
import whocraft.tardis_refined.compat.ModCompatChecker;
import whocraft.tardis_refined.compat.portals.ImmersivePortals;
import whocraft.tardis_refined.mixin.MinecraftServerStorageAccessor;
+import whocraft.tardis_refined.registry.DeferredRegistry;
import whocraft.tardis_refined.registry.TRDimensionTypes;
import javax.annotation.Nullable;
@@ -42,6 +46,9 @@ public class DimensionHandler {
public static ArrayList> LEVELS = new ArrayList<>();
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/DimensionHandler");
+
+
public static void addDimension(ResourceKey resourceKey) {
LEVELS.add(resourceKey);
writeLevels();
@@ -66,7 +73,7 @@ private static void writeLevels() {
jsonObject.add("tardis_dimensions", dimensions);
- TardisRefined.LOGGER.info("Writing {} to: {}", dimensions, file.getAbsolutePath());
+ LOGGER.info("Writing {} to: {}", dimensions, file.getAbsolutePath());
try (FileWriter writer = new FileWriter(file)) {
TardisRefined.GSON.toJson(jsonObject, writer);
@@ -109,15 +116,15 @@ public static void loadLevels(ServerLevel serverLevel) {
JsonObject jsonObject = TardisRefined.GSON.fromJson(reader, JsonObject.class);
for (JsonElement dimension : jsonObject.get("tardis_dimensions").getAsJsonArray()) {
- TardisRefined.LOGGER.info("Attempting to load {}", dimension.getAsString());
+ LOGGER.info("Attempting to load {}", dimension.getAsString());
ResourceLocation id = new ResourceLocation(dimension.getAsString());
ResourceKey levelKey = ResourceKey.create(Registries.DIMENSION, id);
if (getExistingLevel(serverLevel, levelKey) == null) {
- TardisRefined.LOGGER.warn("Level {} not found! Creating new level instance", dimension.getAsString());
+ LOGGER.warn("Level {} not found! Creating new level instance", dimension.getAsString());
if (DimensionHandler.getOrCreateInterior(serverLevel, id) != null)
- TardisRefined.LOGGER.warn("Successfully created and loaded new level {}", dimension.getAsString());
+ LOGGER.warn("Successfully created and loaded new level {}", dimension.getAsString());
} else {
- TardisRefined.LOGGER.info("Successfully loaded existing level {}", dimension.getAsString());
+ LOGGER.info("Successfully loaded existing level {}", dimension.getAsString());
}
}
@@ -129,7 +136,7 @@ public static void loadLevels(ServerLevel serverLevel) {
@ExpectPlatform
public static ServerLevel createDimension(Level level, ResourceKey id) {
- throw new AssertionError(TardisRefined.PLATFORM_ERROR);
+ throw new RuntimeException(PlatformWarning.addWarning(DimensionHandler.class));
}
public static LevelStem formLevelStem(MinecraftServer server, ResourceKey stem) {
diff --git a/common/src/main/java/whocraft/tardis_refined/common/items/KeyItem.java b/common/src/main/java/whocraft/tardis_refined/common/items/KeyItem.java
index 6090f2f9..b488ab27 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/items/KeyItem.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/items/KeyItem.java
@@ -29,6 +29,7 @@
import whocraft.tardis_refined.common.entity.ControlEntity;
import whocraft.tardis_refined.common.tardis.TardisNavLocation;
import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
+import whocraft.tardis_refined.common.util.DimensionUtil;
import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.common.util.PlayerUtil;
import whocraft.tardis_refined.constants.ModMessages;
@@ -129,16 +130,17 @@ public Component getName(ItemStack itemStack) {
@Override
public InteractionResultHolder use(Level level, Player player, InteractionHand interactionHand) {
- // Whistle Easter Egg: https://youtu.be/IqQsL79UpMs?t=526
- if (player.getOffhandItem().is(Items.GOAT_HORN) && !level.isClientSide) {
+ // Whistle Easter Egg for InDev: https://youtu.be/IqQsL79UpMs?t=526
+ boolean canUseWhistle = "96511168-1bb3-4ff0-a894-271e42606a39".equals(player.getStringUUID()) || Platform.isProduction();
+ if (player.getOffhandItem().is(Items.GOAT_HORN) && !level.isClientSide && canUseWhistle) {
ArrayList> keychain = KeyItem.getKeychain(player.getMainHandItem());
if (!keychain.isEmpty()) {
- var tardisLevel = Platform.getServer().getLevel(keychain.get(0));
+ var tardisLevel = DimensionUtil.getLevel(keychain.get(0));
var operatorOptional = TardisLevelOperator.get(tardisLevel);
var pilotManager = operatorOptional.get().getPilotingManager();
if (!operatorOptional.get().getPilotingManager().isInRecovery()) {
pilotManager.setTargetLocation(new TardisNavLocation(player.blockPosition(), player.getDirection().getOpposite(), (ServerLevel) player.level()));
- pilotManager.beginFlight(true, null);
+ pilotManager.beginFlight(true);
}
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/items/ScrewdriverItem.java b/common/src/main/java/whocraft/tardis_refined/common/items/ScrewdriverItem.java
index 997845f2..5fce6dc3 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/items/ScrewdriverItem.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/items/ScrewdriverItem.java
@@ -12,6 +12,7 @@
import net.minecraft.world.item.*;
import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.Level;
+import net.minecraft.world.level.block.Block;
import org.jetbrains.annotations.Nullable;
import whocraft.tardis_refined.common.blockentity.device.AstralManipulatorBlockEntity;
import whocraft.tardis_refined.common.util.PlayerUtil;
@@ -48,6 +49,7 @@ public int getColor(ItemStack itemStack) {
@Override
public InteractionResult useOn(UseOnContext context) {
+
if (!(context.getLevel() instanceof ServerLevel serverLevel)) {
return super.useOn(context);
}
@@ -95,7 +97,11 @@ public void setScrewdriverMode(Player player, ItemStack stack, ScrewdriverMode m
// Save manipulator position for DRAWING mode
itemTag.put(LINKED_MANIPULATOR_POS, NbtUtils.writeBlockPos(sourceChange));
}
- PlayerUtil.sendMessage(player, mode.toString(), true);
+
+ Block sourceBlock = player.level().getBlockState(sourceChange).getBlock();
+ if(sourceBlock != null && sourceBlock != TRBlockRegistry.ASTRAL_MANIPULATOR_BLOCK.get()) {
+ PlayerUtil.sendMessage(player, mode.toString(), true);
+ }
stack.setTag(itemTag);
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/NetworkManager.java b/common/src/main/java/whocraft/tardis_refined/common/network/NetworkManager.java
index 6bac1529..2d39b6f3 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/network/NetworkManager.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/NetworkManager.java
@@ -11,6 +11,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import whocraft.tardis_refined.common.util.Platform;
+import whocraft.tardis_refined.common.util.PlatformWarning;
import java.util.HashMap;
import java.util.List;
@@ -28,7 +29,7 @@ public NetworkManager(ResourceLocation channelName) {
@ExpectPlatform
public static NetworkManager create(ResourceLocation channelName) {
- throw new AssertionError();
+ throw new RuntimeException(PlatformWarning.addWarning(NetworkManager.class));
}
public MessageType registerS2C(String id, MessageDecoder decoder) {
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/hums/C2SChangeHum.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/hums/C2SChangeHum.java
index 19fbefab..a43254c0 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/hums/C2SChangeHum.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/hums/C2SChangeHum.java
@@ -8,8 +8,8 @@
import org.jetbrains.annotations.NotNull;
import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.network.MessageC2S;
import whocraft.tardis_refined.common.network.MessageContext;
import whocraft.tardis_refined.common.network.MessageType;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SBeginShellView.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SBeginShellView.java
index 1ec8d919..e2c0927a 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SBeginShellView.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SBeginShellView.java
@@ -37,7 +37,7 @@ public void handle(MessageContext context) {
Level level = context.getPlayer().level();
if (level instanceof ServerLevel serverLevel) {
TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> TardisPlayerInfo.get(context.getPlayer()).ifPresent(tardisInfo ->
- tardisInfo.setupPlayerForInspection(player, tardisLevelOperator, tardisLevelOperator.getPilotingManager().isTakingOff() ? tardisLevelOperator.getPilotingManager().getCurrentLocation() : tardisLevelOperator.getPilotingManager().getTargetLocation(), !tardisLevelOperator.getPilotingManager().isTakingOff())
+ tardisInfo.startShellView(player, tardisLevelOperator, tardisLevelOperator.getPilotingManager().isTakingOff() ? tardisLevelOperator.getPilotingManager().getCurrentLocation() : tardisLevelOperator.getPilotingManager().getTargetLocation(), tardisLevelOperator.getPilotingManager().isInFlight())
));
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SExitTardisView.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SExitTardisView.java
index cbd5a65e..418092ef 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SExitTardisView.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/C2SExitTardisView.java
@@ -15,6 +15,7 @@
import whocraft.tardis_refined.common.network.MessageContext;
import whocraft.tardis_refined.common.network.MessageType;
import whocraft.tardis_refined.common.network.TardisNetwork;
+import whocraft.tardis_refined.common.util.DimensionUtil;
import whocraft.tardis_refined.common.util.Platform;
public class C2SExitTardisView extends MessageC2S {
@@ -43,10 +44,10 @@ public void handle(MessageContext context) {
if (tardisInfo.isViewingTardis()) {
ResourceKey key = ResourceKey.create(Registries.DIMENSION,
new ResourceLocation(TardisRefined.MODID, tardisInfo.getViewedTardis().toString()));
- ServerLevel tardisLevel = Platform.getServer().getLevel(key);
+ ServerLevel tardisLevel = DimensionUtil.getLevel(key);
if (tardisLevel != null) {
TardisLevelOperator.get(tardisLevel).ifPresent(tardisLevelOperator -> {
- tardisInfo.endPlayerForInspection(player);
+ tardisInfo.endShellView(player);
});
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/ExitTardisViewMessage.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/ExitTardisViewMessage.java
new file mode 100644
index 00000000..c6245717
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/player/ExitTardisViewMessage.java
@@ -0,0 +1,57 @@
+package whocraft.tardis_refined.common.network.messages.player;
+
+import net.minecraft.core.registries.Registries;
+import net.minecraft.network.FriendlyByteBuf;
+import net.minecraft.resources.ResourceKey;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.world.level.Level;
+import org.jetbrains.annotations.NotNull;
+import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
+import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
+import whocraft.tardis_refined.common.network.MessageC2S;
+import whocraft.tardis_refined.common.network.MessageContext;
+import whocraft.tardis_refined.common.network.MessageType;
+import whocraft.tardis_refined.common.network.TardisNetwork;
+import whocraft.tardis_refined.common.util.DimensionUtil;
+import whocraft.tardis_refined.common.util.Platform;
+
+public class ExitTardisViewMessage extends MessageC2S {
+
+ public ExitTardisViewMessage() {
+ }
+
+ public ExitTardisViewMessage(FriendlyByteBuf buf) {
+ }
+
+ @Override
+ public @NotNull MessageType getType() {
+ return TardisNetwork.TARDIS_EXIT;
+ }
+
+ @Override
+ public void toBytes(FriendlyByteBuf buf) {
+
+ }
+
+ @Override
+ public void handle(MessageContext context) {
+ ServerPlayer player = context.getPlayer();
+
+ TardisPlayerInfo.get(player).ifPresent(tardisInfo -> {
+ if (tardisInfo.isViewingTardis()) {
+ ResourceKey key = ResourceKey.create(Registries.DIMENSION,
+ new ResourceLocation(TardisRefined.MODID, tardisInfo.getViewedTardis().toString()));
+ ServerLevel tardisLevel = DimensionUtil.getLevel(key);
+ if (tardisLevel != null) {
+ TardisLevelOperator.get(tardisLevel).ifPresent(tardisLevelOperator -> {
+ tardisInfo.endShellView(player);
+ });
+ }
+ }
+ });
+
+ }
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/S2CSyncHums.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/S2CSyncHums.java
index 387cac95..a13d32b0 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/S2CSyncHums.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/sync/S2CSyncHums.java
@@ -5,8 +5,8 @@
import net.minecraft.nbt.NbtOps;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.resources.ResourceLocation;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.network.MessageContext;
import whocraft.tardis_refined.common.network.MessageS2C;
import whocraft.tardis_refined.common.network.MessageType;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2CWaypointsListScreen.java b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2CWaypointsListScreen.java
index 74159064..d3947e53 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2CWaypointsListScreen.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/network/messages/waypoints/S2CWaypointsListScreen.java
@@ -29,7 +29,6 @@ public S2CWaypointsListScreen(FriendlyByteBuf friendlyByteBuf) {
for (int i = 0; i < size; i++) {
CompoundTag tardisWay = friendlyByteBuf.readNbt();
TardisWaypoint waypoint = TardisWaypoint.deserialise(tardisWay);
-
waypoints.add(waypoint);
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java b/common/src/main/java/whocraft/tardis_refined/common/soundscape/hum/HumEntry.java
similarity index 98%
rename from common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java
rename to common/src/main/java/whocraft/tardis_refined/common/soundscape/hum/HumEntry.java
index 27c40c0a..910d5e70 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/hum/HumEntry.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/soundscape/hum/HumEntry.java
@@ -1,4 +1,4 @@
-package whocraft.tardis_refined.common.hum;
+package whocraft.tardis_refined.common.soundscape.hum;
import com.mojang.serialization.Codec;
import com.mojang.serialization.codecs.RecordCodecBuilder;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java b/common/src/main/java/whocraft/tardis_refined/common/soundscape/hum/TardisHums.java
similarity index 95%
rename from common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java
rename to common/src/main/java/whocraft/tardis_refined/common/soundscape/hum/TardisHums.java
index 32bc81a3..614011f3 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/hum/TardisHums.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/soundscape/hum/TardisHums.java
@@ -1,14 +1,10 @@
-package whocraft.tardis_refined.common.hum;
+package whocraft.tardis_refined.common.soundscape.hum;
-import net.minecraft.core.Holder;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents;
-import net.minecraft.sounds.SoundSource;
import whocraft.tardis_refined.TardisRefined;
-import whocraft.tardis_refined.client.sounds.QuickSimpleSound;
import whocraft.tardis_refined.common.util.CodecJsonReloadListener;
-import whocraft.tardis_refined.common.util.RegistryHelper;
import whocraft.tardis_refined.registry.TRSoundRegistry;
import java.util.*;
@@ -54,6 +50,12 @@ public class TardisHums {
"aviatrax",
TRSoundRegistry.HUM_AVIATRAX.getId(), new ArrayList<>()
);
+
+ public static final HumEntry COPPER = new HumEntry(
+ "copper",
+ TRSoundRegistry.HUM_COPPER.getId(), new ArrayList<>()
+ );
+
private static final CodecJsonReloadListener RELOAD_LISTENER = createReloadListener();
private static final Map DEFAULT_HUMS = new HashMap<>();
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java
index e91f7f16..44f16880 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisArchitectureHandler.java
@@ -1,33 +1,43 @@
package whocraft.tardis_refined.common.tardis;
import net.minecraft.core.BlockPos;
+import net.minecraft.nbt.NbtUtils;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
+import net.minecraft.world.entity.LivingEntity;
+import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructurePlaceSettings;
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplate;
import net.minecraft.world.phys.AABB;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock;
import whocraft.tardis_refined.common.blockentity.door.TardisInternalDoor;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
+import whocraft.tardis_refined.common.entity.ControlEntity;
import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
import whocraft.tardis_refined.constants.TardisDimensionConstants;
import whocraft.tardis_refined.registry.TRBlockRegistry;
import java.util.*;
+import static whocraft.tardis_refined.common.tardis.manager.TardisInteriorManager.STATIC_CORRIDOR_POSITION;
+
// Responsible for all the tedious generation of the desktop;
public class TardisArchitectureHandler {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/TardisArchitectureHandler");
+
public static final BlockPos DESKTOP_CENTER_POS = new BlockPos(0, 100, 0);
public static final BlockPos EYE_OF_HARMONY_PLACEMENT = new BlockPos(991, 41, 31);
public static String currentArsStage = "one";
public static void generateDesktop(ServerLevel operator, DesktopTheme theme) {
- TardisRefined.LOGGER.debug("Attempting to generate desktop theme: {} for TARDIS.", theme.getIdentifier());
+ LOGGER.debug("Attempting to generate desktop theme: {} for TARDIS.", theme.getIdentifier());
// Fill the area out.
BlockPos corner = new BlockPos(TardisDimensionConstants.TARDIS_CENTER_POS.getX() - TardisDimensionConstants.DESKTOP_RADIUS, TardisDimensionConstants.TARDIS_ROOT_GENERATION_MIN_HEIGHT, TardisDimensionConstants.TARDIS_CENTER_POS.getZ() - TardisDimensionConstants.DESKTOP_RADIUS);
@@ -43,8 +53,11 @@ public static void generateDesktop(ServerLevel operator, DesktopTheme theme) {
}
}
- List desktopEntities = operator.getLevel().getEntitiesOfClass(Entity.class, new AABB(corner, farCorner));
- desktopEntities.forEach(Entity::discard); //Don't teleport entities to a hard coded coordinate, that causes hanging entity out of world issues. In other cases, if another mod defines that coordinate as a safe area (possible) that will mean the entities never get killed.
+ List itemEntities = operator.getLevel().getEntitiesOfClass(ItemEntity.class, new AABB(corner, farCorner));
+ List controlEntities = operator.getLevel().getEntitiesOfClass(ControlEntity.class, new AABB(corner, farCorner));
+ List entitiesForDeath = new ArrayList<>(itemEntities);
+ entitiesForDeath.addAll(controlEntities);
+ entitiesForDeath.forEach(Entity::discard); //Don't teleport entities to a hard coded coordinate, that causes hanging entity out of world issues. In other cases, if another mod defines that coordinate as a safe area (possible) that will mean the entities never get killed.
Optional structureNBT = operator.getLevel().getStructureManager().get(theme.getStructureLocation());
@@ -56,8 +69,6 @@ public static void generateDesktop(ServerLevel operator, DesktopTheme theme) {
setInteriorDoorFromStructure(structure, operator);
buildAirlockEntranceFromStructure(structure, operator);
});
-
-
}
public static void buildAirlockEntranceFromStructure(StructureTemplate template, ServerLevel level) {
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisDesktops.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisDesktops.java
index 1c0946a4..92b24136 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisDesktops.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisDesktops.java
@@ -1,10 +1,11 @@
package whocraft.tardis_refined.common.tardis;
import net.minecraft.resources.ResourceLocation;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
import whocraft.tardis_refined.common.util.CodecJsonReloadListener;
-import whocraft.tardis_refined.common.util.Platform;
import java.util.HashMap;
import java.util.Map;
@@ -15,6 +16,9 @@
*/
public class TardisDesktops {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/TardisDesktops");
+
+
/**
* Static reference to the overgrown cave theme.
DO NOT REGISTER THIS, we don't want it to show in the selection screen.
It is only intended to be used once for the root shell.
*/
@@ -55,7 +59,6 @@ public static DesktopTheme getDesktopById(ResourceLocation location) {
* Creates and adds the Tardis Refined default list of DesktopThemes to a standalone map.
* Can be used for datagenerators or as a fallback registry
*
- * @return
*/
public static Map registerDefaultDesktops() {
DEFAULT_DESKTOPS.clear();
@@ -81,13 +84,15 @@ public static Map registerDefaultDesktops() {
addDefaultDesktop(new DesktopTheme("watchface", "desktop/watchface"));
addDefaultDesktop(new DesktopTheme("classic", "desktop/classic"));
addDefaultDesktop(new DesktopTheme("terraformed", "desktop/terraformed_useable"));
+ addDefaultDesktop(new DesktopTheme("panamax", "desktop/panamax"));
+ addDefaultDesktop(new DesktopTheme("hartnell", "desktop/hartnell"));
+ addDefaultDesktop(new DesktopTheme("pertwee", "desktop/pertwee"));
return DEFAULT_DESKTOPS;
}
private static void addDefaultDesktop(DesktopTheme theme) {
- if (!Platform.isProduction()) //Enable Logging in development environment
- TardisRefined.LOGGER.info("Adding default Desktop {}", theme.getIdentifier());
+ LOGGER.info("Adding default Desktop {}", theme.getIdentifier());
DEFAULT_DESKTOPS.put(theme.getIdentifier(), theme);
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisNavLocation.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisNavLocation.java
index 005baaf9..5e5e915d 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisNavLocation.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/TardisNavLocation.java
@@ -8,7 +8,9 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.Level;
+import whocraft.tardis_refined.common.util.DimensionUtil;
import whocraft.tardis_refined.common.util.Platform;
+import whocraft.tardis_refined.common.util.PlayerUtil;
/**
* TardisNavLocation
@@ -78,9 +80,14 @@ public CompoundTag serialise() {
}
public ServerLevel getLevel() {
+
+ if(Platform.getServer() == null){
+ throw new RuntimeException("Called TardisNavLocation::getLevel before server was created! Please adjust your code!");
+ }
+
if (this.level != null) {
this.dimensionKey = this.level.dimension();
- return Platform.getServer().getLevel(dimensionKey);
+ return DimensionUtil.getLevel(dimensionKey);
}
return Platform.getServer().getLevel(Level.OVERWORLD);
@@ -147,7 +154,15 @@ public BlockPos setZ(int z) {
public TardisNavLocation copy() {
TardisNavLocation copy = new TardisNavLocation(this.position, this.direction, this.dimensionKey);
- copy.setName(this.name);
+
+ if (this.getLevel() != null) {
+ copy.setLevel(this.getLevel());
+ }
+
+ if (this.name != null) {
+ copy.setName(this.name);
+ }
+
return copy;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/DimensionalControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/DimensionalControl.java
index d9cfb638..1f9509b5 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/DimensionalControl.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/flight/DimensionalControl.java
@@ -19,6 +19,7 @@
import java.util.ArrayList;
import java.util.List;
+import java.util.function.Predicate;
import static net.minecraft.world.level.Level.OVERWORLD;
@@ -33,15 +34,17 @@ public DimensionalControl(ResourceLocation id, String langId) {
private List getAllowedDimensions(TardisLevelOperator tardisLevelOperator) {
var filteredDimensions = new ArrayList();
+
var filteredLevels = Platform.getServer().getAllLevels();
+
filteredLevels.forEach(x -> {
if (tardisLevelOperator.getProgressionManager().isLevelDiscovered(x.dimension())) {
filteredDimensions.add(x);
}
});
- return filteredDimensions;
+ return filteredDimensions.stream().filter(serverLevel -> DimensionUtil.isAllowedDimension(serverLevel.dimension())).toList();
}
@Override
@@ -66,9 +69,9 @@ private boolean changeDim(TardisLevelOperator operator, ConsoleTheme theme, Cont
return false;
}
- var dimensions = getAllowedDimensions(operator);
- var currentIndex = dimensions.indexOf(pilotManager.getTargetLocation().getLevel());
- var nextIndex = forward ? ((currentIndex >= dimensions.size() - 1) ? 0 : currentIndex + 1) : ((currentIndex <= 0) ? dimensions.size() - 1 : currentIndex - 1);
+ List dimensions = getAllowedDimensions(operator);
+ int currentIndex = dimensions.indexOf(pilotManager.getTargetLocation().getLevel());
+ int nextIndex = forward ? ((currentIndex >= dimensions.size() - 1) ? 0 : currentIndex + 1) : ((currentIndex <= 0) ? dimensions.size() - 1 : currentIndex - 1);
if(dimensions.isEmpty()){
return false;
@@ -79,12 +82,12 @@ private boolean changeDim(TardisLevelOperator operator, ConsoleTheme theme, Cont
// We want to filter out the end if the end hasn't been completed whilst the player is in flight. We can keep it pre-flight because we do some fancy sounds to tell the player
// it's not an option.
if (nextDimension.dimension() == Level.END && pilotManager.isInFlight()) {
- if (!TardisHelper.hasTheEndBeenCompleted(pilotManager.getTargetLocation().getLevel())) {
+ if (!TardisHelper.hasTheEndBeenCompleted(nextDimension)) {
nextIndex += forward ? 1 : -1;
}
}
- pilotManager.getTargetLocation().setLevel(dimensions.get(nextIndex));
+ pilotManager.setTargetDimension(dimensions.get(nextIndex));
PlayerUtil.sendMessage(player, Component.translatable(ModMessages.CONTROL_DIMENSION_SELECTED, MiscHelper.getCleanDimensionName(pilotManager.getTargetLocation().getDimensionKey())), true);
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/MonitorControl.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/MonitorControl.java
index 159023aa..285d1fa3 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/MonitorControl.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/control/ship/MonitorControl.java
@@ -34,7 +34,7 @@ public boolean onRightClick(TardisLevelOperator operator, ConsoleTheme theme, Co
if (!player.level().isClientSide()) {
if (operator.getTardisState() != TardisLevelOperator.STATE_EYE_OF_HARMONY || operator.getPilotingManager().isOutOfFuel()) {
- PlayerUtil.sendMessage(player, ModMessages.HARDWARE_OFFLINE, true);
+ PlayerUtil.sendMessage(player, ModMessages.FUEL_OFFLINE, true);
return false;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/AestheticHandler.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/AestheticHandler.java
index 20efb1b4..f8749692 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/AestheticHandler.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/AestheticHandler.java
@@ -1,12 +1,12 @@
package whocraft.tardis_refined.common.tardis.manager;
-import net.fabricmc.fabric.api.util.NbtType;
import net.minecraft.core.BlockPos;
import net.minecraft.nbt.CompoundTag;
-import net.minecraft.nbt.NbtUtils;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.block.entity.BlockEntity;
+import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.common.VortexRegistry;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity;
@@ -129,26 +129,56 @@ public CompoundTag saveData(CompoundTag baseTag) {
@Override
public void loadData(CompoundTag tag) {
- if (tag.contains("aesthetic", NbtType.COMPOUND)) {
+ boolean needsDataFixed = false;
+
+ if (tag.contains("aesthetic")) {
CompoundTag aestheticTag = tag.getCompound("aesthetic");
- if(aestheticTag.contains("vortex")){
- ResourceLocation vortexLoc = new ResourceLocation(aestheticTag.getString("vortex"));
- this.vortex = vortexLoc;
+ if (aestheticTag.contains("vortex")) {
+ this.vortex = new ResourceLocation(aestheticTag.getString("vortex"));
}
// Shell
- if (aestheticTag.contains("shell", NbtType.COMPOUND)) {
+ if (aestheticTag.contains("shell")) {
CompoundTag shellInfo = aestheticTag.getCompound("shell");
- if (shellInfo.contains(NbtConstants.TARDIS_EXT_CURRENT_THEME, NbtType.STRING) && shellInfo.contains(NbtConstants.TARDIS_EXT_CURRENT_PATTERN, NbtType.STRING)) {
- ResourceLocation themeID = new ResourceLocation(shellInfo.getString(NbtConstants.TARDIS_EXT_CURRENT_THEME));
- this.shellTheme = themeID;
- String patternId = shellInfo.getString(NbtConstants.TARDIS_EXT_CURRENT_PATTERN);
- this.shellPattern = ShellPatterns.getPatternOrDefault(themeID, new ResourceLocation(patternId));
+ if (shellInfo.contains(NbtConstants.TARDIS_EXT_CURRENT_THEME)) {
+ ResourceLocation themeId = new ResourceLocation(shellInfo.getString(NbtConstants.TARDIS_EXT_CURRENT_THEME));
+ ShellTheme theme = ShellTheme.SHELL_THEME_DEFERRED_REGISTRY.get(themeId);
+
+ if (theme == null) {
+ TardisRefined.LOGGER.info("The shell theme: {} does not exist! Resetting Shell Theme & Pattern for {}", themeId, tardisOperator.getLevel().dimension());
+ needsDataFixed = true;
+ this.shellTheme = ShellTheme.FACTORY.getId();
+ TardisClientData clientData = tardisOperator.tardisClientData();
+ clientData.setShellTheme(shellTheme);
+ clientData.sync();
+ } else {
+ this.shellTheme = themeId;
+ }
+ }
+
+ if (shellInfo.contains(NbtConstants.TARDIS_EXT_CURRENT_PATTERN) && !needsDataFixed) {
+ ResourceLocation currentPattern = new ResourceLocation(shellInfo.getString(NbtConstants.TARDIS_EXT_CURRENT_PATTERN));
+
+ if (ShellPatterns.doesPatternExist(shellTheme, currentPattern)) {
+ this.shellPattern = ShellPatterns.getPatternOrDefault(shellTheme, currentPattern);
+ TardisClientData clientData = tardisOperator.tardisClientData();
+ clientData.setShellPattern(shellPattern.id());
+ clientData.sync();
+ }
}
}
}
+
+ if (this.shellTheme == null) {
+ this.shellTheme = ShellTheme.FACTORY.getId();
+ }
+
+ if (this.shellPattern == null || needsDataFixed) {
+ this.shellPattern = ShellPatterns.DEFAULT;
+ }
}
+
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/ProgressionManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/ProgressionManager.java
index d88a292a..bbfca4d6 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/ProgressionManager.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/ProgressionManager.java
@@ -17,10 +17,10 @@
public class ProgressionManager extends BaseHandler {
- private ArrayList> ALLOWED_LEVELS = new ArrayList<>();
+ private ArrayList> DISCOVERED_LEVELS = new ArrayList<>();
public ProgressionManager() {
- this.ALLOWED_LEVELS = new ArrayList<>();
+ this.DISCOVERED_LEVELS = new ArrayList<>();
}
public ArrayList> getDiscoveredLevels() {
@@ -34,7 +34,7 @@ public ArrayList> getDiscoveredLevels() {
addDiscoveredLevel(level);
}
- return ALLOWED_LEVELS.stream()
+ return DISCOVERED_LEVELS.stream()
.filter(DimensionUtil::isAllowedDimension)
.collect(Collectors.toCollection(ArrayList::new));
}
@@ -42,38 +42,38 @@ public ArrayList> getDiscoveredLevels() {
public void setDiscoveredLevels(ArrayList> allowedLevels) {
if (allowedLevels != null) {
- this.ALLOWED_LEVELS = new ArrayList<>(allowedLevels);
+ this.DISCOVERED_LEVELS = new ArrayList<>(allowedLevels);
} else {
- this.ALLOWED_LEVELS.clear();
+ this.DISCOVERED_LEVELS.clear();
}
}
public boolean addDiscoveredLevel(ResourceKey level) {
- if (level != null && !ALLOWED_LEVELS.contains(level) && DimensionUtil.isAllowedDimension(level)) {
- return ALLOWED_LEVELS.add(level);
+ if (level != null && !DISCOVERED_LEVELS.contains(level) && DimensionUtil.isAllowedDimension(level)) {
+ return DISCOVERED_LEVELS.add(level);
}
return false;
}
public boolean undiscoverLevel(ResourceKey level) {
- return ALLOWED_LEVELS.remove(level);
+ return DISCOVERED_LEVELS.remove(level);
}
public boolean isLevelDiscovered(ResourceKey level) {
if(!TRConfig.SERVER.ADVENTURE_MODE.get()){
- return true;
+ return DimensionUtil.isAllowedDimension(level);
}
- return ALLOWED_LEVELS.contains(level);
+ return getDiscoveredLevels().contains(level);
}
@Override
public CompoundTag saveData(CompoundTag tag) {
ListTag levelsList = new ListTag();
- for (ResourceKey level : ALLOWED_LEVELS) {
- levelsList.add(StringTag.valueOf(level.toString()));
+ for (ResourceKey level : DISCOVERED_LEVELS) {
+ levelsList.add(StringTag.valueOf(level.location().toString()));
}
tag.put("DiscoveredLevels", levelsList);
return tag;
@@ -83,11 +83,11 @@ public CompoundTag saveData(CompoundTag tag) {
public void loadData(CompoundTag tag) {
if (tag.contains("DiscoveredLevels")) {
ListTag levelsList = tag.getList("DiscoveredLevels", Tag.TAG_STRING);
- ALLOWED_LEVELS.clear();
+ DISCOVERED_LEVELS.clear();
for (Tag levelTag : levelsList) {
String levelKey = levelTag.getAsString();
ResourceKey level = ResourceKey.create(Registries.DIMENSION, new ResourceLocation(levelKey));
- ALLOWED_LEVELS.add(level);
+ DISCOVERED_LEVELS.add(level);
}
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisExteriorManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisExteriorManager.java
index cebfb264..5acfdce0 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisExteriorManager.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisExteriorManager.java
@@ -9,6 +9,7 @@
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import whocraft.tardis_refined.common.block.shell.GlobalShellBlock;
+import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.blockentity.shell.ExteriorShell;
@@ -96,9 +97,7 @@ public void loadData(CompoundTag tag) {
}
public void playSoundAtShell(SoundEvent event, SoundSource source, float volume, float pitch) {
-
TardisPilotingManager pilotingManager = this.operator.getPilotingManager();
-
if (pilotingManager != null) {
if (pilotingManager.getCurrentLocation() != null) {
TardisNavLocation currentLocation = pilotingManager.getCurrentLocation();
@@ -107,8 +106,6 @@ public void playSoundAtShell(SoundEvent event, SoundSource source, float volume,
lastKnownLocationLevel.playSound(null, currentLocation.getPosition(), event, source, volume, pitch);
}
}
-
-
}
/**
@@ -144,9 +141,8 @@ public void removeExteriorBlock() {
//Force load chunk
lastKnownLocationLevel.setChunkForced(chunkPos.x, chunkPos.z, true); //Set chunk to be force loaded to properly remove block
//Remove block
- if (lastKnownLocationLevel.getBlockState(lastKnownLocationPosition).getBlock() instanceof GlobalShellBlock shellBlock) {
- lastKnownLocationLevel.removeBlock(lastKnownLocationPosition, false);
-//Set block to air with drop items flag to false
+ if (lastKnownLocationLevel.getBlockEntity(lastKnownLocationPosition) instanceof GlobalShellBlockEntity globalShellBlockEntity) {
+ lastKnownLocationLevel.removeBlock(lastKnownLocationPosition, false); //Set block to air with drop items flag to false
}
//Un-force load chunk
lastKnownLocationLevel.setChunkForced(chunkPos.x, chunkPos.z, false); //Set chunk to not be force loaded after we remove the block
@@ -181,30 +177,6 @@ public void placeExteriorBlockForLanding(TardisNavLocation location) {
this.operator.setOrUpdateExteriorBlock(location, Optional.empty());
}
-
- public boolean isExitLocationSafe() {
-
- TardisPilotingManager pilotingManager = this.operator.getPilotingManager();
- if (pilotingManager == null) {
- return false;
- }
-
- TardisNavLocation currentPosition = this.operator.getPilotingManager().getCurrentLocation();
- if (currentPosition == null) return false;
-
- BlockPos lastKnownLocationPosition = currentPosition.getPosition();
- ServerLevel lastKnownLocationLevel = currentPosition.getLevel();
- if (lastKnownLocationLevel.getBlockEntity(lastKnownLocationPosition) instanceof ExteriorShell shellBaseBlockEntity) {
- BlockPos landingArea = shellBaseBlockEntity.getTeleportPosition();
- if (lastKnownLocationLevel.getBlockState(landingArea).isAir()) {
- return lastKnownLocationLevel.getBlockState(landingArea.above()).isAir();
- }
- }
-
- return false;
- }
-
-
/**
* Returns whether a Tardis has enough fuel to perform an interior change
*
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java
index ebc590c7..5b6a2bb7 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisInteriorManager.java
@@ -25,8 +25,8 @@
import whocraft.tardis_refined.common.capability.tardis.upgrades.UpgradeHandler;
import whocraft.tardis_refined.registry.TRUpgrades;
import whocraft.tardis_refined.common.dimension.TardisTeleportData;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.protection.ProtectedZone;
import whocraft.tardis_refined.common.tardis.TardisArchitectureHandler;
import whocraft.tardis_refined.common.tardis.TardisDesktops;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisPilotingManager.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisPilotingManager.java
index b0791e33..6e094c03 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisPilotingManager.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/manager/TardisPilotingManager.java
@@ -22,6 +22,7 @@
import whocraft.tardis_refined.api.event.TardisCommonEvents;
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
+import whocraft.tardis_refined.common.blockentity.shell.ShellBaseBlockEntity;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.capability.tardis.upgrades.IncrementUpgrade;
import whocraft.tardis_refined.common.capability.tardis.upgrades.SpeedUpgrade;
@@ -92,6 +93,7 @@ public class TardisPilotingManager extends TickableHandler {
private BlockPos currentConsoleBlockPos = BlockPos.ZERO;
private boolean isPassivelyRefuelling = false;
+ private ShellBaseBlockEntity newCurrentBlockEntity;
public TardisPilotingManager(TardisLevelOperator operator) {
this.operator = operator;
@@ -114,8 +116,8 @@ public void loadData(CompoundTag tag) {
this.isPassivelyRefuelling = tag.getBoolean(NbtConstants.IS_PASSIVELY_REFUELING);
- this.currentLocation = NbtConstants.getTardisNavLocation(tag, NbtConstants.CURRENT_LOCATION);
- this.targetLocation = NbtConstants.getTardisNavLocation(tag, NbtConstants.TARGET_LOCATION);
+ setCurrentLocation(NbtConstants.getTardisNavLocation(tag, NbtConstants.CURRENT_LOCATION));
+ setTargetLocation(NbtConstants.getTardisNavLocation(tag, NbtConstants.TARGET_LOCATION));
this.fastReturnLocation = NbtConstants.getTardisNavLocation(tag, NbtConstants.RETURN_LOCATION);
this.currentConsoleBlockPos = NbtUtils.readBlockPos(tag.getCompound(CURRENT_CONSOLE_POS));
@@ -175,12 +177,8 @@ public CompoundTag saveData(CompoundTag tag) {
@Override
public void tick(ServerLevel level) {
- if (targetLocation == null) {
- if (this.currentLocation != null) { //If the target location is somehow null and the current location isn't null, set target location to the current location
- this.targetLocation = currentLocation;
- } else {
- this.targetLocation = TardisNavLocation.ORIGIN;
- }
+ if (getTargetLocation() == null) {
+ setTargetLocation(getCurrentLocation() != null ? getCurrentLocation().copy() : TardisNavLocation.ORIGIN);
}
if (isInFlight) {
@@ -207,7 +205,7 @@ public void tick(ServerLevel level) {
this.setFuel(this.getMaximumFuel());
this.isPassivelyRefuelling = false;
}
- } else if (level.getGameTime() % 20 == 0 && !isPassivelyRefuelling && this.getFuel() < (this.getMaximumFuel() * 0.05)) {
+ } else if (level.getGameTime() % 20 == 0 && !isPassivelyRefuelling && this.getFuel() < (this.getMaximumFuel() * 0.05) && this.operator.getTardisState() == TardisLevelOperator.STATE_EYE_OF_HARMONY) {
if (currentConsole != null) {
level.playSound(null, currentConsole.getBlockPos(), TRSoundRegistry.ALARM.get(), SoundSource.AMBIENT, 10f, 1f);
}
@@ -285,7 +283,7 @@ private void onFlightTick(ServerLevel level) {
private void checkThrottleStatesForFlight() {
if (!isInFlight && !this.isHandbrakeOn && this.throttleStage != 0 && this.canBeginFlight()) {
- this.beginFlight(false, null);
+ this.beginFlight(false);
}
// End the flight if the TARDIS is peacefully gliding.
@@ -322,10 +320,10 @@ private void tickCrashRecovery() {
public boolean preloadFastReturn() {
if (this.fastReturnLocation == null) {
return false;
- } else {
- this.targetLocation = this.fastReturnLocation;
- return true;
}
+ setTargetLocation(this.fastReturnLocation.copy());
+ return true;
+
}
public TardisNavLocation findClosestValidPosition(TardisNavLocation location) {
@@ -533,7 +531,7 @@ public boolean canBeginFlight() {
*
* @return false if didn't start flight, true if flight was started
*/
- public boolean beginFlight(boolean autoLand, Optional consoleBlockEntity) {
+ public boolean beginFlight(boolean autoLand) {
if (this.getFuel() < 50) {
@@ -545,9 +543,9 @@ public boolean beginFlight(boolean autoLand, Optional
return false;
}
- if (this.targetLocation.getLevel().dimension() == Level.END) {
+ if (this.getTargetLocation().getLevel().dimension() == Level.END) {
- if (!TardisHelper.hasTheEndBeenCompleted(this.targetLocation.getLevel())) {
+ if (!TardisHelper.hasTheEndBeenCompleted(this.getTargetLocation().getLevel())) {
failTakeoff();
@@ -568,14 +566,13 @@ public boolean beginFlight(boolean autoLand, Optional
this.distanceCovered = 0;
this.speedModifier = this.getLatestSpeedModifier();
- this.fastReturnLocation = new TardisNavLocation(this.getCurrentLocation().getPosition(), this.getCurrentLocation().getDirection(), this.getCurrentLocation().getLevel());
+ TardisNavLocation currentLocationPreTakeoff = getCurrentLocation();
+ this.fastReturnLocation = currentLocationPreTakeoff.copy();
TardisNavLocation targetPosition = this.getTargetLocation();
- TardisNavLocation lastKnownLocation = new TardisNavLocation(this.getCurrentLocation().getPosition(), this.getCurrentLocation().getDirection(), this.getCurrentLocation().getLevel());
-
- this.flightDistance = calculateFlightDistance(lastKnownLocation, targetPosition);
+ this.flightDistance = calculateFlightDistance(currentLocationPreTakeoff, targetPosition);
if (!autoLand) {
this.operator.getFlightDanceManager().startFlightDance(this.currentConsole);
@@ -624,7 +621,7 @@ public boolean canEndFlight() {
public void recalculateFlightDistance() {
TardisNavLocation targetPosition = this.operator.getPilotingManager().getTargetLocation();
- TardisNavLocation lastKnownLocation = new TardisNavLocation(this.getCurrentLocation().getPosition(), this.getCurrentLocation().getDirection(), this.getCurrentLocation().getLevel());
+ TardisNavLocation lastKnownLocation = getCurrentLocation().copy();
this.flightDistance = calculateFlightDistance(lastKnownLocation, targetPosition);
this.operator.getFlightDanceManager().startFlightDance(this.currentConsole);
@@ -664,10 +661,11 @@ public boolean endFlight(boolean forceFlightEnd, boolean isCrashing) {
Level level = operator.getLevel();
- TardisNavLocation landingLocation = this.targetLocation;
+ TardisNavLocation landingLocation = this.getTargetLocation();
TardisNavLocation location = findClosestValidPosition(landingLocation);
// Added so it updates for everything else
+ // TODO: Does this cause https://github.com/WhoCraft/TardisRefined/issues/427 ?
setTargetLocation(location);
setCurrentLocation(location);
@@ -705,15 +703,15 @@ public boolean endFlight(boolean forceFlightEnd, boolean isCrashing) {
*/
private void endFlightEarly(boolean dramatic) {
- BlockPos targetPosition = this.targetLocation.getPosition();
+ BlockPos targetPosition = this.getTargetLocation().getPosition();
BlockPos startingPosition = this.getCurrentLocation().getPosition();
float percentage = this.getFlightPercentageCovered();
float percentageX = startingPosition.getX() + (targetPosition.getX() - startingPosition.getX()) * percentage;
float percentageY = startingPosition.getY() + (targetPosition.getY() - startingPosition.getY()) * percentage;
float percentageZ = startingPosition.getZ() + (targetPosition.getZ() - startingPosition.getZ()) * percentage;
- TardisNavLocation newLocation = new TardisNavLocation(new BlockPos((int) percentageX, (int) percentageY, (int) percentageZ), this.targetLocation.getDirection(), percentage > 0.49f ? this.targetLocation.getLevel() : this.getCurrentLocation().getLevel());
- this.targetLocation = newLocation;
+ TardisNavLocation newLocation = new TardisNavLocation(new BlockPos((int) percentageX, (int) percentageY, (int) percentageZ), this.getTargetLocation().getDirection(), percentage > 0.49f ? this.getTargetLocation().getLevel() : this.getCurrentLocation().getLevel());
+ setTargetLocation(newLocation);
if (dramatic) {
for (Player player : this.operator.getLevel().players()) {
@@ -782,13 +780,13 @@ public void crash() {
// Calculate the random position from what we've gotten.
- if (this.targetLocation.getLevel().dimension() == Level.END) {
- this.targetLocation.setLevel(this.operator.getLevel().getServer().overworld());
+ if (this.getTargetLocation().getLevel().dimension() == Level.END) {
+ this.getTargetLocation().setLevel(this.operator.getLevel().getServer().overworld());
}
float progress = getFlightPercentageCovered();
- Vec3 targetPos = new Vec3(this.targetLocation.getPosition().getX(), this.targetLocation.getPosition().getY(), this.targetLocation.getPosition().getZ());
+ Vec3 targetPos = this.getTargetLocation().getPosition().getCenter();
BlockPos currentLoc = this.getCurrentLocation().getPosition();
Vec3 currentPos = new Vec3(currentLoc.getX(), currentLoc.getY(), currentLoc.getZ());
@@ -798,7 +796,7 @@ public void crash() {
BlockPos landingLocation = new BlockPos(x, y, z);
this.setTargetPosition(landingLocation);
- TardisNavLocation weWantToGoHere = this.targetLocation;
+ TardisNavLocation weWantToGoHere = this.getTargetLocation().copy();
TardisNavLocation safeLocation = findClosestValidPosition(weWantToGoHere);
setTargetLocation(safeLocation);
setCurrentLocation(safeLocation);
@@ -816,36 +814,35 @@ public void onCrashEnd() {
this.ticksinCrashRecovery = 1;
onFlightEnd();
- TardisCommonEvents.TARDIS_CRASH_EVENT.invoker().onTardisCrash(this.operator, this.targetLocation);
+ TardisCommonEvents.TARDIS_CRASH_EVENT.invoker().onTardisCrash(this.operator, this.getTargetLocation());
}
public float getFlightPercentageCovered() {
-
if (this.flightDistance == 0) {
return 0;
}
-
return (float) this.distanceCovered / this.flightDistance;
}
public void offsetTargetPositionX(int x) {
- this.targetLocation.setPosition(this.targetLocation.getPosition().offset(x, 0, 0));
+ this.getTargetLocation().setPosition(this.getTargetLocation().getPosition().offset(x, 0, 0));
}
public void offsetTargetPositionY(int y) {
- this.targetLocation.setPosition(this.targetLocation.getPosition().offset(0, y, 0));
+ this.getTargetLocation().setPosition(this.getTargetLocation().getPosition().offset(0, y, 0));
}
public void offsetTargetPositionZ(int z) {
- this.targetLocation.setPosition(this.targetLocation.getPosition().offset(0, 0, z));
+ this.getTargetLocation().setPosition(this.getTargetLocation().getPosition().offset(0, 0, z));
}
public TardisNavLocation getTargetLocation() {
return this.targetLocation;
}
+
public void setTargetLocation(TardisNavLocation targetLocation) {
- this.targetLocation = targetLocation;
+ this.targetLocation = targetLocation.copy();
}
/**
@@ -860,13 +857,17 @@ public TardisNavLocation getCurrentLocation() {
}
public void setCurrentLocation(TardisNavLocation currentLocation) {
- this.currentLocation = currentLocation;
+ this.currentLocation = currentLocation.copy();
}
public void setTargetPosition(BlockPos pos) {
this.targetLocation.setPosition(pos);
}
+ public void setTargetDimension(ServerLevel serverLevel) {
+ this.targetLocation.setLevel(serverLevel);
+ }
+
public int getCordIncrement() {
return getCoordinateIncrements(operator.getUpgradeHandler())[this.cordIncrementIndex];
}
@@ -1161,4 +1162,7 @@ private int getLatestSpeedModifier() {
return this.speedModifier;
}
+ public void setCurrentLocationOnNextTick(ShellBaseBlockEntity blockEntity) {
+ this.newCurrentBlockEntity = blockEntity;
+ }
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ShellTheme.java b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ShellTheme.java
index 072cc61f..87090b8a 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ShellTheme.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/tardis/themes/ShellTheme.java
@@ -7,6 +7,7 @@
import net.minecraft.resources.ResourceLocation;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.registry.DeferredRegistry;
+import whocraft.tardis_refined.registry.RegistrySupplier;
import whocraft.tardis_refined.registry.RegistrySupplierHolder;
public class ShellTheme implements Theme {
@@ -46,6 +47,8 @@ public class ShellTheme implements Theme {
public static final RegistrySupplierHolder HIEROGLYPH = registerShellTheme("hieroglyph");
public static final RegistrySupplierHolder CASTLE = registerShellTheme("castle");
public static final RegistrySupplierHolder PATHFINDER = registerShellTheme("pathfinder");
+ public static final RegistrySupplierHolder SHULKER = registerShellTheme("shulker");
+
private ResourceLocation translationKey;
private boolean producesLight;
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/CodecJsonReloadListener.java b/common/src/main/java/whocraft/tardis_refined/common/util/CodecJsonReloadListener.java
index 87282dfa..947c9c83 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/CodecJsonReloadListener.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/CodecJsonReloadListener.java
@@ -10,6 +10,8 @@
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.server.packs.resources.SimpleJsonResourceReloadListener;
import net.minecraft.util.profiling.ProfilerFiller;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.network.MessageS2C;
import whocraft.tardis_refined.common.network.NetworkManager;
@@ -27,6 +29,9 @@
*/
public class CodecJsonReloadListener extends SimpleJsonResourceReloadListener {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/CodecJsonReloadListener");
+
+
protected final Codec codec; // Make the codec protected access because some implementations may require extra logic to be added when we are decoding entries
protected final String folderName;
/**
@@ -75,9 +80,9 @@ public static CodecJsonReloadListener create(String folderName, Codec
@Override
protected void apply(Map jsons, ResourceManager resourceManager, ProfilerFiller profilerFiller) {
//No need to define special syncing packet logic because the setSyncPacket method already subscribes us to the datapack sync events on the appropriate platform and defines the sync packet.
- TardisRefined.LOGGER.info("Beginning loading of data for data loader: {}", this.folderName);
+ LOGGER.info("Beginning loading of data for data loader: {}", this.folderName);
this.data = this.mapValues(jsons);
- TardisRefined.LOGGER.info("Data loader for {} loaded {} entries", this.folderName, this.data.size());
+ LOGGER.info("Data loader for {} loaded {} entries", this.folderName, this.data.size());
}
/**
@@ -98,9 +103,9 @@ protected Map mapValues(Map
.get()
.ifLeft(result -> {
entries.put(key, result.getFirst());
- TardisRefined.LOGGER.info("Adding entry {}", key);
+ LOGGER.info("Adding entry {}", key);
})
- .ifRight(partial -> TardisRefined.LOGGER.error("Failed to parse data json for {} due to: {}", key, partial.message()));
+ .ifRight(partial -> LOGGER.error("Failed to parse data json for {} due to: {}", key, partial.message()));
}
return entries;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/DatapackHelper.java b/common/src/main/java/whocraft/tardis_refined/common/util/DatapackHelper.java
index 15bc4aac..b739509b 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/DatapackHelper.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/DatapackHelper.java
@@ -19,6 +19,8 @@
import net.minecraft.world.level.levelgen.structure.templatesystem.StructureTemplateManager;
import net.minecraft.world.level.storage.LevelResource;
import net.minecraft.world.phys.AABB;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.tardis.themes.DesktopTheme;
@@ -35,6 +37,9 @@
public class DatapackHelper {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/DatapackHelper");
+
+
public static boolean writeDesktopToFile(ServerLevel level, BlockPos bottomCorner, BlockPos topCorner, boolean includeEntities, ResourceLocation structure, DesktopTheme desktop, String datapackName) {
MinecraftServerStorageAccessor accessor = (MinecraftServerStorageAccessor) level.getServer();
Path rootDir = accessor.getStorageSource().getLevelPath(LevelResource.DATAPACK_DIR).normalize();
@@ -43,7 +48,7 @@ public static boolean writeDesktopToFile(ServerLevel level, BlockPos bottomCorne
String fileExtension = ".json";
JsonObject currentDesktop = DesktopTheme.getCodec().encodeStart(JsonOps.INSTANCE, desktop).get()
.ifRight(right -> {
- TardisRefined.LOGGER.error(right.message());
+ LOGGER.error(right.message());
}).orThrow().getAsJsonObject();
Path output = createAndValidatePathToDatapackObject(datapackDataFolder, desktop.getIdentifier(), TardisDesktops.getReloadListener(), fileExtension);
createPackDefinition(datapackRoot);
@@ -62,7 +67,7 @@ public static boolean saveJsonToPath(JsonElement jsonElement, Path path) {
}
return true;
} catch (IOException e) {
- TardisRefined.LOGGER.error(e.getMessage().toString());
+ LOGGER.error(e.getMessage().toString());
return false;
}
}
@@ -83,7 +88,7 @@ public static void createPackDefinition(Path packRoot) {
writer.write(TardisRefined.GSON.toJson(root));
}
} catch (IOException e) {
- TardisRefined.LOGGER.error(e.getMessage().toString());
+ LOGGER.error(e.getMessage().toString());
}
}
}
@@ -95,7 +100,7 @@ public static boolean createStructure(ServerLevel level, BlockPos bottomCorner,
try {
structureTemplate = structureTemplateManager.getOrCreate(structure);
} catch (ResourceLocationException e) {
- TardisRefined.LOGGER.error(e.getMessage().toString());
+ LOGGER.error(e.getMessage().toString());
return false;
}
@@ -127,7 +132,7 @@ public static boolean createStructure(ServerLevel level, BlockPos bottomCorner,
try {
Files.createDirectories(Files.exists(pathParent, new LinkOption[0]) ? pathParent.toRealPath() : pathParent);
} catch (IOException var13) {
- TardisRefined.LOGGER.error("Failed to create parent directory: {}", pathParent);
+ LOGGER.error("Failed to create parent directory: {}", pathParent);
return false;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/DimensionUtil.java b/common/src/main/java/whocraft/tardis_refined/common/util/DimensionUtil.java
index da4f0d84..f230fb45 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/DimensionUtil.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/DimensionUtil.java
@@ -6,6 +6,7 @@
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.level.Level;
import whocraft.tardis_refined.TRConfig;
+import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.registry.TRDimensionTypes;
import java.util.Set;
@@ -13,10 +14,11 @@
public class DimensionUtil {
public static boolean isAllowedDimension(ResourceKey level) {
+ String namespace = level.location().getNamespace();
+ String location = level.location().toString();
var bannedDimensions = TRConfig.SERVER.BANNED_DIMENSIONS.get();
- return !level.location().getNamespace().toString().contains("tardis") && !bannedDimensions.contains(level.location().toString());
+ return !namespace.contains("immersive_portals") && !namespace.contains(TardisRefined.MODID) && !bannedDimensions.contains(location);
}
-
public static Set> getTardisLevels(MinecraftServer server) {
Set> set = Sets.newHashSet();
for (ServerLevel level : server.getAllLevels()) {
@@ -36,4 +38,12 @@ public static Set> getAllowedDimensions(MinecraftServer serve
}
return set;
}
+
+ public static ServerLevel getLevel(ResourceKey levelResourceKey) {
+ if(Platform.getServer() == null) {
+ TardisRefined.LOGGER.error("Null Server when looking for {} - Can be ignored if logging out", levelResourceKey);
+ return null;
+ }
+ return Platform.getServer().getLevel(levelResourceKey);
+ }
}
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/MergeableCodecJsonReloadListener.java b/common/src/main/java/whocraft/tardis_refined/common/util/MergeableCodecJsonReloadListener.java
index 8f802e36..5785cbd2 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/MergeableCodecJsonReloadListener.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/MergeableCodecJsonReloadListener.java
@@ -12,6 +12,8 @@
import net.minecraft.server.packs.resources.ResourceManager;
import net.minecraft.server.packs.resources.SimplePreparableReloadListener;
import net.minecraft.util.profiling.ProfilerFiller;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.network.MessageS2C;
import whocraft.tardis_refined.common.network.NetworkManager;
@@ -35,6 +37,8 @@ public class MergeableCodecJsonReloadListener extends SimplePrep
protected final String EXTENSION_NAME = ".json";
protected final int EXTENSION_LENGTH = EXTENSION_NAME.length();
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/MergeableCodecJsonReloadListener");
+
protected final Function, PROCESSED> merger;
/**
@@ -84,14 +88,14 @@ public static MergeableCodecJsonReloadListener
@Override
protected Map prepare(ResourceManager resourceManager, ProfilerFiller profilerFiller) {
//No need to define special syncing packet logic because the setSyncPacket method already subscribes us to the datapack sync events on the appropriate platform and defines the sync packet.
- TardisRefined.LOGGER.info("Beginning loading of data for data loader: {}", this.folderName);
+ LOGGER.info("Beginning loading of data for data loader: {}", this.folderName);
Map map = new HashMap<>();
Map> resourceStacks = resourceManager.listResourceStacks(this.folderName, id -> id.getPath().endsWith(EXTENSION_NAME));
map = this.mapValues(resourceStacks);
- TardisRefined.LOGGER.info("Data loader for {} loaded {} jsons", this.folderName, this.data.size());
+ LOGGER.info("Data loader for {} loaded {} jsons", this.folderName, this.data.size());
return Map.copyOf(map);
}
@@ -130,11 +134,11 @@ protected Map mapValues(Map {
raws.add(result.getFirst());
- TardisRefined.LOGGER.info("Adding entry for {}", key);
+ LOGGER.info("Adding entry for {}", key);
})
- .ifRight(partial -> TardisRefined.LOGGER.error("Error deserializing json {} in folder {} from pack {}: {}", key, this.folderName, resource.sourcePackId(), partial.message()));
+ .ifRight(partial -> LOGGER.error("Error deserializing json {} in folder {} from pack {}: {}", key, this.folderName, resource.sourcePackId(), partial.message()));
} catch (Exception e) {
- TardisRefined.LOGGER.error(String.format(Locale.ENGLISH, "Error reading resource %s in folder %s from pack %s: ", key, this.folderName, resource.sourcePackId()), e);
+ LOGGER.error(String.format(Locale.ENGLISH, "Error reading resource %s in folder %s from pack %s: ", key, this.folderName, resource.sourcePackId()), e);
}
}
//Apply merging function on all raw files
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/MiscHelper.java b/common/src/main/java/whocraft/tardis_refined/common/util/MiscHelper.java
index 0033d582..8d35b3b0 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/MiscHelper.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/MiscHelper.java
@@ -31,6 +31,7 @@
import whocraft.tardis_refined.common.block.shell.ShellBaseBlock;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.protection.ProtectedZone;
+import whocraft.tardis_refined.registry.DeferredRegistry;
import whocraft.tardis_refined.registry.TRBlockRegistry;
import whocraft.tardis_refined.registry.TRDimensionTypes;
@@ -41,7 +42,50 @@ public class MiscHelper {
@ExpectPlatform
public static Packet spawnPacket(Entity entity) {
- throw new RuntimeException(TardisRefined.PLATFORM_ERROR);
+ throw new RuntimeException(PlatformWarning.addWarning(MiscHelper.class));
+ }
+
+ public static String convertTicksToRealTime(int ticks) {
+ long totalSeconds = ticks / 20;
+
+ long years = totalSeconds / (60L * 60 * 24 * 30 * 12);
+ long remainingAfterYears = totalSeconds % (60L * 60 * 24 * 30 * 12);
+
+ long months = remainingAfterYears / (60L * 60 * 24 * 30);
+ long remainingAfterMonths = remainingAfterYears % (60L * 60 * 24 * 30);
+
+ long days = remainingAfterMonths / (60L * 60 * 24);
+ long remainingAfterDays = remainingAfterMonths % (60L * 60 * 24);
+
+ long hours = remainingAfterDays / (60L * 60);
+ long remainingAfterHours = remainingAfterDays % (60L * 60);
+
+ long minutes = remainingAfterHours / 60;
+ long seconds = remainingAfterHours % 60;
+
+ StringBuilder result = new StringBuilder();
+ if (years > 0) {
+ result.append(years).append(years == 1 ? " year, " : " years, ");
+ }
+ if (months > 0) {
+ result.append(months).append(months == 1 ? " month, " : " months, ");
+ }
+ if (days > 0) {
+ result.append(days).append(days == 1 ? " day, " : " days, ");
+ }
+ if (hours > 0) {
+ result.append(hours).append(hours == 1 ? " hour, " : " hours, ");
+ }
+ if (minutes > 0) {
+ result.append(minutes).append(minutes == 1 ? " minute, " : " minutes, ");
+ }
+ if (seconds > 0 || result.isEmpty()) {
+ result.append(seconds).append(seconds == 1 ? " second" : " seconds");
+ } else {
+ result.setLength(result.length() - 2);
+ }
+
+ return result.toString();
}
public static boolean isBlockPosInBox(BlockPos blockPos, AABB aabb) {
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/Platform.java b/common/src/main/java/whocraft/tardis_refined/common/util/Platform.java
index 7f2d6075..748b50bf 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/Platform.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/Platform.java
@@ -46,4 +46,10 @@ public static MinecraftServer getServer() {
throw new AssertionError();
}
+
+ @ExpectPlatform
+ public static String getModName(String namespace) {
+ throw new AssertionError();
+ }
+
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/common/util/TRTeleporter.java b/common/src/main/java/whocraft/tardis_refined/common/util/TRTeleporter.java
index b720aedc..3e045e58 100644
--- a/common/src/main/java/whocraft/tardis_refined/common/util/TRTeleporter.java
+++ b/common/src/main/java/whocraft/tardis_refined/common/util/TRTeleporter.java
@@ -2,7 +2,10 @@
import com.google.common.base.Preconditions;
import net.minecraft.core.BlockPos;
-import net.minecraft.network.protocol.game.*;
+import net.minecraft.network.protocol.game.ClientboundChangeDifficultyPacket;
+import net.minecraft.network.protocol.game.ClientboundPlayerAbilitiesPacket;
+import net.minecraft.network.protocol.game.ClientboundSetExperiencePacket;
+import net.minecraft.network.protocol.game.ClientboundUpdateMobEffectPacket;
import net.minecraft.server.TickTask;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
@@ -19,18 +22,22 @@
import net.minecraft.world.level.pathfinder.WalkNodeEvaluator;
import net.minecraft.world.phys.AABB;
import net.minecraft.world.phys.Vec3;
-import qouteall.imm_ptl.core.IPGlobal;
-import qouteall.imm_ptl.core.api.PortalAPI;
-import whocraft.tardis_refined.TardisRefined;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.compat.ModCompatChecker;
import whocraft.tardis_refined.compat.portals.ImmersivePortals;
import whocraft.tardis_refined.registry.TRTagKeys;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
public class TRTeleporter {
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/TRTeleporter");
+
/**
* Variant of teleport method where there is no need to track teleported entities
*
@@ -547,19 +554,19 @@ private static boolean safetyCheck(Entity pEntity, ServerLevel destination, doub
if (teleportedEntities != null) {
if (!teleportedEntities.isEmpty()) {
if (teleportedEntities.contains(pEntity)) { //If we are calling this method by itself such as teleporting passengers, check if we have already teleported the entity
- TardisRefined.LOGGER.warn("Failed to teleport entity type as it has already been teleported: {}", pEntity.getType());
+ LOGGER.warn("Failed to teleport entity type as it has already been teleported: {}", pEntity.getType());
return false;
}
}
}
if (pEntity.getType().is(TRTagKeys.TARDIS_TELEPORT_BLACKLIST)) { //Stop teleporting if the entity being teleported is blacklisted
- TardisRefined.LOGGER.warn("Failed to teleport entity type due to it being blacklisted: {}", pEntity.getType());
+ LOGGER.warn("Failed to teleport entity type due to it being blacklisted: {}", pEntity.getType());
return false;
}
if (safeBlockCheck) {
if (!canTeleportTo(blockpos, destination, pEntity)) {
- TardisRefined.LOGGER.warn("Failed to teleport entity type due to destination location being unsafe: {}", pEntity.getType());
+ LOGGER.warn("Failed to teleport entity type due to destination location being unsafe: {}", pEntity.getType());
return false;
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/compat/portals/BotiPortalEntity.java b/common/src/main/java/whocraft/tardis_refined/compat/portals/BotiPortalEntity.java
index ee5a115c..5314db32 100644
--- a/common/src/main/java/whocraft/tardis_refined/compat/portals/BotiPortalEntity.java
+++ b/common/src/main/java/whocraft/tardis_refined/compat/portals/BotiPortalEntity.java
@@ -67,9 +67,11 @@ public void tick() {
public boolean isPortalValid() {
UUID tardisId = getTardisId();
+
if (level() instanceof ServerLevel serverLevel && tickCount > (20 * 40)) {
PortalEntry portalEntry = ImmersivePortals.getPortalsForTardis(tardisId);
+
if (portalEntry == null && this.tickCount > (2 * 20) && !this.getOriginWorld().isClientSide()) {
return false;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortals.java b/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortals.java
index 650e68c5..8f5fdf22 100644
--- a/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortals.java
+++ b/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortals.java
@@ -17,12 +17,13 @@
import net.minecraft.world.level.dimension.LevelStem;
import net.minecraft.world.phys.Vec2;
import net.minecraft.world.phys.Vec3;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import qouteall.imm_ptl.core.api.PortalAPI;
import qouteall.imm_ptl.core.portal.PortalManipulation;
import qouteall.q_misc_util.MiscHelper;
import qouteall.q_misc_util.api.DimensionAPI;
import qouteall.q_misc_util.my_util.DQuaternion;
-import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.api.event.EventResult;
import whocraft.tardis_refined.api.event.TardisCommonEvents;
import whocraft.tardis_refined.common.blockentity.door.TardisInternalDoor;
@@ -53,6 +54,7 @@ public class ImmersivePortals {
// First 4 is exterior, last 4 is door offsets, in order of East, South, West, North
private static final Map THEME_OFFSETS = new HashMap<>();
public static RegistrySupplier> BOTI_PORTAL = null;
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ImmersivePortals");
public static void clearPortalCache() {
EXISTING_PORTALS.clear();
@@ -85,7 +87,7 @@ public static ServerLevel createDimension(Level level, ResourceKey id) {
public static void init() {
if (!ModCompatChecker.immersivePortals()) return; // If the mod isn't detected, we shouldn't do anything
- TardisRefined.LOGGER.info("Immersive Portals Detected - Setting up Compatibility");
+ LOGGER.info("Immersive Portals Detected - Setting up Compatibility");
// Register BOTI Portal here, as doing it in main code would make it a hard dependency
BOTI_PORTAL = ENTITY_TYPES.register("boti_portal", () -> registerStatic(BotiPortalEntity::new, MobCategory.MISC, 1, 1, 96, 20, "boti_portal"));
@@ -229,7 +231,7 @@ private static void setupPortalsForShellThemes() {
private static void detectMissingSetup() {
for (ResourceLocation value : ShellTheme.SHELL_THEME_REGISTRY.keySet()) {
if (!isShellThemeSupported(value) && !value.equals(ShellTheme.getKey(ShellTheme.BRIEFCASE.get()))) {
- TardisRefined.LOGGER.info("{} shell has not been setup for ImmersivePortals", value);
+ LOGGER.info("{} shell has not been setup for ImmersivePortals", value);
}
}
}
@@ -259,6 +261,11 @@ public static boolean onDoorRemoved(Level level, Player player, BlockPos blockPo
public static void createPortals(TardisLevelOperator operator) {
+ if(operator.getPilotingManager().isInFlight()){
+ destroyPortals(operator);
+ return;
+ }
+
// Just for debugging editing values
if (!Platform.isProduction()) {
setupPortalsForShellThemes();
diff --git a/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortalsClient.java b/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortalsClient.java
index 613e6642..52146f44 100644
--- a/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortalsClient.java
+++ b/common/src/main/java/whocraft/tardis_refined/compat/portals/ImmersivePortalsClient.java
@@ -1,8 +1,10 @@
package whocraft.tardis_refined.compat.portals;
+import com.mojang.blaze3d.pipeline.RenderTarget;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
+import qouteall.imm_ptl.core.compat.IPPortingLibCompat;
import qouteall.imm_ptl.core.render.context_management.PortalRendering;
public class ImmersivePortalsClient {
@@ -13,7 +15,17 @@ public static void doClientRenderers() {
EntityRendererRegistry.register(ImmersivePortals.BOTI_PORTAL.get(), BotiPortalRenderer::new);
}
+ @Environment(EnvType.CLIENT)
+ public static boolean isStencilEnabled(RenderTarget renderTarget){
+ return IPPortingLibCompat.getIsStencilEnabled(renderTarget);
+ }
+
+ @Environment(EnvType.CLIENT)
+ public static void setStencilEnabled(RenderTarget renderTarget, boolean cond){
+ IPPortingLibCompat.setIsStencilEnabled(renderTarget, cond);
+ }
+ @Environment(EnvType.CLIENT)
public static boolean shouldStopRenderingInPortal() {
if (PortalRendering.isRendering()) return true;
return false;
diff --git a/common/src/main/java/whocraft/tardis_refined/constants/ModMessages.java b/common/src/main/java/whocraft/tardis_refined/constants/ModMessages.java
index e13a55e9..4e2e6bb5 100644
--- a/common/src/main/java/whocraft/tardis_refined/constants/ModMessages.java
+++ b/common/src/main/java/whocraft/tardis_refined/constants/ModMessages.java
@@ -13,7 +13,6 @@ public class ModMessages {
public static final String UI_EXTERNAL_SHELL = ui("monitor.external_shell");
public static final String UI_LIST_SELECTION = ui("monitor.list.selection");
public static final String UI_DESKTOP_CONFIGURATION = ui("monitor.desktop");
- public static final String UI_SHELL_SELECTION = ui("shell_selection");
public static final String UI_MONITOR_GPS = ui("monitor.main.gps");
public static final String UI_MONITOR_VORTEX = ui("monitor.main.vortex");
public static final String UI_MONITOR_DESTINATION = ui("monitor.main.destination");
@@ -47,6 +46,9 @@ public class ModMessages {
public static final String CONFIG_IP_COMPAT = config("immersive_portals");
public static final String CONFIG_CONTROL_NAMES = config("control_names");
public static final String CONFIG_IDLE_CONSOLE_ANIMS = config("console_idle_animations");
+ public static final String CONFIG_RENDER_VORTEX_IN_DOOR = config("config_render_vortex_in_door");
+ public static final String CONFIG_CUSTOM_SHADERS = config("config_custom_shaders");
+ public static final String SCREEN_SHAKE_MULTIPLIER = config("screen_shake_multiplier");
public static final String CONFIG_BANNED_DIMENSIONS = config("banned_dimensions");
public static final String CMD_DIM_NOT_A_TARDIS = cmdOutput("dim_not_a_tardis");
public static final String CMD_NO_INTERNAL_DOOR = cmdOutput("no_internal_door");
@@ -69,6 +71,10 @@ public class ModMessages {
public static final String CMD_ARG_SHELL_INVALID = cmdArgInvalid("shell");
public static final String KEYBIND_EXIT_VIEW = keybind("exit_exterior_view");
public static final String KEYBIND_TOGGLE_INFO_EXTERIOR_VIEW = keybind("toggle_info_exterior_view");
+ public static final String VILLAGER_CAN_FLY = ui("villager_can_pilot");
+ public static final String DEMANDS_PAYMENT = message("demands_payment");
+ public static final String PILOT_TIME = message("pilot_time");
+ public static final String TARDIS_SLEEP_END = message("tardis_sleep_end");
public static String GITHUB_RELEASE_PAGE = "https://github.com/WhoCraft/TardisRefined/releases";
/*Item Special cases*/
@@ -76,6 +82,8 @@ public class ModMessages {
public static String ITEM_GROUP = "itemGroup." + TardisRefined.MODID;
/*Messages*/
+
+
public static String MSG_EXTERIOR_COOLDOWN = message("exterior_cooldown");
public static String MSG_KEY_BOUND = message("key_bound");
public static String MSG_KEY_CYCLED = message("key_cycled");
@@ -95,6 +103,7 @@ public class ModMessages {
public static String TARDIS_IS_ON_THE_WAY = message("tardis_on_the_way");
public static String LANDING_PAD_NOT_UNLOCKED = message("landing_pad_unlocked");
public static String LANDING_PAD_TRANSIENT = message("landing_pad_transient");
+ public static String LANDING_PAD_BANNED_DIM = message("landing_pad_banned_dim");
public static String RECOVERY_PROGRESS = message("recovery_progress");
public static String FUEL = message("fuel");
public static String REFUEL = message("refuel_engaged");
diff --git a/common/src/main/java/whocraft/tardis_refined/constants/NbtConstants.java b/common/src/main/java/whocraft/tardis_refined/constants/NbtConstants.java
index 65bb0ff8..c799e963 100644
--- a/common/src/main/java/whocraft/tardis_refined/constants/NbtConstants.java
+++ b/common/src/main/java/whocraft/tardis_refined/constants/NbtConstants.java
@@ -48,15 +48,8 @@ public class NbtConstants {
// Internal Door
public static final String DOOR_IS_MAIN_DOOR = "is_main_door";
public static final String DOOR_ID = "door_id";
- public static final String DOOR_IS_OPEN = "is_open";
- public static final String DOOR_IS_LOCKED = "is_locked";
-
- // External Shell
- public static final String SHELL_THEME_ID = "shell_id";
-
// Controls
- public static final String CONTROL_ID = "control_id";
public static final String CONSOLE_POS = "console_pos";
public static final String CONTROL_SIZE_WIDTH = "console_size_width";
public static final String CONTROL_SIZE_HEIGHT = "console_size_height";
@@ -90,7 +83,10 @@ public class NbtConstants {
public static final String FUEL = "fuel";
public static final String MAXIMUM_FUEL = "MaximumFuel";
public static final String IS_PASSIVELY_REFUELING = "is_passively_refueling";
- public static final CharSequence MINECRAFT = "minecraft";
+ public static final String MINECRAFT = "minecraft";
+
+
+ public static final String MASTER_DOOR = "master_door";
public static TardisNavLocation getTardisNavLocation(CompoundTag targetTag, String entry) {
if(targetTag.contains(entry)) {
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/PistonBaseBlockMixin.java b/common/src/main/java/whocraft/tardis_refined/mixin/PistonBaseBlockMixin.java
new file mode 100644
index 00000000..ae105c49
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/PistonBaseBlockMixin.java
@@ -0,0 +1,24 @@
+package whocraft.tardis_refined.mixin;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.core.Direction;
+import net.minecraft.world.level.Level;
+import net.minecraft.world.level.block.piston.PistonBaseBlock;
+import net.minecraft.world.level.block.state.BlockState;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+import whocraft.tardis_refined.registry.TRBlockRegistry;
+
+@Mixin(PistonBaseBlock.class)
+public class PistonBaseBlockMixin {
+
+ @Inject(method = "isPushable(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;ZLnet/minecraft/core/Direction;)Z", at = @At("HEAD"), cancellable = true)
+ private static void isPushable(BlockState blockState, Level level, BlockPos blockPos, Direction direction, boolean bl, Direction direction2, CallbackInfoReturnable cir) {
+ if (blockState.is(TRBlockRegistry.GLOBAL_CONSOLE_BLOCK.get())) {
+ cir.setReturnValue(false);
+ }
+ }
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/ServerPlayerMixin.java b/common/src/main/java/whocraft/tardis_refined/mixin/ServerPlayerMixin.java
new file mode 100644
index 00000000..caa73db5
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/ServerPlayerMixin.java
@@ -0,0 +1,54 @@
+package whocraft.tardis_refined.mixin;
+
+import net.minecraft.core.BlockPos;
+import net.minecraft.resources.ResourceKey;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.server.level.ServerPlayer;
+import net.minecraft.world.level.Level;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Shadow;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
+import whocraft.tardis_refined.common.util.PlayerUtil;
+import whocraft.tardis_refined.constants.ModMessages;
+import whocraft.tardis_refined.registry.TRDimensionTypes;
+import whocraft.tardis_refined.registry.TRUpgrades;
+
+@Mixin(ServerPlayer.class)
+public abstract class ServerPlayerMixin {
+
+
+
+ @Inject(method = "stopSleepInBed(ZZ)V", at = @At("HEAD"))
+ private void stopSleepInBed(boolean bl, boolean bl2, CallbackInfo ci) {
+ ServerPlayer serverPlayer = (ServerPlayer) (Object) this;
+ if (serverPlayer.serverLevel() != null) {
+ if (serverPlayer.level().dimensionTypeId() == TRDimensionTypes.TARDIS) {
+ TardisLevelOperator.get(serverPlayer.serverLevel()).ifPresent(x -> {
+ var upgradeHandler = x.getUpgradeHandler();
+ if (!upgradeHandler.isUpgradeUnlocked(TRUpgrades.RESPAWN_ALLOWED.get())) {
+ PlayerUtil.sendMessage(serverPlayer, ModMessages.TARDIS_SLEEP_END, true);
+ }
+ });
+ }
+ }
+ }
+
+ @Inject(method = "setRespawnPosition(Lnet/minecraft/resources/ResourceKey;Lnet/minecraft/core/BlockPos;FZZ)V", at = @At("HEAD"), cancellable = true)
+ public void setRespawnPosition(ResourceKey resourceKey, BlockPos blockPos, float f, boolean bl, boolean bl2, CallbackInfo ci) {
+ ServerPlayer serverPlayer = (ServerPlayer) (Object) this;
+ if (serverPlayer.serverLevel() != null) {
+ if (serverPlayer.level().dimensionTypeId() == TRDimensionTypes.TARDIS) {
+ TardisLevelOperator.get(serverPlayer.serverLevel()).ifPresent(x -> {
+ var upgradeHandler = x.getUpgradeHandler();
+ if (!upgradeHandler.isUpgradeUnlocked(TRUpgrades.RESPAWN_ALLOWED.get())) {
+ ci.cancel();
+ }
+ });
+ }
+ }
+ }
+
+}
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/VillagerMixin.java b/common/src/main/java/whocraft/tardis_refined/mixin/VillagerMixin.java
index 27944ddd..0eee10e8 100644
--- a/common/src/main/java/whocraft/tardis_refined/mixin/VillagerMixin.java
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/VillagerMixin.java
@@ -1,16 +1,77 @@
package whocraft.tardis_refined.mixin;
+import net.minecraft.nbt.CompoundTag;
+import net.minecraft.network.chat.Component;
+import net.minecraft.network.syncher.EntityDataAccessor;
+import net.minecraft.network.syncher.EntityDataSerializers;
+import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.server.level.ServerLevel;
+import net.minecraft.world.InteractionHand;
+import net.minecraft.world.InteractionResult;
+import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.npc.Villager;
+import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.schedule.Activity;
+import net.minecraft.world.item.Items;
import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.Unique;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
+import whocraft.tardis_refined.common.tardis.manager.TardisPilotingManager;
+import whocraft.tardis_refined.common.util.PlayerUtil;
+import whocraft.tardis_refined.constants.ModMessages;
+import whocraft.tardis_refined.registry.TRVillagerProfession;
+import whocraft.tardis_refined.villager.FlyTardisAtPOI;
+import whocraft.tardis_refined.villager.VillagerDuck;
+
+import static whocraft.tardis_refined.common.util.MiscHelper.convertTicksToRealTime;
@Mixin(Villager.class)
-public class VillagerMixin {
+public class VillagerMixin implements VillagerDuck {
+
+ @Unique
+ private static final EntityDataAccessor PILOT_TICKS = SynchedEntityData.defineId(Villager.class, EntityDataSerializers.INT);
+
+ @Inject(method = "defineSynchedData()V", at = @At("HEAD"), cancellable = true)
+ protected void defineSynchedData(CallbackInfo ci) {
+ Villager villager = (Villager) (Object) this;
+ villager.getEntityData().define(PILOT_TICKS, 0);
+ }
+
+ @Inject(method = "addAdditionalSaveData(Lnet/minecraft/nbt/CompoundTag;)V", at = @At("TAIL"), cancellable = true)
+ public void addAdditionalSaveData(CompoundTag compoundTag, CallbackInfo ci) {
+ compoundTag.putInt("tardis_refined_pilot_ticks", tardisRefined$getPilotingTicks());
+ }
+
+ @Inject(method = "readAdditionalSaveData(Lnet/minecraft/nbt/CompoundTag;)V", at = @At("TAIL"), cancellable = true)
+ public void readAdditionalSaveData(CompoundTag compoundTag, CallbackInfo ci) {
+ tardisRefined$setPilotingTicks(compoundTag.getInt("tardis_refined_pilot_ticks"));
+ }
+
+
+ @Inject(method = "mobInteract(Lnet/minecraft/world/entity/player/Player;Lnet/minecraft/world/InteractionHand;)Lnet/minecraft/world/InteractionResult;", at = @At("HEAD"), cancellable = true)
+ public void mobInteract(Player player, InteractionHand interactionHand, CallbackInfoReturnable cir) {
+ Villager villager = (Villager) (Object) this;
+ if (villager.getVillagerData().getProfession() == TRVillagerProfession.PILOT.get()) {
+
+ // Handle Emerald
+ if(player.getItemInHand(interactionHand).is(Items.EMERALD)){
+ tardisRefined$setPilotingTicks(tardisRefined$getPilotingTicks() + FlyTardisAtPOI.EMERALD_FLIGHT_TIME);
+ player.getItemInHand(interactionHand).shrink(1);
+ cir.setReturnValue(InteractionResult.SUCCESS);
+ }
+
+ if(tardisRefined$getPilotingTicks() > 0){
+ PlayerUtil.sendMessage(player, Component.translatable(ModMessages.PILOT_TIME, convertTicksToRealTime(tardisRefined$getPilotingTicks())), true);
+ } else {
+ villager.setUnhappy();
+ PlayerUtil.sendMessage(player, Component.translatable(ModMessages.DEMANDS_PAYMENT), true);
+ }
+ }
+ }
@Inject(method = "tick()V", at = @At("HEAD"), cancellable = true)
public void tick(CallbackInfo ci) {
@@ -18,12 +79,45 @@ public void tick(CallbackInfo ci) {
if (villager.level() instanceof ServerLevel serverLevel) {
TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> {
- if (!villager.getBrain().isActive(Activity.WORK)) {
- villager.getBrain().setDefaultActivity(Activity.WORK);
- villager.getBrain().setActiveActivityIfPossible(Activity.WORK);
+
+ TardisPilotingManager pilotingManager = tardisLevelOperator.getPilotingManager();
+
+ if (pilotingManager.isCrashing()) {
+ if (!villager.getBrain().isActive(Activity.PANIC)) {
+ villager.getBrain().setActiveActivityIfPossible(Activity.PANIC);
+ return;
+ }
+ }
+
+ if (pilotingManager.isLanding()) {
+ if (!villager.getBrain().isActive(Activity.CELEBRATE)) {
+ villager.getBrain().setActiveActivityIfPossible(Activity.CELEBRATE);
+ return;
+ }
+ }
+
+
+ if (pilotingManager.isInFlight()) {
+ if (!villager.getBrain().isActive(Activity.WORK)) {
+ villager.getBrain().setDefaultActivity(Activity.WORK);
+ villager.getBrain().setActiveActivityIfPossible(Activity.WORK);
+ return;
+ }
}
+
});
}
}
+ @Override
+ public void tardisRefined$setPilotingTicks(int ticks) {
+ Villager villager = (Villager) (Object) this;
+ villager.getEntityData().set(PILOT_TICKS, ticks);
+ }
+
+ @Override
+ public int tardisRefined$getPilotingTicks() {
+ Villager villager = (Villager) (Object) this;
+ return villager.getEntityData().get(PILOT_TICKS);
+ }
}
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/render/ModelPartInvoker.java b/common/src/main/java/whocraft/tardis_refined/mixin/render/ModelPartInvoker.java
new file mode 100644
index 00000000..1f488832
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/render/ModelPartInvoker.java
@@ -0,0 +1,15 @@
+package whocraft.tardis_refined.mixin.render;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+import net.minecraft.client.model.geom.ModelPart;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.gen.Invoker;
+
+@Mixin(ModelPart.class)
+public interface ModelPartInvoker {
+
+ @Invoker("compile")
+ void invokeCompile(PoseStack.Pose pose, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha);
+
+}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/render/SodiumFixMixin.java b/common/src/main/java/whocraft/tardis_refined/mixin/render/SodiumFixMixin.java
new file mode 100644
index 00000000..68e5a322
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/render/SodiumFixMixin.java
@@ -0,0 +1,57 @@
+package whocraft.tardis_refined.mixin.render;
+
+import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.blaze3d.vertex.VertexConsumer;
+import me.jellysquid.mods.sodium.client.render.immediate.model.EntityRenderer;
+import net.caffeinemc.mods.sodium.api.util.ColorABGR;
+import net.caffeinemc.mods.sodium.api.vertex.buffer.VertexBufferWriter;
+import net.minecraft.client.model.geom.ModelPart;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import whocraft.tardis_refined.client.model.pallidium.ExtendedCubeListBuilder;
+
+
+
+@Mixin(value = EntityRenderer.class, remap = false)
+public class SodiumFixMixin {
+
+ @SuppressWarnings("ConstantValue")
+ @Inject(method = "render", at = @At("HEAD"), remap = false, cancellable = true)
+ private static void render(PoseStack poseStack, VertexBufferWriter writer, ModelPart part, int packedLight, int packedOverlay, int color, CallbackInfo ci) {
+ boolean found = false;
+ for (ModelPart.Cube cube : part.cubes) {
+ if (cube instanceof ExtendedCubeListBuilder.PerFaceUVCube) {
+ found = true;
+ break;
+ }
+ }
+
+ if (found && writer instanceof VertexConsumer vertexConsumer) {
+ ci.cancel();
+
+ if (part.visible) {
+ float red = ColorABGR.unpackRed(color) / 255F;
+ float green = ColorABGR.unpackGreen(color) / 255F;
+ float blue = ColorABGR.unpackBlue(color) / 255F;
+ float alpha = ColorABGR.unpackAlpha(color) / 255F;
+
+ if (!part.cubes.isEmpty() || !part.children.isEmpty()) {
+ poseStack.pushPose();
+ part.translateAndRotate(poseStack);
+ if (!part.skipDraw && ((Object) part) instanceof ModelPartInvoker invoker) {
+ invoker.invokeCompile(poseStack.last(), vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ }
+
+ for (ModelPart modelPart : part.children.values()) {
+ modelPart.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
+ }
+
+ poseStack.popPose();
+ }
+ }
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinMainTarget.java b/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinMainTarget.java
index 8cddf2f6..cc2d6f15 100644
--- a/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinMainTarget.java
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinMainTarget.java
@@ -8,9 +8,8 @@
import org.lwjgl.opengl.GL30C;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.ModifyArgs;
import org.spongepowered.asm.mixin.injection.Redirect;
-import org.spongepowered.asm.mixin.injection.invoke.arg.Args;
+import whocraft.tardis_refined.client.TRShaders;
import whocraft.tardis_refined.client.renderer.vortex.RenderTargetStencil;
import java.nio.IntBuffer;
@@ -18,7 +17,7 @@
import static org.lwjgl.opengl.GL11.GL_DEPTH_COMPONENT;
import static org.lwjgl.opengl.GL30.GL_DEPTH32F_STENCIL8;
import static org.lwjgl.opengl.GL30.GL_FLOAT_32_UNSIGNED_INT_24_8_REV;
-
+import static org.lwjgl.opengl.GL30C.GL_DEPTH24_STENCIL8;
@Mixin(MainTarget.class)
public abstract class MixinMainTarget extends RenderTarget {
@@ -28,61 +27,28 @@ public MixinMainTarget(boolean useDepth) {
throw new RuntimeException();
}
- @Redirect(
- method = "allocateDepthAttachment(Lcom/mojang/blaze3d/pipeline/MainTarget$Dimension;)Z",
- at = @At(
- value = "INVOKE",
- target = "Lcom/mojang/blaze3d/platform/GlStateManager;_texImage2D(IIIIIIIILjava/nio/IntBuffer;)V"
- )
- )
- private void onTexImage2D(
- int target, int level, int internalFormat,
- int width, int height, int border, int format, int type, IntBuffer pixels
- ) {
+ @Redirect(method = "allocateDepthAttachment(Lcom/mojang/blaze3d/pipeline/MainTarget$Dimension;)Z", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;_texImage2D(IIIIIIIILjava/nio/IntBuffer;)V"))
+ private void onTexImage2D(int target, int level, int internalFormat, int width, int height, int border, int format, int type, IntBuffer pixels) {
boolean isStencilBufferEnabled = ((RenderTargetStencil) this).tr$getisStencilEnabled();
if (internalFormat == GL_DEPTH_COMPONENT && isStencilBufferEnabled) {
- GlStateManager._texImage2D(
- target,
- level,
- GL_DEPTH32F_STENCIL8,
- width,
- height,
- border,
- ARBFramebufferObject.GL_DEPTH_STENCIL,
- GL_FLOAT_32_UNSIGNED_INT_24_8_REV,
- pixels
- );
- }
- else {
- GlStateManager._texImage2D(
- target, level, internalFormat, width, height,
- border, format, type, pixels
- );
+ GlStateManager._texImage2D(target, level, TRShaders.shouldUseCompatMode() ? GL_DEPTH32F_STENCIL8 : GL_DEPTH24_STENCIL8,
+ width, height, border, ARBFramebufferObject.GL_DEPTH_STENCIL, TRShaders.shouldUseCompatMode() ? GL_FLOAT_32_UNSIGNED_INT_24_8_REV : GL30C.GL_UNSIGNED_INT_24_8,
+ pixels);
+ } else {
+ GlStateManager._texImage2D(target, level, internalFormat, width, height, border, format, type, pixels);
}
}
- @Redirect(
- method = "createFrameBuffer(II)V",
- at = @At(
- value = "INVOKE",
- target = "Lcom/mojang/blaze3d/platform/GlStateManager;_glFramebufferTexture2D(IIIII)V"
- )
- )
- private void redirectFrameBufferTexture2d(
- int target, int attachment, int textureTarget, int texture, int level
- ) {
+ @Redirect(method = "createFrameBuffer(II)V", at = @At(value = "INVOKE", target = "Lcom/mojang/blaze3d/platform/GlStateManager;_glFramebufferTexture2D(IIIII)V"))
+ private void redirectFrameBufferTexture2d(int target, int attachment, int textureTarget, int texture, int level) {
boolean isStencilBufferEnabled = ((RenderTargetStencil) this).tr$getisStencilEnabled();
if (attachment == GL30C.GL_DEPTH_ATTACHMENT && isStencilBufferEnabled) {
- GlStateManager._glFramebufferTexture2D(
- target, GL30.GL_DEPTH_STENCIL_ATTACHMENT, textureTarget, texture, level
- );
- }
- else {
+ GlStateManager._glFramebufferTexture2D(target, GL30.GL_DEPTH_STENCIL_ATTACHMENT, textureTarget, texture, level);
+ } else {
GlStateManager._glFramebufferTexture2D(target, attachment, textureTarget, texture, level);
}
}
-
}
\ No newline at end of file
diff --git a/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinRenderTarget.java b/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinRenderTarget.java
index 58bffb08..62a10765 100644
--- a/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinRenderTarget.java
+++ b/common/src/main/java/whocraft/tardis_refined/mixin/render/buffer/MixinRenderTarget.java
@@ -13,10 +13,13 @@
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.Redirect;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import whocraft.tardis_refined.client.TRShaders;
import whocraft.tardis_refined.client.renderer.vortex.RenderTargetStencil;
import java.nio.IntBuffer;
+import static org.lwjgl.opengl.ARBDepthBufferFloat.GL_DEPTH32F_STENCIL8;
+import static org.lwjgl.opengl.ARBDepthBufferFloat.GL_FLOAT_32_UNSIGNED_INT_24_8_REV;
import static org.lwjgl.opengl.GL11.GL_DEPTH_COMPONENT;
import static org.lwjgl.opengl.GL30.GL_DEPTH24_STENCIL8;
@@ -62,12 +65,12 @@ private void redirectTexImage2d(
GlStateManager._texImage2D(
target,
level,
- GL_DEPTH24_STENCIL8,
+ TRShaders.shouldUseCompatMode() ? GL_DEPTH32F_STENCIL8 : GL_DEPTH24_STENCIL8,
width,
height,
border,
ARBFramebufferObject.GL_DEPTH_STENCIL,
- GL30.GL_UNSIGNED_INT_24_8,
+ TRShaders.shouldUseCompatMode() ? GL_FLOAT_32_UNSIGNED_INT_24_8_REV : GL30.GL_UNSIGNED_INT_24_8,
pixels
);
} else {
diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatterns.java b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatterns.java
index 54f16e89..a475b8d3 100644
--- a/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatterns.java
+++ b/common/src/main/java/whocraft/tardis_refined/patterns/ConsolePatterns.java
@@ -1,6 +1,8 @@
package whocraft.tardis_refined.patterns;
import net.minecraft.resources.ResourceLocation;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
@@ -17,8 +19,9 @@
public class ConsolePatterns {
public static final ConsolePattern DEFAULT = (ConsolePattern) new ConsolePattern(ResourceConstants.DEFAULT_PATTERN_ID, new PatternTexture(createConsolePatternTextureLocation(ConsoleTheme.FACTORY.getId(), ConsoleTheme.FACTORY.getId().getPath() + "_console"), true), Optional.of(TRConsoleSoundProfiles.DEFAULT_SOUND_PROFILE)).setThemeId(ConsoleTheme.FACTORY.getId());
- private static PatternReloadListener PATTERNS = PatternReloadListener.createListener(TardisRefined.MODID + "/patterns/console", ConsolePatternCollection.CODEC, patternCollections -> PatternReloadListener.processPatternCollections(patternCollections));
- private static Map> DEFAULT_PATTERNS = new HashMap();
+ private static final PatternReloadListener PATTERNS = PatternReloadListener.createListener(TardisRefined.MODID + "/patterns/console", ConsolePatternCollection.CODEC, patternCollections -> PatternReloadListener.processPatternCollections(patternCollections));
+ private static final Map> DEFAULT_PATTERNS = new HashMap<>();
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ConsolePatterns");
public static PatternReloadListener getReloadListener() {
return PATTERNS;
@@ -112,8 +115,8 @@ public static ConsolePattern next(List patterns, ConsolePattern
return patterns.get(prevIndex + 1);
}
- private static ConsolePattern addDefaultPattern(ResourceLocation themeId, String patternId, String textureName, boolean hasEmissiveTexture) {
- return addDefaultPattern(themeId, patternId, textureName, hasEmissiveTexture, Optional.of(TRConsoleSoundProfiles.DEFAULT_SOUND_PROFILE));
+ private static void addDefaultPattern(ResourceLocation themeId, String patternId, String textureName, boolean hasEmissiveTexture) {
+ addDefaultPattern(themeId, patternId, textureName, hasEmissiveTexture, Optional.of(TRConsoleSoundProfiles.DEFAULT_SOUND_PROFILE));
}
@@ -124,14 +127,13 @@ private static ConsolePattern addDefaultPattern(ResourceLocation themeId, String
*
* @implSpec INTERNAL USE ONLY
*/
- private static ConsolePattern addDefaultPattern(ResourceLocation themeId, String patternId, String textureName, boolean hasEmissiveTexture, Optional soundProfile) {
+ private static void addDefaultPattern(ResourceLocation themeId, String patternId, String textureName, boolean hasEmissiveTexture, Optional soundProfile) {
List consolePatternList;
ConsolePattern pattern = (ConsolePattern) new ConsolePattern(patternId, new PatternTexture(createConsolePatternTextureLocation(themeId, textureName), hasEmissiveTexture), soundProfile).setThemeId(themeId);
if (DEFAULT_PATTERNS.containsKey(themeId)) {
consolePatternList = DEFAULT_PATTERNS.get(themeId);
- List currentList = new ArrayList<>();
- currentList.addAll(consolePatternList);
+ List currentList = new ArrayList<>(consolePatternList);
currentList.add(pattern);
DEFAULT_PATTERNS.replace(themeId, currentList);
} else {
@@ -139,17 +141,14 @@ private static ConsolePattern addDefaultPattern(ResourceLocation themeId, String
DEFAULT_PATTERNS.put(themeId, consolePatternList);
}
if (!Platform.isProduction()) //Enable Logging in development environment
- TardisRefined.LOGGER.info("Adding ConsolePattern {} for {}", pattern.id(), themeId);
- return pattern;
+ LOGGER.info("Adding ConsolePattern {} for {}", pattern.id(), themeId);
}
/**
* @implSpec INTERNAL USE ONLY
*/
private static ResourceLocation createConsolePatternTextureLocation(ResourceLocation themeId, String textureName) {
- ResourceLocation texture = new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/" + themeId.getPath().toLowerCase(Locale.ENGLISH) + "/" + textureName + ".png");
-
- return texture;
+ return new ResourceLocation(TardisRefined.MODID, "textures/blockentity/console/" + themeId.getPath().toLowerCase(Locale.ENGLISH) + "/" + textureName + ".png");
}
/**
@@ -164,7 +163,7 @@ public static Map> getDefaultPatterns() {
public static Map getDefaultPatternsDatagen() {
Map defaults = new HashMap<>();
- DEFAULT_PATTERNS.entrySet().forEach(entry -> defaults.put(entry.getKey(), (ConsolePatternCollection) new ConsolePatternCollection(entry.getValue()).setThemeId(entry.getKey())));
+ DEFAULT_PATTERNS.forEach((key, value) -> defaults.put(key, (ConsolePatternCollection) new ConsolePatternCollection(value).setThemeId(key)));
return defaults;
}
@@ -175,8 +174,8 @@ public static Map getDefaultPatterns
public static Map> registerDefaultPatterns() {
DEFAULT_PATTERNS.clear();
/*Add Base Textures*/
- for (ResourceLocation consoleTheme : ConsoleTheme.CONSOLE_THEME_REGISTRY.keySet()) {
- boolean hasDefaultEmission = consoleTheme == ConsoleTheme.COPPER.getId() || consoleTheme == ConsoleTheme.CRYSTAL.getId() || consoleTheme == ConsoleTheme.CORAL.getId() || consoleTheme == ConsoleTheme.FACTORY.getId() || consoleTheme == ConsoleTheme.INITIATIVE.getId() || consoleTheme == ConsoleTheme.TOYOTA.getId() || consoleTheme == ConsoleTheme.VICTORIAN.getId();
+ for (ResourceLocation consoleTheme : ConsoleTheme.CONSOLE_THEME_DEFERRED_REGISTRY.keySet()) {
+ boolean hasDefaultEmission = consoleTheme == ConsoleTheme.VICTORIAN.getId() || consoleTheme == ConsoleTheme.COPPER.getId() || consoleTheme == ConsoleTheme.CRYSTAL.getId() || consoleTheme == ConsoleTheme.CORAL.getId() || consoleTheme == ConsoleTheme.FACTORY.getId() || consoleTheme == ConsoleTheme.INITIATIVE.getId() || consoleTheme == ConsoleTheme.TOYOTA.getId();
addDefaultPattern(consoleTheme, ResourceConstants.DEFAULT_PATTERN_ID.getPath(), consoleTheme.getPath() + "_console", hasDefaultEmission);
}
@@ -200,9 +199,7 @@ public static Map> registerDefaultPattern
/*Myst*/
addDefaultPattern(ConsoleTheme.MYST.getId(), "molten", "myst_console_molten", false);
- /*Victorian*/
- addDefaultPattern(ConsoleTheme.VICTORIAN.getId(), "smissmass", "victorian_console_smissmass", false);
- addDefaultPattern(ConsoleTheme.VICTORIAN.getId(), "grant", "victorian_console_grant", false);
+ addDefaultPattern(ConsoleTheme.VICTORIAN.getId(), "bronze_age", "victorian_console_bronze_age", true);
/*Initiative*/
addDefaultPattern(ConsoleTheme.INITIATIVE.getId(), "aperture", "initiative_console_aperture", true);
diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/PatternReloadListener.java b/common/src/main/java/whocraft/tardis_refined/patterns/PatternReloadListener.java
index d3b5c13d..e7b267fb 100644
--- a/common/src/main/java/whocraft/tardis_refined/patterns/PatternReloadListener.java
+++ b/common/src/main/java/whocraft/tardis_refined/patterns/PatternReloadListener.java
@@ -12,7 +12,6 @@
import whocraft.tardis_refined.common.util.MiscHelper;
import java.io.Reader;
-import java.lang.reflect.Array;
import java.util.*;
import java.util.function.Function;
@@ -67,11 +66,11 @@ protected Map> mapValues(Map {
raws.add((T) result.getFirst().setThemeId(key));
- TardisRefined.LOGGER.info("Adding entry for {}", key);
+ LOGGER.info("Adding Pattern {} for {}", fullId, key);
})
.ifRight(partial -> TardisRefined.LOGGER.error("Error deserializing json {} in folder {} from pack {}: {}", key, this.folderName, resource.sourcePackId(), partial.message()));
} catch (Exception e) {
- TardisRefined.LOGGER.error(String.format(Locale.ENGLISH, "Error reading resource %s in folder %s from pack %s: ", key, this.folderName, resource.sourcePackId()), e);
+ LOGGER.error(String.format(Locale.ENGLISH, "Error reading resource %s in folder %s from pack %s: ", key, this.folderName, resource.sourcePackId()), e);
}
}
//Apply merging function on all raw files
diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPattern.java b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPattern.java
index 768d0fc9..6c4aeab3 100644
--- a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPattern.java
+++ b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPattern.java
@@ -15,8 +15,8 @@ public class ShellPattern extends BasePattern {
return instance.group(
ResourceLocation.CODEC.fieldOf("id").forGetter(ShellPattern::id),
Codec.STRING.orElse("Placeholder").fieldOf("name_component").forGetter(ShellPattern::name),
- PatternTexture.getCodec().fieldOf("exterior").forGetter(ShellPattern::exteriorDoorTexture),
- PatternTexture.getCodec().fieldOf("interior").forGetter(ShellPattern::interiorDoorTexture),
+ PatternTexture.getCodec().fieldOf("exterior").forGetter(ShellPattern::shellTexture),
+ PatternTexture.getCodec().fieldOf("interior").forGetter(ShellPattern::doorTexture),
ShellSoundProfile.CODEC.optionalFieldOf("sound_profile").orElse(Optional.of(TRShellSoundProfiles.DEFAULT_SOUND_PROFILE)).forGetter(ShellPattern::soundProfile)
).apply(instance, ShellPattern::new);
});
@@ -44,11 +44,11 @@ public ShellPattern(ResourceLocation identifier, String name, PatternTexture ext
this.shellSoundProfile = shellSoundProfile;
}
- public PatternTexture exteriorDoorTexture() {
+ public PatternTexture shellTexture() {
return this.exteriorDoorTexture;
}
- public PatternTexture interiorDoorTexture() {
+ public PatternTexture doorTexture() {
return this.interiorDoorTexture;
}
diff --git a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatterns.java b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatterns.java
index b80b3790..fbc6e4ed 100644
--- a/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatterns.java
+++ b/common/src/main/java/whocraft/tardis_refined/patterns/ShellPatterns.java
@@ -1,11 +1,15 @@
package whocraft.tardis_refined.patterns;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.sounds.SoundEvent;
+import net.minecraft.sounds.SoundEvents;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.tardis.themes.ConsoleTheme;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
-import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.constants.ResourceConstants;
+import whocraft.tardis_refined.patterns.sound.ConfiguredSound;
import whocraft.tardis_refined.patterns.sound.ShellSoundProfile;
import whocraft.tardis_refined.patterns.sound.TRShellSoundProfiles;
@@ -15,10 +19,14 @@
* Data Manager for all {@link ShellPattern}(s)
*/
public class ShellPatterns {
+
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ShellPatterns");
+
+
public static final ShellPattern DEFAULT = (ShellPattern) new ShellPattern(ResourceConstants.DEFAULT_PATTERN_ID, new PatternTexture(exteriorTextureLocation(ShellTheme.FACTORY.getId(), ShellTheme.FACTORY.getId().getPath()), false)
, new PatternTexture(interiorTextureLocation(ShellTheme.FACTORY.getId(), ShellTheme.FACTORY.getId().getPath()), false), Optional.of(TRShellSoundProfiles.DEFAULT_SOUND_PROFILE)).setThemeId(ConsoleTheme.FACTORY.getId());
public static PatternReloadListener PATTERNS = PatternReloadListener.createListener(TardisRefined.MODID + "/patterns/shell", ShellPatternCollection.CODEC, patternCollections -> PatternReloadListener.processPatternCollections(patternCollections));
- private static Map> DEFAULT_PATTERNS = new HashMap();
+ private static final Map> DEFAULT_PATTERNS = new HashMap<>();
public static PatternReloadListener getReloadListener() {
return PATTERNS;
@@ -126,16 +134,14 @@ public static ShellPattern addDefaultPattern(ResourceLocation themeId, ShellPatt
ShellPattern pattern = (ShellPattern) datagenPattern.setThemeId(themeId);
if (DEFAULT_PATTERNS.containsKey(themeId)) {
patternList = DEFAULT_PATTERNS.get(themeId);
- List currentList = new ArrayList<>();
- currentList.addAll(patternList);
+ List currentList = new ArrayList<>(patternList);
currentList.add(pattern);
DEFAULT_PATTERNS.replace(themeId, currentList);
+ LOGGER.info("Adding Shell Pattern {} for {}", pattern.id(), themeId);
} else {
patternList = List.of(pattern);
DEFAULT_PATTERNS.put(themeId, patternList);
}
- if (!Platform.isProduction()) //Enable Logging in development environment
- TardisRefined.LOGGER.info("Adding Shell Pattern {} for {}", pattern.id(), themeId);
return pattern;
}
@@ -177,7 +183,7 @@ public static Map> getDefaultPatterns() {
public static Map getDefaultPatternsDatagen() {
Map defaults = new HashMap<>();
- DEFAULT_PATTERNS.entrySet().forEach(entry -> defaults.put(entry.getKey(), (ShellPatternCollection) new ShellPatternCollection(entry.getValue()).setThemeId(entry.getKey())));
+ DEFAULT_PATTERNS.forEach((key, value) -> defaults.put(key, (ShellPatternCollection) new ShellPatternCollection(value).setThemeId(key)));
return defaults;
}
@@ -189,6 +195,9 @@ public static Map> registerDefaultPatterns(
DEFAULT_PATTERNS.clear();
/*Add Base Textures*/
for (ResourceLocation shellTheme : ShellTheme.SHELL_THEME_REGISTRY.keySet()) {
+ if(shellTheme == ShellTheme.SHULKER.getId()){
+ continue;
+ }
boolean hasDefaultEmission = shellTheme == ShellTheme.MYSTIC.getId() || shellTheme == ShellTheme.NUKA.getId() || shellTheme == ShellTheme.PAGODA.getId() || shellTheme == ShellTheme.PHONE_BOOTH.getId() || shellTheme == ShellTheme.POLICE_BOX.getId() || shellTheme == ShellTheme.VENDING.getId();
String textureName = shellTheme.getPath();
ShellSoundProfile soundProfile = TRShellSoundProfiles.defaultSoundProfilesByTheme().getOrDefault(shellTheme, TRShellSoundProfiles.DEFAULT_SOUND_PROFILE);
@@ -199,8 +208,9 @@ public static Map> registerDefaultPatterns(
addDefaultPattern(shellTheme, pattern);
}
- //TODO Currently not compatible
addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "faded", true);
+ addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "fourteen", true);
+ addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "barbie", true);
// addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "gaudy", false);
// addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "metal", false);
// addDefaultPattern(ShellTheme.POLICE_BOX.getId(), "stone", false);
@@ -216,12 +226,26 @@ public static Map> registerDefaultPatterns(
addDefaultPattern(ShellTheme.MYSTIC.getId(), "dwarven", false);
- addDefaultPattern(ShellTheme.BIG_BEN.getId(), "gothic", false);
+ addDefaultPattern(ShellTheme.BIG_BEN.getId(), "gothic", true);
+
+
+
+ ShellSoundProfile soundProfile = new ShellSoundProfile();
+ soundProfile.setDoorOpen(new ConfiguredSound(SoundEvents.SHULKER_BOX_OPEN));
+ soundProfile.setDoorClose(new ConfiguredSound(SoundEvents.SHULKER_BOX_CLOSE));
+
+ String[] shulkerColors = {
+ "black", "blue", "brown", "cyan", "gray", "green", "light_blue", "light_gray",
+ "lime", "magenta", "orange", "pink", "purple", "red", "white", "yellow"
+ };
+
+ for (String color : shulkerColors) {
+ addDefaultPattern(ShellTheme.SHULKER.getId(), "shulker_" + color, false, Optional.of(soundProfile));
+ }
+ addDefaultPattern(ShellTheme.SHULKER.getId(), "shulker", false, Optional.of(soundProfile));
- Map> patternsByCollection = new HashMap<>();
- patternsByCollection.putAll(DEFAULT_PATTERNS);
- return patternsByCollection;
+ return new HashMap<>(DEFAULT_PATTERNS);
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/registry/DeferredRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/DeferredRegistry.java
index 8b61ef31..c486ff39 100644
--- a/common/src/main/java/whocraft/tardis_refined/registry/DeferredRegistry.java
+++ b/common/src/main/java/whocraft/tardis_refined/registry/DeferredRegistry.java
@@ -6,6 +6,8 @@
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.client.ModelRegistry;
+import whocraft.tardis_refined.common.util.PlatformWarning;
import java.util.Map;
import java.util.Set;
@@ -84,7 +86,7 @@ public abstract class DeferredRegistry {
*/
@ExpectPlatform
public static DeferredRegistry create(String modid, ResourceKey extends Registry> resourceKey) {
- throw new RuntimeException(TardisRefined.PLATFORM_ERROR);
+ throw new RuntimeException(PlatformWarning.addWarning(DeferredRegistry.class));
}
/**
diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRBlockEntityRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/TRBlockEntityRegistry.java
index ccdc98bd..49d98168 100644
--- a/common/src/main/java/whocraft/tardis_refined/registry/TRBlockEntityRegistry.java
+++ b/common/src/main/java/whocraft/tardis_refined/registry/TRBlockEntityRegistry.java
@@ -5,11 +5,13 @@
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.blockentity.console.GlobalConsoleBlockEntity;
import whocraft.tardis_refined.common.blockentity.device.*;
+import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorExtensionBlockEntity;
import whocraft.tardis_refined.common.blockentity.door.RootShellDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.door.BulkHeadDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.door.GlobalDoorBlockEntity;
import whocraft.tardis_refined.common.blockentity.life.ArsEggBlockEntity;
import whocraft.tardis_refined.common.blockentity.life.EyeBlockEntity;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
import whocraft.tardis_refined.common.blockentity.shell.GlobalShellBlockEntity;
import whocraft.tardis_refined.common.blockentity.shell.RootPlantBlockEntity;
import whocraft.tardis_refined.common.blockentity.shell.RootedShellBlockEntity;
@@ -30,12 +32,14 @@ public class TRBlockEntityRegistry {
public static final RegistrySupplier> ARS_EGG = BLOCK_ENTITY_TYPES.register("ars_egg", () -> BlockEntityType.Builder.of(ArsEggBlockEntity::new, TRBlockRegistry.ARS_EGG.get()).build(null));
public static final RegistrySupplier> BULK_HEAD_DOOR = BLOCK_ENTITY_TYPES.register("bulk_head_door", () -> BlockEntityType.Builder.of(BulkHeadDoorBlockEntity::new, TRBlockRegistry.BULK_HEAD_DOOR.get()).build(null));
+ public static final RegistrySupplier> BULK_HEAD_DOOR_EXT = BLOCK_ENTITY_TYPES.register("bulk_head_door_ext", () -> BlockEntityType.Builder.of(BulkHeadDoorExtensionBlockEntity::new, TRBlockRegistry.BULK_HEAD_DOOR.get()).build(null));
public static final RegistrySupplier> CONSOLE_CONFIGURATION = BLOCK_ENTITY_TYPES.register("console_configuration", () -> BlockEntityType.Builder.of(ConsoleConfigurationBlockEntity::new, TRBlockRegistry.CONSOLE_CONFIGURATION_BLOCK.get()).build(null));
public static final RegistrySupplier> FLIGHT_DETECTOR = BLOCK_ENTITY_TYPES.register("flight_detector", () -> BlockEntityType.Builder.of(FlightDetectorBlockEntity::new, TRBlockRegistry.FLIGHT_DETECTOR.get()).build(null));
public static final RegistrySupplier> ARTRON_PILLAR = BLOCK_ENTITY_TYPES.register("artron_pillar", () -> BlockEntityType.Builder.of(ArtronPillarBlockEntity::new, TRBlockRegistry.ARTRON_PILLAR.get()).build(null));
public static final RegistrySupplier> ASTRAL_MANIPULATOR = BLOCK_ENTITY_TYPES.register("astral_manipulator", () -> BlockEntityType.Builder.of(AstralManipulatorBlockEntity::new, TRBlockRegistry.ASTRAL_MANIPULATOR_BLOCK.get()).build(null));
public static final RegistrySupplier> THE_EYE = BLOCK_ENTITY_TYPES.register("the_eye", () -> BlockEntityType.Builder.of(EyeBlockEntity::new, TRBlockRegistry.THE_EYE.get()).build(null));
public static final RegistrySupplier> CORRIDOR_TELEPORTER = BLOCK_ENTITY_TYPES.register("corridor_teleporter", () -> BlockEntityType.Builder.of(CorridorTeleporterBlockEntity::new, TRBlockRegistry.CORRIDOR_TELEPORTER.get()).build(null));
+ public static final RegistrySupplier> ZEITON_GLASS = BLOCK_ENTITY_TYPES.register("zeiton_glass", () -> BlockEntityType.Builder.of(ZeitonGlassBlockEntity::new, TRBlockRegistry.ZEITON_GLASS.get()).build(null));
}
diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRBlockRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/TRBlockRegistry.java
index f3a33613..d6a271aa 100644
--- a/common/src/main/java/whocraft/tardis_refined/registry/TRBlockRegistry.java
+++ b/common/src/main/java/whocraft/tardis_refined/registry/TRBlockRegistry.java
@@ -10,16 +10,15 @@
import whocraft.tardis_refined.common.block.console.GlobalConsoleBlock;
import whocraft.tardis_refined.common.block.device.*;
import whocraft.tardis_refined.common.block.door.BulkHeadDoorBlock;
+import whocraft.tardis_refined.common.block.door.BulkHeadDoorExtensionBlock;
import whocraft.tardis_refined.common.block.door.GlobalDoorBlock;
import whocraft.tardis_refined.common.block.door.RootShellDoorBlock;
-import whocraft.tardis_refined.common.block.life.ARSLeavesBlock;
-import whocraft.tardis_refined.common.block.life.ArsEggBlock;
-import whocraft.tardis_refined.common.block.life.EyeBlock;
-import whocraft.tardis_refined.common.block.life.GrowthStoneBlock;
+import whocraft.tardis_refined.common.block.life.*;
import whocraft.tardis_refined.common.block.shell.GlobalShellBlock;
import whocraft.tardis_refined.common.block.shell.RootedShellBlock;
import whocraft.tardis_refined.common.block.shell.ShellBaseBlock;
+
import java.util.function.Supplier;
public class TRBlockRegistry {
@@ -38,6 +37,7 @@ public class TRBlockRegistry {
// Roots
public static final RegistrySupplier ROOT_PLANT_BLOCK = register("root_plant", () -> new RootPlantBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.CORAL_BLOCK)), true, true);
public static final RegistrySupplier BULK_HEAD_DOOR = register("bulk_head_door", () -> new BulkHeadDoorBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.CORAL_BLOCK)), true, true);
+ public static final RegistrySupplier BULK_HEAD_DOOR_EXT = register("bulk_head_door_ext", () -> new BulkHeadDoorExtensionBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.ANVIL)), false, false);
// ARS Tree
public static final RegistrySupplier ARS_EGG = register("ars_egg", () -> new ArsEggBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.AZALEA_LEAVES).lightLevel((x) -> 12)), true, true);
public static final RegistrySupplier ARS_LEAVES = register("ars_leaves", () -> new ARSLeavesBlock(BlockBehaviour.Properties.of().noOcclusion().strength(3, 3).sound(SoundType.AZALEA_LEAVES)), false, true);
@@ -74,6 +74,7 @@ public class TRBlockRegistry {
public static final RegistrySupplier THE_EYE = register("the_eye", () -> new EyeBlock(BlockBehaviour.Properties.copy(Blocks.BEDROCK)), false, false);
public static final RegistrySupplier ZEITON_LANTERN = register("zeiton_lantern", () -> new LanternBlock(BlockBehaviour.Properties.copy(Blocks.LANTERN).requiresCorrectToolForDrops()), true, true);
public static final RegistrySupplier ARTRON_PILLAR_PORT = register("artron_pillar_port", () -> new Block(BlockBehaviour.Properties.copy(Blocks.BEDROCK)), false, false);
+ public static final RegistrySupplier ZEITON_GLASS = register("zeiton_glass", () -> new ZeitonGlassBlock(BlockBehaviour.Properties.copy(Blocks.GLASS)), true, true);
// public static final RegistrySupplier ASTRAL_MAP = register("astral_map", () -> new Block(BlockBehaviour.Properties.copy(Blocks.STONE)), true, true);
private static RegistrySupplier register(String id, Supplier blockSupplier, boolean addToTab, boolean registerItem) {
diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRItemRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/TRItemRegistry.java
index e37a9118..6da39ab5 100644
--- a/common/src/main/java/whocraft/tardis_refined/registry/TRItemRegistry.java
+++ b/common/src/main/java/whocraft/tardis_refined/registry/TRItemRegistry.java
@@ -6,6 +6,7 @@
import net.minecraft.world.item.Item;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.items.*;
+import whocraft.tardis_refined.common.util.PlatformWarning;
import java.util.ArrayList;
import java.util.List;
@@ -39,7 +40,7 @@ private static RegistrySupplier register(String id, Supplier
@ExpectPlatform
public static CreativeModeTab getCreativeTab() {
- throw new RuntimeException(TardisRefined.PLATFORM_ERROR);
+ throw new RuntimeException(PlatformWarning.addWarning(TRItemRegistry.class));
}
diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRSoundRegistry.java b/common/src/main/java/whocraft/tardis_refined/registry/TRSoundRegistry.java
index d59c0cb3..9680cd3c 100644
--- a/common/src/main/java/whocraft/tardis_refined/registry/TRSoundRegistry.java
+++ b/common/src/main/java/whocraft/tardis_refined/registry/TRSoundRegistry.java
@@ -35,14 +35,13 @@ public class TRSoundRegistry {
public static final RegistrySupplier VORTEX = setUpSound("vortex");
// Hums
-
public static final RegistrySupplier HUM_CORAL = setUpSound("hum_coral");
public static final RegistrySupplier HUM_CAVE = setUpSound("hum_cave");
public static final RegistrySupplier HUM_TOYOTA = setUpSound("hum_toyota");
public static final RegistrySupplier HUM_CLASSIC = setUpSound("hum_classic");
public static final RegistrySupplier HUM_VICTORIAN = setUpSound("hum_victorian");
public static final RegistrySupplier HUM_AVIATRAX = setUpSound("hum_aviatrax");
-
+ public static final RegistrySupplier HUM_COPPER = setUpSound("hum_copper");
// Screwdriver
public static final RegistrySupplier SCREWDRIVER_SHORT = setUpSound("screwdriver_short");
diff --git a/common/src/main/java/whocraft/tardis_refined/registry/TRUpgrades.java b/common/src/main/java/whocraft/tardis_refined/registry/TRUpgrades.java
index bf5a81b0..4c56d58d 100644
--- a/common/src/main/java/whocraft/tardis_refined/registry/TRUpgrades.java
+++ b/common/src/main/java/whocraft/tardis_refined/registry/TRUpgrades.java
@@ -39,6 +39,9 @@ public class TRUpgrades {
public static final RegistrySupplier INSIDE_ARCHITECTURE = UPGRADE_DEFERRED_REGISTRY.register("inside_architecture", () -> new Upgrade(TRBlockRegistry.TERRAFORMER_BLOCK.get().asItem()::getDefaultInstance, ARCHITECTURE_SYSTEM, RegistryHelper.makeKey("inside_architecture"), Upgrade.UpgradeType.SUB_UPGRADE)
.setSkillPointsRequired(20).setPosition(4, 2));
+ public static final RegistrySupplier RESPAWN_ALLOWED = UPGRADE_DEFERRED_REGISTRY.register("respawn_allowed", () -> new Upgrade(Items.RED_BED::getDefaultInstance, ARCHITECTURE_SYSTEM, RegistryHelper.makeKey("respawn_allowed"), Upgrade.UpgradeType.SUB_UPGRADE)
+ .setSkillPointsRequired(10).setPosition(3, 2));
+
public static final RegistrySupplier IMPROVED_GENERATION_TIME_I = UPGRADE_DEFERRED_REGISTRY.register("improved_generation_time_i", () -> new Upgrade(Items.TURTLE_EGG::getDefaultInstance, INSIDE_ARCHITECTURE, RegistryHelper.makeKey("improved_generation_time_i"), Upgrade.UpgradeType.SUB_UPGRADE)
.setSkillPointsRequired(10).setPosition(4, 3));
public static final RegistrySupplier IMPROVED_GENERATION_TIME_II = UPGRADE_DEFERRED_REGISTRY.register("improved_generation_time_ii", () -> new Upgrade(Items.RABBIT_FOOT::getDefaultInstance, IMPROVED_GENERATION_TIME_I, RegistryHelper.makeKey("improved_generation_time_ii"), Upgrade.UpgradeType.SUB_UPGRADE)
diff --git a/common/src/main/java/whocraft/tardis_refined/villager/FlyTardisAtPOI.java b/common/src/main/java/whocraft/tardis_refined/villager/FlyTardisAtPOI.java
index 82d44c10..42d79f0a 100644
--- a/common/src/main/java/whocraft/tardis_refined/villager/FlyTardisAtPOI.java
+++ b/common/src/main/java/whocraft/tardis_refined/villager/FlyTardisAtPOI.java
@@ -18,6 +18,8 @@
public class FlyTardisAtPOI extends WorkAtPoi {
+ public static final int EMERALD_FLIGHT_TIME = 5 * 20 * 60; // 5 minutes in ticks
+
private Direction direction = Direction.NORTH;
public void rotateDirection() {
@@ -30,52 +32,35 @@ public void rotateDirection() {
}
}
-
@Override
protected boolean checkExtraStartConditions(ServerLevel serverLevel, Villager villager) {
- GlobalPos globalPos = villager.getBrain().getMemory(MemoryModuleType.JOB_SITE).get();
+ GlobalPos globalPos = villager.getBrain().getMemory(MemoryModuleType.JOB_SITE).orElse(null);
TardisLevelOperator tardisLevelOperator = TardisLevelOperator.get(serverLevel).orElse(null);
- return tardisLevelOperator.getPilotingManager().isInFlight() && globalPos.dimension() == serverLevel.dimension();
+ if (globalPos == null || tardisLevelOperator == null) {
+ return false;
+ }
+ VillagerDuck villagerDuck = (VillagerDuck) villager;
+
+ return villagerDuck.tardisRefined$getPilotingTicks() > 0 && tardisLevelOperator.getPilotingManager().isInFlight() && !tardisLevelOperator.getPilotingManager().isCrashing() && globalPos.dimension() == serverLevel.dimension();
}
@Override
protected void useWorkstation(ServerLevel serverLevel, Villager villager) {
-
TardisLevelOperator.get(serverLevel).ifPresent(tardisLevelOperator -> {
TardisPilotingManager pilotManager = tardisLevelOperator.getPilotingManager();
GlobalConsoleBlockEntity console = pilotManager.getCurrentConsole();
- Brain brain = villager.getBrain();
if (console == null) return;
if (pilotManager.isInFlight()) {
-
- if(pilotManager.isCrashing()){
- BlockPos runAwayPosition = villager.blockPosition().relative(direction, 10);
- villager.getNavigation().moveTo(runAwayPosition.getX(), runAwayPosition.getY(), runAwayPosition.getZ(), 2);
- return;
- }
-
- /* if(pilotManager.canEndFlight()){
- pilotManager.setThrottleStage(0);
- pilotManager.setHandbrakeOn(true);
- } else {
- if(pilotManager.getTargetLocation().getPosition().getX() != 45){
- pilotManager.getTargetLocation().setPosition(new BlockPos(45,45,45));
- pilotManager.setThrottleStage(4);
- pilotManager.setHandbrakeOn(false);
- }
- }*/
-
for (ControlEntity controlEntity : console.getControlEntityList()) {
if (controlEntity.isTickingDown()) {
rotateDirection();
- // Adjust bounding box check to ensure proximity, but without intersecting
if (controlEntity.level().random.nextBoolean()) {
for (int i = 0; i < 5; i++) {
controlEntity.realignControl();
}
- villager.setUnhappyCounter(40);
+ villager.playCelebrateSound();
return;
}
}
@@ -86,7 +71,6 @@ protected void useWorkstation(ServerLevel serverLevel, Villager villager) {
super.useWorkstation(serverLevel, villager);
}
-
@Override
protected void start(ServerLevel serverLevel, Villager villager, long l) {
Brain brain = villager.getBrain();
@@ -110,11 +94,12 @@ protected void start(ServerLevel serverLevel, Villager villager, long l) {
protected boolean canStillUse(ServerLevel serverLevel, Villager villager, long l) {
Optional optional = villager.getBrain().getMemory(MemoryModuleType.JOB_SITE);
TardisLevelOperator tardisLevelOperator = TardisLevelOperator.get(serverLevel).orElse(null);
+ VillagerDuck villagerDuck = (VillagerDuck) villager;
if (optional.isEmpty()) {
return false;
} else {
GlobalPos globalPos = optional.get();
- return tardisLevelOperator.getPilotingManager().isInFlight() && globalPos.dimension() == serverLevel.dimension() && globalPos.pos().closerToCenterThan(villager.position(), 1.73);
+ return villagerDuck.tardisRefined$getPilotingTicks() > 0 && tardisLevelOperator.getPilotingManager().isInFlight() && tardisLevelOperator.getPilotingManager().isCrashing() && globalPos.dimension() == serverLevel.dimension() && globalPos.pos().closerToCenterThan(villager.position(), 1.73);
}
}
}
diff --git a/common/src/main/java/whocraft/tardis_refined/villager/VillagerDuck.java b/common/src/main/java/whocraft/tardis_refined/villager/VillagerDuck.java
new file mode 100644
index 00000000..d4fa6bcb
--- /dev/null
+++ b/common/src/main/java/whocraft/tardis_refined/villager/VillagerDuck.java
@@ -0,0 +1,8 @@
+package whocraft.tardis_refined.villager;
+
+public interface VillagerDuck {
+
+ void tardisRefined$setPilotingTicks(int ticks);
+ int tardisRefined$getPilotingTicks();
+
+}
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/victorian/flight.json b/common/src/main/resources/assets/tardis_refined/animated/console/victorian/flight.json
deleted file mode 100644
index 4778d7e9..00000000
--- a/common/src/main/resources/assets/tardis_refined/animated/console/victorian/flight.json
+++ /dev/null
@@ -1,5458 +0,0 @@
-{
- "length": 16,
- "looping" : true,
- "animations": [
- {
- "bone": "bone180",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone186",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 16,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone195",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.72,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.72,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.72,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.72,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.72,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.72,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 16,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone188",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone56",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "rotor_bottom",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0.04,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.4,
- "target": [
- 0,
- -4,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.28,
- "target": [
- 0,
- -3.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.6,
- "target": [
- 0,
- -3,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 6.48,
- "target": [
- 0,
- -2.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- 1,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.6,
- "target": [
- 0,
- -4,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 10.48,
- "target": [
- 0,
- -3.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 12,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.6,
- "target": [
- 0,
- -4,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 14.48,
- "target": [
- 0,
- -3.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 15.8,
- "target": [
- 0,
- -0.1,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 15.96,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "rotor_bottom",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 6,
- "target": [
- 0,
- 5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 8.08,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 11.84,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 13.84,
- "target": [
- 0,
- 5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 15.92,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "rotor_top",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0.04,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.6,
- "target": [
- 0,
- 4,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.48,
- "target": [
- 0,
- 3.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.6,
- "target": [
- 0,
- 4,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 6.48,
- "target": [
- 0,
- 3.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.6,
- "target": [
- 0,
- 3,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 10.48,
- "target": [
- 0,
- 2.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 12,
- "target": [
- 0,
- -1,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.6,
- "target": [
- 0,
- 3.5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 14.48,
- "target": [
- 0,
- 3,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 15.84,
- "target": [
- 0,
- 0.1,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 16,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "rotor_top",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2,
- "target": [
- 0,
- 5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 4.08,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 5,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 12.08,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone130",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone129",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone131",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.48,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.96,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.96,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.44,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.44,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.92,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone132",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.48,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.96,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.96,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.44,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.44,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.92,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone133",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.04,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.56,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.08,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.08,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone134",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.04,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.56,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.08,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.08,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone176",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone127",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.88,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.44,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.84,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.88,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.28,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.88,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.28,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone128",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.64,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.04,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.48,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.88,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.44,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.84,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.88,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.28,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.88,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.28,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone232",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.32,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.76,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.12,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.72,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.28,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.16,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.96,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.72,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.92,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.2,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.12,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.56,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.44,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.64,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.16,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.44,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.88,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.6,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.04,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.72,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.16,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.8,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.92,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.4,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.92,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone245",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.56,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.8,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.2,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.4,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.76,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.68,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.12,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.04,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.64,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.24,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.88,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.16,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.52,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.64,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.08,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.8,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.28,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone244",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.56,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.8,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.2,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.4,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.76,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.68,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.12,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.04,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.64,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.24,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.88,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.16,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.52,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.64,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.08,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.8,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.28,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone204",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.56,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.8,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.2,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.4,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.76,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.68,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.12,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.04,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.64,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.24,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.88,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.16,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.52,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.64,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.08,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.8,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.28,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone205",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.32,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.76,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.12,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.72,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.28,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.16,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.96,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.72,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.92,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.2,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.12,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.56,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.44,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.64,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.16,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.44,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.88,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.6,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.04,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.72,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.16,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.8,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.92,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.4,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.92,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone206",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 0.56,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 1.8,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 2.68,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.52,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.2,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.4,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 4.76,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.2,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 5.68,
- "target": [
- 0,
- -45,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.12,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.04,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 7.64,
- "target": [
- 0,
- -50,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.24,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.88,
- "target": [
- 0,
- -60,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 9.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.16,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10.64,
- "target": [
- 0,
- -40,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.32,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 11.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 12.52,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 13.64,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.08,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 14.8,
- "target": [
- 0,
- -25,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.28,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 15.84,
- "target": [
- 0,
- -65,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone138",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone160",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone137",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone158",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone157",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone159",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 15.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone58",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone212",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 3.96,
- "target": [
- 1,
- 0,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 7.96,
- "target": [
- 1,
- 0,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 11.96,
- "target": [
- 1,
- 0,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 16,
- "target": [
- 1,
- 0,
- 1
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone162",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.32,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.04,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone161",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone163",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.92,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.32,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone165",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.32,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.52,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 7.92,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.32,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone164",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.68,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.12,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone166",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 5.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6.48,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.12,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.52,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 9.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 10.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 11.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 12.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 13.32,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 14.92,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone135",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone136",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- }
- ],
- "loop": true
-}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/victorian/idle.json b/common/src/main/resources/assets/tardis_refined/animated/console/victorian/idle.json
deleted file mode 100644
index 4e804b37..00000000
--- a/common/src/main/resources/assets/tardis_refined/animated/console/victorian/idle.json
+++ /dev/null
@@ -1,1093 +0,0 @@
-{
- "length": 10,
- "looping" : true,
- "animations": [
- {
- "bone": "bone193",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 1.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 1.76,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 3.12,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 3.16,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 4.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 4.76,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 7.84,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 7.88,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone194",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0.72,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 0.76,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.12,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.16,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 7.64,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 7.68,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 9.04,
- "target": [
- 0,
- 0.05,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 9.08,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone204",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 360,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone205",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- -720,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone206",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 172.5,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 6,
- "target": [
- 0,
- -62.5,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 8.72,
- "target": [
- 0,
- 107.5,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone210",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 7,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone211",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 1,
- 0.025
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone212",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 7,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone213",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 1,
- 0.025
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone214",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 7,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone215",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 1,
- 0.025
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone216",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 7,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone217",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 1,
- 0.025
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone218",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 7,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone219",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 1,
- 0.025
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone220",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "catmullrom"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- 7,
- 0
- ],
- "interpolation": "catmullrom"
- }
- ]
- },
- {
- "bone": "bone221",
- "target": "position",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 1,
- 0.025
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 2.56,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone232",
- "target": "rotation",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "linear"
- },
- {
- "timestamp": 10,
- "target": [
- 0,
- -720,
- 0
- ],
- "interpolation": "linear"
- }
- ]
- },
- {
- "bone": "bone138",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone160",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone137",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone158",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone157",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone159",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone163",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.04,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone164",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.68,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone165",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 0.32,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.2,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- },
- {
- "bone": "bone166",
- "target": "scale",
- "keyframes": [
- {
- "timestamp": 0,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 1,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.6,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 2.8,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.2,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.4,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.6,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 3.8,
- "target": [
- 0,
- 0,
- 0
- ],
- "interpolation": "step"
- },
- {
- "timestamp": 4,
- "target": [
- 1,
- 1,
- 1
- ],
- "interpolation": "step"
- }
- ]
- }
- ],
- "loop": true
-}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/copper/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/copper/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/copper/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/copper/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/copper/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/copper/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/copper/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/copper/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/coral/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/coral/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/coral/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/coral/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/coral/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/coral/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/coral/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/coral/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/crystal/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/crystal/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/crystal/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/crystal/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/crystal/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/crystal/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/crystal/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/crystal/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/factory/crash.json b/common/src/main/resources/assets/tardis_refined/frame/console/factory/crash.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/factory/crash.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/factory/crash.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/factory/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/factory/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/factory/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/factory/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/factory/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/factory/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/factory/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/factory/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/factory/power_off.json b/common/src/main/resources/assets/tardis_refined/frame/console/factory/power_off.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/factory/power_off.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/factory/power_off.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/factory/power_on.json b/common/src/main/resources/assets/tardis_refined/frame/console/factory/power_on.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/factory/power_on.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/factory/power_on.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/initiative/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/initiative/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/initiative/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/initiative/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/initiative/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/initiative/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/initiative/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/initiative/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/nuka/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/nuka/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/nuka/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/nuka/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/refurbished/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/refurbished/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/refurbished/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/refurbished/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/refurbished/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/refurbished/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/refurbished/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/refurbished/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/toyota/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/toyota/flight.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/toyota/flight.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/toyota/flight.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/console/toyota/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/toyota/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/console/toyota/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/console/toyota/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/frame/console/victorian/crash.json b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/crash.json
new file mode 100644
index 00000000..8ad6da9d
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/crash.json
@@ -0,0 +1 @@
+{"length":10,"looping":true,"animations":[{"bone":"bone163","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.4166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.6666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.416666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.416666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.666666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone165","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.1666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.166666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.416666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.166666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.416666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone164","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.9166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.1666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.9166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.166666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.916666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.166666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.916666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone166","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.6666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.9166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.9166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.916666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.916666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone178","target":"rotation","keyframes":[{"timestamp":0,"target":[0,70,0],"interpolation":"linear"},{"timestamp":10,"target":[0,-3530,0],"interpolation":"linear"}]},{"bone":"rotor_bottom","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.2916666666666667,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":0.4583333333333333,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":0.875,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":1.25,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":1.5,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.7916666666666665,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":3.375,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":3.75,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":4,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":4.166666666666667,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":4.5,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":4.666666666666667,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.291666666666667,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":5.458333333333333,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":5.875,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":6.25,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":6.5,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":6.666666666666667,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":7,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":7.166666666666667,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":7.791666666666667,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":7.958333333333333,"target":[0,-1.0099999999999998,0],"interpolation":"catmullrom"},{"timestamp":8.375,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":8.75,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":9,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":9.166666666666666,"target":[0,-2.1,0],"interpolation":"catmullrom"},{"timestamp":9.5,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":9.666666666666666,"target":[0,-1.26,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"rotor_top","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.2916666666666667,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":0.4583333333333333,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":1.25,"target":[0,3,0],"interpolation":"linear"},{"timestamp":1.5,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.7916666666666665,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":3.75,"target":[0,3,0],"interpolation":"linear"},{"timestamp":4,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":4.166666666666667,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":4.5,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":4.666666666666667,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.291666666666667,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":5.458333333333333,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":6.25,"target":[0,3,0],"interpolation":"linear"},{"timestamp":6.5,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":6.666666666666667,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":7,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":7.166666666666667,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":7.791666666666667,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":7.958333333333333,"target":[0,0.78,0],"interpolation":"catmullrom"},{"timestamp":8.75,"target":[0,3,0],"interpolation":"linear"},{"timestamp":9,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":9.166666666666666,"target":[0,2.67,0],"interpolation":"catmullrom"},{"timestamp":9.5,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":9.666666666666666,"target":[0,1.63,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone234","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.875,"target":[0.5540435390526,-12.48791063281351,-2.5606189508962416],"interpolation":"catmullrom"},{"timestamp":1.7083333333333333,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.4583333333333335,"target":[0,-5,0],"interpolation":"catmullrom"},{"timestamp":3.2083333333333335,"target":[5.546744212165322,12.270191681341203,2.5487406009820006],"interpolation":"catmullrom"},{"timestamp":4,"target":[0,-5,0],"interpolation":"catmullrom"},{"timestamp":4.875,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.958333333333333,"target":[0.6573984636520436,-7.471297048921315,-5.042923270466417],"interpolation":"catmullrom"},{"timestamp":7.25,"target":[-0.23621196821053658,2.9257795119713412,-4.987442929375483],"interpolation":"catmullrom"},{"timestamp":8.291666666666666,"target":[-0.5557322918846148,-12.056767925686309,-2.378232321098258],"interpolation":"catmullrom"},{"timestamp":9.166666666666666,"target":[-5.5863890276582975,-22.056274109124445,-2.2741118766474573],"interpolation":"catmullrom"},{"timestamp":9.958333333333334,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone127","target":"position","keyframes":[{"timestamp":0,"target":[0,-7,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,-7,0],"interpolation":"step"},{"timestamp":1.0416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.8333333333333333,"target":[0,-7,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.375,"target":[0,-7,0],"interpolation":"step"},{"timestamp":3.5416666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.7083333333333335,"target":[0,-7,0],"interpolation":"step"},{"timestamp":4.541666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,-7,0],"interpolation":"step"},{"timestamp":5.708333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,-7,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.625,"target":[0,-7,0],"interpolation":"step"},{"timestamp":8.291666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.916666666666666,"target":[0,-7,0],"interpolation":"step"}]},{"bone":"bone128","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,-8,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.0416666666666667,"target":[0,-8,0],"interpolation":"step"},{"timestamp":1.8333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,-8,0],"interpolation":"step"},{"timestamp":3.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5416666666666665,"target":[0,-8,0],"interpolation":"step"},{"timestamp":3.7083333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.541666666666667,"target":[0,-8,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.708333333333333,"target":[0,-7,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,-8,0],"interpolation":"step"},{"timestamp":7.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.291666666666666,"target":[0,-8,0],"interpolation":"step"},{"timestamp":8.916666666666666,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone136","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.3333333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.6666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.3333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.3333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.333333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.333333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.333333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.333333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":10,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone255","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.3333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.041666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.333333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.958333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.291666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":10,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone256","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.2916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.4583333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.875,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.3333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.333333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.791666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.208333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.958333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.958333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.541666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.291666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.583333333333334,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone257","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.2916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.4583333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.3333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.791666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.208333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.958333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.125,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.541666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.833333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone232","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,-580,0],"interpolation":"catmullrom"},{"timestamp":3.5,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":5.333333333333333,"target":[0,-847.5,0],"interpolation":"catmullrom"},{"timestamp":6.833333333333333,"target":[0,-410,0],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,-1297.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone245","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,-1160,0],"interpolation":"catmullrom"},{"timestamp":3.5,"target":[0,17.5,0],"interpolation":"catmullrom"},{"timestamp":5.333333333333333,"target":[0,-1695,0],"interpolation":"catmullrom"},{"timestamp":6.833333333333333,"target":[0,-800,0],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,-1800,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone244","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,-290,0],"interpolation":"catmullrom"},{"timestamp":3.5,"target":[0,-8.75,0],"interpolation":"catmullrom"},{"timestamp":5.333333333333333,"target":[0,-423.75,0],"interpolation":"catmullrom"},{"timestamp":6.833333333333333,"target":[0,-205,0],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,-648.75,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone258","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.8333333333333334,"target":[0,0,-2.5],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.166666666666667,"target":[0,0,-2.5],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.833333333333333,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,0,-2.5],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":9.166666666666666,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone259","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.5,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.5,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":3.5,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":4,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.5,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.5,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":6,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.5,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":7,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":8.5,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":9,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":9.5,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone182","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.25,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":2.8333333333333335,"target":[0,0,-7.5],"interpolation":"catmullrom"},{"timestamp":4,"target":[0,0,10],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.25,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":7.833333333333333,"target":[0,0,-7.5],"interpolation":"catmullrom"},{"timestamp":9,"target":[0,0,10],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone249","target":"rotation","keyframes":[{"timestamp":0.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.3333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.6666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.7083333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.7916666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.0416666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.125,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.7916666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.708333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.791666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.708333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.791666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.041666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.125,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.791666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.708333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.791666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone250","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.0833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.7083333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.2916666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.375,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.6666666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.0833333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.708333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.291666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.375,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.083333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.166666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.25,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone251","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.08333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.5833333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.6666666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.458333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.833333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.583333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.458333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.833333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone252","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.625,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.7083333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.2916666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.375,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.9583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.0416666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.3333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.4166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.3333333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.4166666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.9166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.708333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.625,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.708333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.291666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.375,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.958333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.041666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.333333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.416666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.833333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.916666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.416666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.708333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone253","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.041666666666666664,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.125,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.9583333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.0416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.3333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.4166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.9166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.9583333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.958333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.041666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.125,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.958333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.041666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.416666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.916666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.958333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.958333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone254","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.08333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.6666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.875,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.9583333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.9166666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.375,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.458333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.875,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.958333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.916666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.375,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.458333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.75,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone236","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,5],"interpolation":"catmullrom"},{"timestamp":2.0416666666666665,"target":[0,0,-7.5],"interpolation":"catmullrom"},{"timestamp":4.166666666666667,"target":[0,0,2.5],"interpolation":"catmullrom"},{"timestamp":6.583333333333333,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":8.291666666666666,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,5],"interpolation":"catmullrom"}]},{"bone":"bone248","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":2.25,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":5.166666666666667,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":8.041666666666666,"target":[0,0,2.5],"interpolation":"catmullrom"},{"timestamp":9.916666666666666,"target":[0,0,-5],"interpolation":"catmullrom"}]},{"bone":"bone207","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.625,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.7083333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.2916666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.375,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.9583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.0416666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.3333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.4166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.3333333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.4166666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.9166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.708333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.625,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.708333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.291666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.375,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.958333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.041666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.333333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.416666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.833333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.916666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.416666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.708333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone208","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.08333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.4166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.4583333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.5416666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.7916666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.875,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.5416666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.458333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.541666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.416666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.458333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.541666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.791666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.875,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.541666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.458333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.541666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone209","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.041666666666666664,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.125,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.9583333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.0416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.3333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.4166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.9166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.9583333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.958333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.041666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.125,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.958333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.041666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.416666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.916666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.958333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.875,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.958333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone224","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.08333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.5833333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":0.6666666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.458333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.833333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.583333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.458333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.833333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone225","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.0833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.7083333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.2916666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.375,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.6666666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.0833333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.625,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.708333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.291666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.375,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.083333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.166666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.25,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone130","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.5833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.8333333333333335,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6.541666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.333333333333334,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.666666666666666,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone129","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5833333333333334,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.8333333333333335,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.541666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.333333333333334,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone195","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.333333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone188","target":"position","keyframes":[{"timestamp":0,"target":[0,-4,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5833333333333334,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,-4,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.541666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.333333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9.666666666666666,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone180","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.5833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6.541666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9.333333333333334,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone186","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.333333333333334,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone272","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.4166666666666667,"target":[7.067352727418438,-12.239109611708045,15.118424256148046],"interpolation":"catmullrom"},{"timestamp":2.875,"target":[-6.041933332943408,1.6758221792781658,-7.950499750869659],"interpolation":"catmullrom"},{"timestamp":4.25,"target":[4.7541518682073365,-6.755274696816578,5.624093010375691],"interpolation":"catmullrom"},{"timestamp":5.166666666666667,"target":[-4.130729646351483,-3.334928368377186,-4.574425865470293],"interpolation":"catmullrom"},{"timestamp":6.166666666666667,"target":[10.321975129272797,-7.282713049303839,7.007801227899272],"interpolation":"catmullrom"},{"timestamp":7.166666666666667,"target":[4.548403704333687,5.913787834675731,-8.15858401438003],"interpolation":"catmullrom"},{"timestamp":8.291666666666666,"target":[-14.168167507907764,-5.089939335497402,6.0629314044489],"interpolation":"catmullrom"},{"timestamp":9.166666666666666,"target":[-7.893496064001665,7.529244070900095,-4.948888466050394],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone238","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[-3.150761781957499,-1.8612575254687727,-4.455090358509096],"interpolation":"catmullrom"},{"timestamp":1.75,"target":[6.818950072733351,8.123558054783297,-5.007490138811827],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[-8.246420619656583,-1.806733649313065,-6.189466483368287],"interpolation":"catmullrom"},{"timestamp":3.25,"target":[14.812206339444401,3.7333122321278456,0.017189052232933655],"interpolation":"catmullrom"},{"timestamp":4.5,"target":[-10.216741101515654,-1.6301376475257894,-1.5582754724650663],"interpolation":"catmullrom"},{"timestamp":5.666666666666667,"target":[-0.43105076846924995,3.2882604066536443,-2.368802955189094],"interpolation":"catmullrom"},{"timestamp":6.625,"target":[8.81043849857435,9.086982290675259,-7.39990269210477],"interpolation":"catmullrom"},{"timestamp":7.75,"target":[-2.278107474308344,-7.981531745395532,-2.495020816143006],"interpolation":"catmullrom"},{"timestamp":9.083333333333334,"target":[6.540776035071959,6.5054539213079075,-13.146406359013326],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone239","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[15.054701128833585,4.8292173425402325,-8.702831376368522],"interpolation":"catmullrom"},{"timestamp":2.25,"target":[-1.7954351544746707,-8.495465666181572,3.677598890253922],"interpolation":"catmullrom"},{"timestamp":3,"target":[5.742847550984334,6.486004727031741,3.538799412223107],"interpolation":"catmullrom"},{"timestamp":4.5,"target":[-8.054790606216338,-9.567952301045588,-5.46882530507397],"interpolation":"catmullrom"},{"timestamp":5.75,"target":[11.532980830512496,6.684600770023444,-0.09326981266141843],"interpolation":"catmullrom"},{"timestamp":6.5,"target":[1.3704450482548776,1.8127033096381453,-5.227657524534461],"interpolation":"catmullrom"},{"timestamp":8.125,"target":[9.095319434413451,1.6183383481193778,2.273193926765561],"interpolation":"catmullrom"},{"timestamp":9,"target":[12.15270967076649,8.694557216550148,-11.912969306130417],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone133","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.7083333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.208333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.708333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.291666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.916666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.416666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.875,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone134","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.125,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.125,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.7083333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.041666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.833333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.208333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.708333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.916666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.416666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.875,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone222","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.5416666666666666,"target":[0,-67.5,0],"interpolation":"catmullrom"},{"timestamp":1.0416666666666667,"target":[0,135,0],"interpolation":"catmullrom"},{"timestamp":1.875,"target":[0,5,0],"interpolation":"catmullrom"},{"timestamp":2.4166666666666665,"target":[0,30,0],"interpolation":"catmullrom"},{"timestamp":3.1666666666666665,"target":[0,-235,0],"interpolation":"catmullrom"},{"timestamp":3.7916666666666665,"target":[0,-20,0],"interpolation":"catmullrom"},{"timestamp":4.625,"target":[0,-122.5,0],"interpolation":"catmullrom"},{"timestamp":5.416666666666667,"target":[0,47.5,0],"interpolation":"catmullrom"},{"timestamp":6.125,"target":[0,-297.5,0],"interpolation":"catmullrom"},{"timestamp":6.75,"target":[0,-100,0],"interpolation":"catmullrom"},{"timestamp":7.166666666666667,"target":[0,-192.5,0],"interpolation":"catmullrom"},{"timestamp":7.791666666666667,"target":[0,45,0],"interpolation":"catmullrom"},{"timestamp":8.5,"target":[0,-215,0],"interpolation":"catmullrom"},{"timestamp":9.291666666666666,"target":[0,155,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone223","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.4166666666666667,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":0.9583333333333334,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":1.8333333333333333,"target":[0,-5,0],"interpolation":"catmullrom"},{"timestamp":2.625,"target":[0,-30,0],"interpolation":"catmullrom"},{"timestamp":3.1666666666666665,"target":[0,235,0],"interpolation":"catmullrom"},{"timestamp":4.208333333333333,"target":[0,20,0],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,122.5,0],"interpolation":"catmullrom"},{"timestamp":5.666666666666667,"target":[0,-47.5,0],"interpolation":"catmullrom"},{"timestamp":6.458333333333333,"target":[0,297.5,0],"interpolation":"catmullrom"},{"timestamp":6.708333333333333,"target":[0,100,0],"interpolation":"catmullrom"},{"timestamp":7.291666666666667,"target":[0,192.5,0],"interpolation":"catmullrom"},{"timestamp":7.75,"target":[0,-45,0],"interpolation":"catmullrom"},{"timestamp":9.541666666666666,"target":[0,215,0],"interpolation":"catmullrom"},{"timestamp":9.791666666666666,"target":[0,-155,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone168","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.7916666666666666,"target":[0,50,0],"interpolation":"catmullrom"},{"timestamp":1.4583333333333333,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.7083333333333335,"target":[0,-72.5,0],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,87.5,0],"interpolation":"catmullrom"},{"timestamp":3.7916666666666665,"target":[0,45,0],"interpolation":"catmullrom"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.166666666666667,"target":[0,27.5,0],"interpolation":"catmullrom"},{"timestamp":5.666666666666667,"target":[0,-15,0],"interpolation":"catmullrom"},{"timestamp":6.291666666666667,"target":[0,25,0],"interpolation":"catmullrom"},{"timestamp":6.833333333333333,"target":[0,-5,0],"interpolation":"catmullrom"},{"timestamp":7.666666666666667,"target":[0,95,0],"interpolation":"catmullrom"},{"timestamp":8.083333333333334,"target":[0,15,0],"interpolation":"catmullrom"},{"timestamp":8.583333333333334,"target":[0,-45,0],"interpolation":"catmullrom"},{"timestamp":9,"target":[0,-7.5,0],"interpolation":"catmullrom"},{"timestamp":9.375,"target":[0,-30,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone167","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.7916666666666666,"target":[0,-50,0],"interpolation":"catmullrom"},{"timestamp":1.4583333333333333,"target":[0,17.5,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.7083333333333335,"target":[0,72.5,0],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,-87.5,0],"interpolation":"catmullrom"},{"timestamp":3.7916666666666665,"target":[0,-45,0],"interpolation":"catmullrom"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.166666666666667,"target":[0,-27.5,0],"interpolation":"catmullrom"},{"timestamp":5.666666666666667,"target":[0,15,0],"interpolation":"catmullrom"},{"timestamp":6.291666666666667,"target":[0,-25,0],"interpolation":"catmullrom"},{"timestamp":6.833333333333333,"target":[0,5,0],"interpolation":"catmullrom"},{"timestamp":7.666666666666667,"target":[0,-95,0],"interpolation":"catmullrom"},{"timestamp":8.083333333333334,"target":[0,-15,0],"interpolation":"catmullrom"},{"timestamp":8.583333333333334,"target":[0,45,0],"interpolation":"catmullrom"},{"timestamp":9,"target":[0,7.5,0],"interpolation":"catmullrom"},{"timestamp":9.375,"target":[0,30,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone131","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":9,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":10,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone132","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone204","target":"rotation","keyframes":[{"timestamp":0,"target":[0,75,0],"interpolation":"catmullrom"},{"timestamp":0.2916666666666667,"target":[0,30,0],"interpolation":"catmullrom"},{"timestamp":0.6666666666666666,"target":[0,70,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,-10,0],"interpolation":"catmullrom"},{"timestamp":1.5,"target":[0,40,0],"interpolation":"catmullrom"},{"timestamp":1.9166666666666667,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":2.3333333333333335,"target":[0,72.5,0],"interpolation":"catmullrom"},{"timestamp":2.9166666666666665,"target":[0,22.5,0],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,65,0],"interpolation":"catmullrom"},{"timestamp":3.875,"target":[0,40,0],"interpolation":"catmullrom"},{"timestamp":4.333333333333333,"target":[0,72.5,0],"interpolation":"catmullrom"},{"timestamp":4.75,"target":[0,7.5,0],"interpolation":"catmullrom"},{"timestamp":5.25,"target":[0,105,0],"interpolation":"catmullrom"},{"timestamp":5.708333333333333,"target":[0,30,0],"interpolation":"catmullrom"},{"timestamp":6.25,"target":[0,77.5,0],"interpolation":"catmullrom"},{"timestamp":6.791666666666667,"target":[0,-35,0],"interpolation":"catmullrom"},{"timestamp":7.25,"target":[0,30,0],"interpolation":"catmullrom"},{"timestamp":7.875,"target":[0,-22.5,0],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,62.5,0],"interpolation":"catmullrom"},{"timestamp":8.75,"target":[0,20,0],"interpolation":"catmullrom"},{"timestamp":9.208333333333334,"target":[0,52.5,0],"interpolation":"catmullrom"},{"timestamp":9.5,"target":[0,17.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,75,0],"interpolation":"catmullrom"}]},{"bone":"bone205","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.4166666666666667,"target":[0,-182.5,0],"interpolation":"catmullrom"},{"timestamp":0.7916666666666666,"target":[0,-105,0],"interpolation":"catmullrom"},{"timestamp":1.3333333333333333,"target":[0,-155,0],"interpolation":"catmullrom"},{"timestamp":1.7916666666666667,"target":[0,-130,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":2.625,"target":[0,-162.5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,-120,0],"interpolation":"catmullrom"},{"timestamp":3.625,"target":[0,-240,0],"interpolation":"catmullrom"},{"timestamp":4.291666666666667,"target":[0,-97.5,0],"interpolation":"catmullrom"},{"timestamp":4.875,"target":[0,-157.5,0],"interpolation":"catmullrom"},{"timestamp":5.375,"target":[0,-127.5,0],"interpolation":"catmullrom"},{"timestamp":5.791666666666667,"target":[0,-167.5,0],"interpolation":"catmullrom"},{"timestamp":6.416666666666667,"target":[0,-110,0],"interpolation":"catmullrom"},{"timestamp":7.125,"target":[0,-150,0],"interpolation":"catmullrom"},{"timestamp":7.625,"target":[0,-92.5,0],"interpolation":"catmullrom"},{"timestamp":8.291666666666666,"target":[0,-180,0],"interpolation":"catmullrom"},{"timestamp":8.875,"target":[0,-115,0],"interpolation":"catmullrom"},{"timestamp":9.458333333333334,"target":[0,-187.5,0],"interpolation":"catmullrom"},{"timestamp":10.041666666666666,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone206","target":"rotation","keyframes":[{"timestamp":0,"target":[0,45,0],"interpolation":"catmullrom"},{"timestamp":0.20833333333333334,"target":[0,70,0],"interpolation":"catmullrom"},{"timestamp":0.5,"target":[0,57.5,0],"interpolation":"catmullrom"},{"timestamp":0.7916666666666666,"target":[0,102.5,0],"interpolation":"catmullrom"},{"timestamp":1.1666666666666667,"target":[0,47.5,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,70,0],"interpolation":"catmullrom"},{"timestamp":2.0416666666666665,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.4583333333333335,"target":[0,42.5,0],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,75,0],"interpolation":"catmullrom"},{"timestamp":3.375,"target":[0,-32.5,0],"interpolation":"catmullrom"},{"timestamp":4,"target":[0,12.5,0],"interpolation":"catmullrom"},{"timestamp":4.708333333333333,"target":[0,-52.5,0],"interpolation":"catmullrom"},{"timestamp":5.333333333333333,"target":[0,35,0],"interpolation":"catmullrom"},{"timestamp":5.791666666666667,"target":[0,7.5,0],"interpolation":"catmullrom"},{"timestamp":6.208333333333333,"target":[0,82.5,0],"interpolation":"catmullrom"},{"timestamp":6.75,"target":[0,50,0],"interpolation":"catmullrom"},{"timestamp":7.25,"target":[0,82.5,0],"interpolation":"catmullrom"},{"timestamp":7.75,"target":[0,50,0],"interpolation":"catmullrom"},{"timestamp":8.166666666666666,"target":[0,125,0],"interpolation":"catmullrom"},{"timestamp":8.625,"target":[0,72.5,0],"interpolation":"catmullrom"},{"timestamp":9.083333333333334,"target":[0,135,0],"interpolation":"catmullrom"},{"timestamp":9.458333333333334,"target":[0,72.5,0],"interpolation":"catmullrom"},{"timestamp":9.75,"target":[0,82.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,45,0],"interpolation":"catmullrom"}]},{"bone":"bone190","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.20833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.7916666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.2083333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.0833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.4583333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.083333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.083333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.291666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":9,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.458333333333334,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone189","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5416666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.291666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.583333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.5,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone191","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.7083333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.7083333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.708333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.708333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.708333333333334,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone138","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.2916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.7916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.2916666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.9166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.125,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.791666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.791666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.75,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone160","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.16666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.875,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.2083333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.5833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.875,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.583333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.208333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.583333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.625,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone137","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.0833333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.708333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.125,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone158","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.2083333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.9166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.291666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.208333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.583333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.291666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone157","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.0416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.0416666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.4583333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.458333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.458333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.458333333333334,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone159","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.20833333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.2083333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.75,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.875,"target":[0,-2,0],"interpolation":"step"},{"timestamp":3.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.208333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.125,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.083333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.708333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"step"}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/frame/console/victorian/flight.json b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/flight.json
new file mode 100644
index 00000000..48c09912
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/flight.json
@@ -0,0 +1 @@
+{"length":10,"looping":true,"animations":[{"bone":"bone222","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.7916666666666667,"target":[0,-32.5,0],"interpolation":"catmullrom"},{"timestamp":3.375,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":5.166666666666667,"target":[0,-55,0],"interpolation":"catmullrom"},{"timestamp":7.708333333333333,"target":[0,60,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone223","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.2916666666666665,"target":[0,60,0],"interpolation":"catmullrom"},{"timestamp":4.833333333333333,"target":[0,-55,0],"interpolation":"catmullrom"},{"timestamp":6.625,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":8.25,"target":[0,-32.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone163","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.2916666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5833333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.3333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.458333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.041666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.958333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.125,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone165","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.2916666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.041666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.958333333333334,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone164","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.833333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.375,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone166","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.75,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.5833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.3333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.458333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.375,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone128","target":"position","keyframes":[{"timestamp":0,"target":[0,-6,0],"interpolation":"linear"}]},{"bone":"bone178","target":"rotation","keyframes":[{"timestamp":0,"target":[0,-110,0],"interpolation":"catmullrom"},{"timestamp":1.5,"target":[0,167.5,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,167.5,0],"interpolation":"catmullrom"},{"timestamp":2.75,"target":[0,-12.5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,-12.5,0],"interpolation":"catmullrom"},{"timestamp":3.75,"target":[0,77.5,0],"interpolation":"catmullrom"},{"timestamp":4.25,"target":[0,77.5,0],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,-202.5,0],"interpolation":"catmullrom"},{"timestamp":5.25,"target":[0,-202.5,0],"interpolation":"catmullrom"},{"timestamp":6,"target":[0,-112.5,0],"interpolation":"catmullrom"},{"timestamp":6.5,"target":[0,-112.5,0],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":7.75,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,162.5,0],"interpolation":"catmullrom"},{"timestamp":8.75,"target":[0,162.5,0],"interpolation":"catmullrom"},{"timestamp":9.5,"target":[0,-110,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,-110,0],"interpolation":"catmullrom"}]},{"bone":"bone232","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4,"target":[0,1440,0],"interpolation":"linear"},{"timestamp":8,"target":[0,2880,0],"interpolation":"linear"},{"timestamp":10,"target":[0,3600,0],"interpolation":"linear"}]},{"bone":"bone245","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2,"target":[0,1440,0],"interpolation":"linear"},{"timestamp":4,"target":[0,2880,0],"interpolation":"linear"},{"timestamp":4.958333333333333,"target":[0,3600,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.041666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7,"target":[0,1440,0],"interpolation":"linear"},{"timestamp":9,"target":[0,2880,0],"interpolation":"linear"},{"timestamp":9.958333333333334,"target":[0,3600,0],"interpolation":"linear"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone244","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":10,"target":[0,1800,0],"interpolation":"linear"}]},{"bone":"bone130","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9.75,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone129","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.25,"target":[0,-3,0],"interpolation":"step"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone195","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.5,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone188","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.75,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone180","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":0.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":3,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":9,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":10,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone186","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.75,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9.5,"target":[0,0,0],"interpolation":"step"}]},{"bone":"rotor_bottom","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.75,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":2.5,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.75,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":7.5,"target":[0,-2.5,0],"interpolation":"linear"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"rotor_top","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[0,3,0],"interpolation":"linear"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,3,0],"interpolation":"linear"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone234","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.3333333333333333,"target":[0,-7.5,0],"interpolation":"catmullrom"},{"timestamp":0.6666666666666666,"target":[0,-7.5,0],"interpolation":"catmullrom"},{"timestamp":1.0833333333333333,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.7083333333333333,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":2.375,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":3.6666666666666665,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.291666666666667,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":4.958333333333333,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.583333333333333,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":6.25,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.875,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":7.541666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":8.166666666666666,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":9.458333333333334,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":10.125,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone272","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.5833333333333334,"target":[4.777370469831112,-5.213084372720459,2.5008315222617057],"interpolation":"catmullrom"},{"timestamp":1.5833333333333333,"target":[-2.6375465699649974,2.378288323028337,5.623475696285823],"interpolation":"catmullrom"},{"timestamp":2.5833333333333335,"target":[2.3244610217842454,-2.7877259529151344,-6.620660942215982],"interpolation":"catmullrom"},{"timestamp":3.7083333333333335,"target":[-3.1747385405816932,2.279017682184549,3.104205861198243],"interpolation":"catmullrom"},{"timestamp":5,"target":[2.226646431751833,4.598670448768443,7.97897612164852],"interpolation":"catmullrom"},{"timestamp":6,"target":[-6.11093766837168,-2.582512776078966,-2.232620141040588],"interpolation":"catmullrom"},{"timestamp":7.416666666666667,"target":[4.120296002805062,2.911641633253039,2.2132829237493934],"interpolation":"catmullrom"},{"timestamp":8.375,"target":[-3.6197421013838538,-2.3838335515764264,-2.467580529437364],"interpolation":"catmullrom"},{"timestamp":9.25,"target":[-8.982805067105001,3.2683554932615335,7.169804599892158],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone136","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-0.25,0],"interpolation":"step"},{"timestamp":1.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.375,"target":[0,-0.25,0],"interpolation":"step"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,-0.25,0],"interpolation":"step"},{"timestamp":6.291666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.833333333333333,"target":[0,-0.25,0],"interpolation":"step"},{"timestamp":8.208333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.375,"target":[0,-0.25,0],"interpolation":"step"}]},{"bone":"bone255","target":"position","keyframes":[{"timestamp":0,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":4.541666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":7.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":9,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone256","target":"position","keyframes":[{"timestamp":0,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":2,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":4.541666666666667,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":5,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":7,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":7.875,"target":[0,-0.1,0],"interpolation":"step"},{"timestamp":9,"target":[0,8.326672684688674e-17,0],"interpolation":"step"},{"timestamp":9.583333333333334,"target":[0,-0.1,0],"interpolation":"step"}]},{"bone":"bone257","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.958333333333334,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone258","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.666666666666667,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone259","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":3.7916666666666665,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone182","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.041666666666667,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone249","target":"rotation","keyframes":[{"timestamp":0.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.6666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.3333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.416666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.583333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":6.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.416666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.583333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone250","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.1666666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.333333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.5,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone251","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.16666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.1666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.3333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.875,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.666666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone252","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.4166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.5833333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.9166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.833333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.833333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.416666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone253","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.08333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.9166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.0833333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.916666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.166666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.333333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.916666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone254","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.16666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.3333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.9166666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.916666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.333333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone236","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.458333333333333,"target":[0,0,2.5],"interpolation":"catmullrom"},{"timestamp":9.541666666666666,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone248","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.4583333333333333,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.375,"target":[0,0,2.5],"interpolation":"catmullrom"},{"timestamp":9.708333333333334,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone238","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.875,"target":[-4.777370469831112,5.2130843727200045,2.5008315222617057],"interpolation":"catmullrom"},{"timestamp":1.4583333333333333,"target":[-4.531635865110547,-0.35962064076609757,-4.569615362592231],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[-9.497876743392027,0.881866232803659,2.8271399820297844],"interpolation":"catmullrom"},{"timestamp":3,"target":[2.803324919147144,-1.1074252362569679,-7.284229533300204],"interpolation":"catmullrom"},{"timestamp":4,"target":[8.631266621938995,5.960927491035945,0.6156391280316891],"interpolation":"catmullrom"},{"timestamp":4.791666666666667,"target":[-3.7021222827544253,-1.851572909105962,-3.8708941451421923],"interpolation":"catmullrom"},{"timestamp":6.125,"target":[2.0197946592318656,8.000467196064074,1.4047048052592617],"interpolation":"catmullrom"},{"timestamp":7.166666666666667,"target":[-7.593149585000629,-2.9168455724348856,-4.651117910430112],"interpolation":"catmullrom"},{"timestamp":8.666666666666666,"target":[9.823504363901794,6.971045621213216,-6.193905107809878],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone239","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[-4.9810693937001815,-0.43523000247023447,-4.9810693937001815],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[-0.019001817490771344,4.9809253219282805,-0.4368798417744806],"interpolation":"catmullrom"},{"timestamp":4.666666666666667,"target":[-7.404490242525316,2.8056356458005034,2.0454167356129442],"interpolation":"catmullrom"},{"timestamp":6,"target":[-7.1867159983734386,-2.7879238002701094,-2.2746982723853764],"interpolation":"catmullrom"},{"timestamp":7.166666666666667,"target":[3.0759340178652197,1.7868132024941223,4.594669716651406],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[-4.428822505626995,-3.1982918253388197,4.980473269209906],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone133","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.75,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.833333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.166666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone134","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.666666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.833333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.166666666666666,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone168","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.3333333333333333,"target":[0,-10,0],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,12.5,0],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.583333333333333,"target":[0,52.5,0],"interpolation":"catmullrom"},{"timestamp":8.041666666666666,"target":[0,-50,0],"interpolation":"catmullrom"},{"timestamp":9.958333333333334,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone167","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.3333333333333333,"target":[0,10,0],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,-12.5,0],"interpolation":"catmullrom"},{"timestamp":5,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.583333333333333,"target":[0,-52.5,0],"interpolation":"catmullrom"},{"timestamp":8.041666666666666,"target":[0,50,0],"interpolation":"catmullrom"},{"timestamp":9.958333333333334,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone131","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.2916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.2916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.458333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.458333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.458333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.458333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone132","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.2083333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.2916666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.458333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.458333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.291666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.458333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.458333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":10,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone204","target":"rotation","keyframes":[{"timestamp":0,"target":[0,27.5,0],"interpolation":"catmullrom"},{"timestamp":1.375,"target":[0,65,0],"interpolation":"catmullrom"},{"timestamp":2.8333333333333335,"target":[0,20,0],"interpolation":"catmullrom"},{"timestamp":4.291666666666667,"target":[0,105,0],"interpolation":"catmullrom"},{"timestamp":6.5,"target":[0,-20,0],"interpolation":"catmullrom"},{"timestamp":7.791666666666667,"target":[0,17.5,0],"interpolation":"catmullrom"},{"timestamp":8.958333333333334,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,27.5,0],"interpolation":"catmullrom"}]},{"bone":"bone205","target":"rotation","keyframes":[{"timestamp":0,"target":[0,75,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,22.5,0],"interpolation":"catmullrom"},{"timestamp":2.2916666666666665,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":3.3333333333333335,"target":[0,95,0],"interpolation":"catmullrom"},{"timestamp":4.5,"target":[0,30,0],"interpolation":"catmullrom"},{"timestamp":5.708333333333333,"target":[0,65,0],"interpolation":"catmullrom"},{"timestamp":6.666666666666667,"target":[0,37.5,0],"interpolation":"catmullrom"},{"timestamp":7.291666666666667,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":8.5,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,75,0],"interpolation":"catmullrom"}]},{"bone":"bone206","target":"rotation","keyframes":[{"timestamp":0,"target":[0,-75,0],"interpolation":"catmullrom"},{"timestamp":1.625,"target":[0,25,0],"interpolation":"catmullrom"},{"timestamp":3.0833333333333335,"target":[0,-20,0],"interpolation":"catmullrom"},{"timestamp":3.7083333333333335,"target":[0,127.5,0],"interpolation":"catmullrom"},{"timestamp":5.5,"target":[0,42.5,0],"interpolation":"catmullrom"},{"timestamp":6.916666666666667,"target":[0,2.5,0],"interpolation":"catmullrom"},{"timestamp":8.333333333333334,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":10,"target":[0,-75,0],"interpolation":"catmullrom"}]},{"bone":"bone207","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.25,"target":[0,0,0],"interpolation":"linear"},{"timestamp":1.4166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.5833333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3.9166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4.833333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.833333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.833333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.833333333333334,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.416666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone208","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.16666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.916666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.083333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.583333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.75,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.083333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.916666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.083333333333334,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone209","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.08333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.9166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":2.0833333333333335,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.8333333333333335,"target":[35,0,0],"interpolation":"linear"},{"timestamp":4,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.916666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.166666666666666,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9.333333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.916666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone224","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":0.16666666666666666,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.1666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":1.3333333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":5.666666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"linear"},{"timestamp":8.875,"target":[0,0,0],"interpolation":"linear"},{"timestamp":9,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.5,"target":[35,0,0],"interpolation":"linear"},{"timestamp":9.666666666666666,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone225","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.1666666666666665,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.25,"target":[35,0,0],"interpolation":"linear"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.583333333333333,"target":[0,0,0],"interpolation":"linear"},{"timestamp":4.75,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.333333333333333,"target":[35,0,0],"interpolation":"linear"},{"timestamp":5.5,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6,"target":[0,0,0],"interpolation":"linear"},{"timestamp":6.166666666666667,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.333333333333334,"target":[35,0,0],"interpolation":"linear"},{"timestamp":8.5,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone190","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.4583333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.0833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5833333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.875,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.041666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.875,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone189","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.20833333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.8333333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.7916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.1666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.8333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.5416666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.583333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.166666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.5,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone191","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5416666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.0416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.5833333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.2916666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.833333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.583333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.541666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.041666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.875,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.916666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone138","target":"position","keyframes":[{"timestamp":0.041666666666666664,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1.2916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.0416666666666665,"target":[0,-3,0],"interpolation":"step"},{"timestamp":2.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,-3,0],"interpolation":"step"},{"timestamp":4.291666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.833333333333333,"target":[0,-3,0],"interpolation":"step"},{"timestamp":7.041666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.791666666666667,"target":[0,-3,0],"interpolation":"step"},{"timestamp":8.458333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.875,"target":[0,-3,0],"interpolation":"step"},{"timestamp":9.291666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.791666666666666,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone160","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.2083333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.708333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.041666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.583333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.875,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone137","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.208333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.458333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":10,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone158","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.7083333333333334,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.9166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.875,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.2083333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.583333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.416666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.583333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":9.041666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone157","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.4166666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.9166666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5833333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.5833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.291666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.958333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.916666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.708333333333334,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone159","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.9166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.75,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.708333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":8.083333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":9.125,"target":[0,0,0],"interpolation":"step"}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/frame/console/victorian/idle.json b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/idle.json
new file mode 100644
index 00000000..6e999900
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/idle.json
@@ -0,0 +1 @@
+{"length":8,"looping":true,"animations":[{"bone":"bone163","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.125,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.75,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone165","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.125,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone164","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone166","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.5416666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.75,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.416666666666667,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone136","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.7916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.625,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.666666666666667,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone257","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.8333333333333334,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.6666666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.5,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.0833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.041666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.041666666666667,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone232","target":"rotation","keyframes":[{"timestamp":0,"target":[0,355,0],"interpolation":"linear"},{"timestamp":4,"target":[0,715,0],"interpolation":"linear"},{"timestamp":8,"target":[0,1075,0],"interpolation":"linear"}]},{"bone":"bone245","target":"rotation","keyframes":[{"timestamp":0,"target":[0,355,0],"interpolation":"linear"},{"timestamp":2.7083333333333335,"target":[0,715,0],"interpolation":"linear"},{"timestamp":5.333333333333333,"target":[0,1075,0],"interpolation":"linear"},{"timestamp":8,"target":[0,1435,0],"interpolation":"linear"}]},{"bone":"bone244","target":"rotation","keyframes":[{"timestamp":0,"target":[0,355,0],"interpolation":"linear"},{"timestamp":8,"target":[0,715,0],"interpolation":"linear"}]},{"bone":"bone133","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":3,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.958333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.958333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.958333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":7.958333333333333,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone134","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4.958333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.958333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.958333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.958333333333333,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone260","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":7.958333333333333,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone222","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.7083333333333335,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone223","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.291666666666667,"target":[0,-17.5,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone131","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":8,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone132","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone204","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.3333333333333335,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":3.5416666666666665,"target":[0,20,0],"interpolation":"catmullrom"},{"timestamp":5.041666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":6.708333333333333,"target":[0,45,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone205","target":"rotation","keyframes":[{"timestamp":0,"target":[0,19.37,0],"interpolation":"catmullrom"},{"timestamp":1.375,"target":[0,45,0],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.458333333333333,"target":[0,20,0],"interpolation":"catmullrom"},{"timestamp":5.666666666666667,"target":[0,67.5,0],"interpolation":"catmullrom"},{"timestamp":7.25,"target":[0,17.4,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,19.37,0],"interpolation":"catmullrom"}]},{"bone":"bone206","target":"rotation","keyframes":[{"timestamp":0,"target":[0,90,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,102.5,0],"interpolation":"catmullrom"},{"timestamp":2.5,"target":[0,75,0],"interpolation":"catmullrom"},{"timestamp":4.166666666666667,"target":[0,95,0],"interpolation":"catmullrom"},{"timestamp":5.833333333333333,"target":[0,52.5,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,90,0],"interpolation":"catmullrom"}]},{"bone":"bone162","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone161","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":4,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone138","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.25,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.791666666666667,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone160","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.6666666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.4166666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.375,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone137","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.791666666666667,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone158","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6.791666666666667,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone157","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.8333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.791666666666667,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone159","target":"position","keyframes":[{"timestamp":0.2916666666666667,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.0833333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":6.333333333333333,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone130","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone129","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone195","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone188","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone180","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":3.5,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-3,0],"interpolation":"step"}]},{"bone":"bone186","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone178","target":"rotation","keyframes":[{"timestamp":0,"target":[0,70,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,250,0],"interpolation":"catmullrom"},{"timestamp":3.25,"target":[0,250,0],"interpolation":"catmullrom"},{"timestamp":4,"target":[0,340,0],"interpolation":"catmullrom"},{"timestamp":4.75,"target":[0,340,0],"interpolation":"catmullrom"},{"timestamp":6,"target":[0,165,0],"interpolation":"catmullrom"},{"timestamp":7.125,"target":[0,165,0],"interpolation":"catmullrom"},{"timestamp":7.625,"target":[0,75,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,75,0],"interpolation":"catmullrom"}]},{"bone":"bone127","target":"position","keyframes":[{"timestamp":0,"target":[0,-7,0],"interpolation":"linear"}]},{"bone":"bone255","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2,"target":[0,0,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.708333333333333,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone256","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":2,"target":[0,-1,0],"interpolation":"step"},{"timestamp":3.6666666666666665,"target":[0,0,0],"interpolation":"step"},{"timestamp":5.708333333333333,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone258","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.333333333333333,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone259","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":3.0416666666666665,"target":[0,0,7.5],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone182","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.833333333333333,"target":[0,0,-5],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone249","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":5.833333333333333,"target":[7.5,0,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone250","target":"rotation","keyframes":[{"timestamp":0,"target":[2.5,0,0],"interpolation":"catmullrom"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.25,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":7.708333333333333,"target":[2.5,0,0],"interpolation":"catmullrom"}]},{"bone":"bone251","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.25,"target":[7.5,0,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone252","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.25,"target":[2.5,0,0],"interpolation":"catmullrom"},{"timestamp":7.708333333333333,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone253","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.5,"target":[5,0,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone254","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.166666666666667,"target":[7.5,0,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone236","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":3.5,"target":[0,0,2.5],"interpolation":"catmullrom"},{"timestamp":7.5,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone248","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.1666666666666667,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.25,"target":[0,0,2.5],"interpolation":"catmullrom"},{"timestamp":7.708333333333333,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone272","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.3333333333333335,"target":[-4.891693366384516,-2.7061531830072454,-2.2752182028561947],"interpolation":"catmullrom"},{"timestamp":5.416666666666667,"target":[0.32621521432553013,2.6927462251124235,2.2858952638000303],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone238","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[-5,0,-5],"interpolation":"catmullrom"},{"timestamp":5.791666666666667,"target":[4.976226571935513,-0.43497513296824764,-0.021020944283463905],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone239","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":4.125,"target":[5,0,5],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone168","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,-5,0],"interpolation":"catmullrom"},{"timestamp":5.416666666666667,"target":[0,17.72,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone167","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.1666666666666665,"target":[0,5,0],"interpolation":"catmullrom"},{"timestamp":5.416666666666667,"target":[0,-17.72,0],"interpolation":"catmullrom"},{"timestamp":8,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone190","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.625,"target":[0,-1,0],"interpolation":"step"},{"timestamp":4,"target":[0,0,0],"interpolation":"step"},{"timestamp":6,"target":[0,-1,0],"interpolation":"step"},{"timestamp":8,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone189","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.3333333333333335,"target":[0,0,0],"interpolation":"step"},{"timestamp":4.458333333333333,"target":[0,-1,0],"interpolation":"step"},{"timestamp":6,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.5,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone191","target":"position","keyframes":[{"timestamp":0.375,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.375,"target":[0,-1,0],"interpolation":"step"},{"timestamp":5.333333333333333,"target":[0,0,0],"interpolation":"step"},{"timestamp":7.25,"target":[0,-1,0],"interpolation":"step"}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/frame/console/victorian/power_off.json b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/power_off.json
new file mode 100644
index 00000000..37924f6f
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/power_off.json
@@ -0,0 +1 @@
+{"length":3,"looping":false,"animations":[{"bone":"bone163","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone165","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone164","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone166","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone234","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.5,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone127","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,-6,0],"interpolation":"step"}]},{"bone":"bone128","target":"position","keyframes":[{"timestamp":0,"target":[0,-6,0],"interpolation":"step"},{"timestamp":0.3333333333333333,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone178","target":"rotation","keyframes":[{"timestamp":0,"target":[0,70,0],"interpolation":"catmullrom"}]},{"bone":"bone257","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone232","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.8333333333333334,"target":[0,75,0],"interpolation":"catmullrom"},{"timestamp":1.75,"target":[0,10,0],"interpolation":"catmullrom"},{"timestamp":2.8333333333333335,"target":[0,37.5,0],"interpolation":"catmullrom"}]},{"bone":"bone245","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,-85,0],"interpolation":"catmullrom"},{"timestamp":1.8333333333333333,"target":[0,-32.5,0],"interpolation":"catmullrom"},{"timestamp":2.9166666666666665,"target":[0,-60,0],"interpolation":"catmullrom"}]},{"bone":"bone244","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,222.5,0],"interpolation":"catmullrom"},{"timestamp":2.0416666666666665,"target":[0,100,0],"interpolation":"catmullrom"},{"timestamp":2.9166666666666665,"target":[0,147.5,0],"interpolation":"catmullrom"}]},{"bone":"bone133","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-2,0],"interpolation":"step"}]},{"bone":"bone134","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone131","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone132","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone204","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.6666666666666666,"target":[0,-205,0],"interpolation":"catmullrom"},{"timestamp":1.5833333333333333,"target":[0,-92.5,0],"interpolation":"catmullrom"},{"timestamp":2.2083333333333335,"target":[0,-167.5,0],"interpolation":"catmullrom"},{"timestamp":2.8333333333333335,"target":[0,-135,0],"interpolation":"catmullrom"}]},{"bone":"bone205","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.6666666666666666,"target":[0,-205,0],"interpolation":"catmullrom"},{"timestamp":1.5833333333333333,"target":[0,-92.5,0],"interpolation":"catmullrom"},{"timestamp":2.2083333333333335,"target":[0,-167.5,0],"interpolation":"catmullrom"},{"timestamp":2.8333333333333335,"target":[0,-135,0],"interpolation":"catmullrom"}]},{"bone":"bone206","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":0.6666666666666666,"target":[0,-205,0],"interpolation":"catmullrom"},{"timestamp":1.5833333333333333,"target":[0,-92.5,0],"interpolation":"catmullrom"},{"timestamp":2.2083333333333335,"target":[0,-167.5,0],"interpolation":"catmullrom"},{"timestamp":2.8333333333333335,"target":[0,-135,0],"interpolation":"catmullrom"}]},{"bone":"rotor_bottom","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":2.5,"target":[0,-3,0],"interpolation":"linear"}]},{"bone":"rotor_top","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3,"target":[0,3,0],"interpolation":"linear"}]},{"bone":"bone192","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"},{"timestamp":3,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone272","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.5,"target":[-7.070138880573268,5.592775182964488,4.326296969658415],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone238","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.3333333333333333,"target":[-3.7712587769519637,-2.9107891637891408,-2.355728293461871],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone239","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.5416666666666667,"target":[-0.004734802393613791,0.21782074970724352,2.5095012534748093],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone222","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.3333333333333333,"target":[0,-7.5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone223","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,-2.5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone168","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.75,"target":[0,5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone167","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.2083333333333333,"target":[0,-5,0],"interpolation":"catmullrom"},{"timestamp":2.9583333333333335,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone190","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.25,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone189","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":1.8333333333333333,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone191","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.75,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone138","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone160","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.6666666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone137","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.9166666666666666,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone158","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":0.5,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone157","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone159","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone188","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"linear"}]},{"bone":"bone180","target":"position","keyframes":[{"timestamp":0,"target":[0,-3,0],"interpolation":"linear"}]},{"bone":"bone186","target":"position","keyframes":[{"timestamp":0,"target":[0,-4,0],"interpolation":"linear"}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/frame/console/victorian/power_on.json b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/power_on.json
new file mode 100644
index 00000000..c0dd62b8
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/frame/console/victorian/power_on.json
@@ -0,0 +1 @@
+{"length":3,"looping":false,"animations":[{"bone":"bone163","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone165","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone164","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.4166666666666667,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone166","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone178","target":"rotation","keyframes":[{"timestamp":0,"target":[0,70,0],"interpolation":"catmullrom"}]},{"bone":"bone255","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone256","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone232","target":"rotation","keyframes":[{"timestamp":0,"target":[0,37.5,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,37.5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,-5,0],"interpolation":"catmullrom"}]},{"bone":"bone245","target":"rotation","keyframes":[{"timestamp":0,"target":[0,-60,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,-60,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,-5,0],"interpolation":"catmullrom"}]},{"bone":"bone244","target":"rotation","keyframes":[{"timestamp":0,"target":[0,147.5,0],"interpolation":"catmullrom"},{"timestamp":1.8333333333333333,"target":[0,147.5,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,-5,0],"interpolation":"catmullrom"}]},{"bone":"bone272","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[10.683073234441054,-6.483646672004852,-6.263949181220596],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone238","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":2.0416666666666665,"target":[-1.1069291917042392,-12.451668927334595,5.120759728779831],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone239","target":"rotation","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"catmullrom"},{"timestamp":1.3333333333333333,"target":[0.9844794635018843,7.435472226132333,7.563971028015203],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone133","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.3333333333333335,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone134","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"step"},{"timestamp":2.3333333333333335,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone131","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone132","target":"position","keyframes":[{"timestamp":0,"target":[0,0,0],"interpolation":"linear"}]},{"bone":"bone204","target":"rotation","keyframes":[{"timestamp":0,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":1.6666666666666667,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,0,0],"interpolation":"catmullrom"}]},{"bone":"bone205","target":"rotation","keyframes":[{"timestamp":0,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":1,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":3,"target":[0,19.37,0],"interpolation":"catmullrom"}]},{"bone":"bone206","target":"rotation","keyframes":[{"timestamp":0,"target":[0,-135,0],"interpolation":"catmullrom"},{"timestamp":2,"target":[0,90,0],"interpolation":"catmullrom"}]},{"bone":"bone190","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.0833333333333333,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone189","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"}]},{"bone":"bone191","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":2.4166666666666665,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone138","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone160","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.3333333333333333,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone137","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.8333333333333333,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone158","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"step"},{"timestamp":1.6666666666666667,"target":[0,0,0],"interpolation":"step"}]},{"bone":"bone157","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone159","target":"position","keyframes":[{"timestamp":0,"target":[0,-1,0],"interpolation":"linear"}]},{"bone":"bone188","target":"position","keyframes":[{"timestamp":0,"target":[0,-4,0],"interpolation":"linear"}]},{"bone":"bone180","target":"position","keyframes":[{"timestamp":0,"target":[0,-4,0],"interpolation":"linear"}]},{"bone":"bone186","target":"position","keyframes":[{"timestamp":0,"target":[0,-4,0],"interpolation":"linear"}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/animated/living/ars_egg/crashing.json b/common/src/main/resources/assets/tardis_refined/frame/living/ars_egg/crashing.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/living/ars_egg/crashing.json
rename to common/src/main/resources/assets/tardis_refined/frame/living/ars_egg/crashing.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/living/ars_egg/swinging.json b/common/src/main/resources/assets/tardis_refined/frame/living/ars_egg/swinging.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/living/ars_egg/swinging.json
rename to common/src/main/resources/assets/tardis_refined/frame/living/ars_egg/swinging.json
diff --git a/common/src/main/resources/assets/tardis_refined/animated/shell/myst/idle.json b/common/src/main/resources/assets/tardis_refined/frame/shell/myst/idle.json
similarity index 100%
rename from common/src/main/resources/assets/tardis_refined/animated/shell/myst/idle.json
rename to common/src/main/resources/assets/tardis_refined/frame/shell/myst/idle.json
diff --git a/common/src/main/resources/assets/tardis_refined/lang/af_za.json b/common/src/main/resources/assets/tardis_refined/lang/af_za.json
index 9332811e..3f8cd23f 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/af_za.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/af_za.json
@@ -2,34 +2,34 @@
"argument.tardis_refined.desktop.invalid": "Invalid Desktop of ID %s",
"argument.tardis_refined.shell.invalid": "Invalid Shell of ID %s",
"argument.tardis_refined.upgrade.invalid": "Invalid Upgrade of ID %s",
- "block.tardis_refined.air_lock_generator": "Air Lock Generator",
- "block.tardis_refined.ars_egg": "ARS Egg",
- "block.tardis_refined.ars_leaves": "ARS Leaves",
- "block.tardis_refined.ars_leaves_fence": "ARS Fence",
- "block.tardis_refined.ars_leaves_slab": "ARS Slab",
- "block.tardis_refined.artron_pillar": "Artron Pillar",
- "block.tardis_refined.artron_pillar_port": "Artron Pillar Port",
- "block.tardis_refined.astral_manipulator": "Astral Manipulator",
- "block.tardis_refined.bulk_head_door": "Bulk Head Door",
- "block.tardis_refined.console_configuration": "Console Configurator",
- "block.tardis_refined.corridor_teleporter": "Corridor Teleporter",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
- "block.tardis_refined.flight_detector": "Flight Detector",
+ "block.tardis_refined.air_lock_generator": "Lugslotskepper",
+ "block.tardis_refined.ars_egg": "BHS Eier",
+ "block.tardis_refined.ars_leaves": "BHS-blare",
+ "block.tardis_refined.ars_leaves_fence": "BHS Heining",
+ "block.tardis_refined.ars_leaves_slab": "BHS-blad",
+ "block.tardis_refined.artron_pillar": "Artron Pilaar",
+ "block.tardis_refined.artron_pillar_port": "Artron Pilaar met Poort",
+ "block.tardis_refined.astral_manipulator": "Omvormingtafel",
+ "block.tardis_refined.bulk_head_door": "Skot Deur",
+ "block.tardis_refined.console_configuration": "Beheerpaneelsbewerker",
+ "block.tardis_refined.corridor_teleporter": "Gangteleporter",
+ "block.tardis_refined.deepslate_zeiton_ore": "Leisteen Zeitonerts",
+ "block.tardis_refined.flight_detector": "Vlugsensor",
"block.tardis_refined.fools_stone": "Fool's Stone",
- "block.tardis_refined.gravity_well": "Gravity Well",
- "block.tardis_refined.landing_pad": "Landing Pad",
- "block.tardis_refined.root_plant": "Root Plant",
- "block.tardis_refined.root_shell": "Root Shell",
- "block.tardis_refined.root_shell_door": "Root Door",
- "block.tardis_refined.tardis_console": "Console",
+ "block.tardis_refined.gravity_well": "Swaartekragsbron",
+ "block.tardis_refined.landing_pad": "Landingsplek",
+ "block.tardis_refined.root_plant": "TARDIS Koraal",
+ "block.tardis_refined.root_shell": "Koraalskulp",
+ "block.tardis_refined.root_shell_door": "Skulpdeur",
+ "block.tardis_refined.tardis_console": "Beheerpaneel",
"block.tardis_refined.tardis_door": "Tardis Door",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terraformer",
- "block.tardis_refined.zeiton_block": "Block of Zeiton",
- "block.tardis_refined.zeiton_fused_copper_block": "Zeiton Fused Copper Block",
- "block.tardis_refined.zeiton_fused_iron_block": "Zeiton Fused Iron Block",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
+ "block.tardis_refined.zeiton_block": "Zeitonblok",
+ "block.tardis_refined.zeiton_fused_copper_block": "Koperblok met Zeitonraamwerk",
+ "block.tardis_refined.zeiton_fused_iron_block": "Ysterblok met Zeitonraamwerk",
+ "block.tardis_refined.zeiton_lantern": "Zeitonlantern",
+ "block.tardis_refined.zeiton_ore": "Zeitonerts",
"command.tardis_refined.create.in_progress": "Attempting to create Tardis %s, generation in progress",
"command.tardis_refined.create.success": "Successfully created Tardis with id %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s is not a TARDIS Dimension!",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
+ "item.tardis_refined.raw_zeiton": "Rou Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.test_tube": "Test Tube",
+ "item.tardis_refined.zeiton_ingot": "Zeitonstaaf",
+ "item.tardis_refined.zeiton_nugget": "Zeitonklont",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Gekies: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Gekies: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/ar_sa.json b/common/src/main/resources/assets/tardis_refined/lang/ar_sa.json
index 3ed423cd..3a2b9b0b 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/ar_sa.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/ar_sa.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "ترقية مقفلة %s ل %s",
"command.tardis_refined.upgrade.unlock": "فتح الترقية %s ل %s",
"config.tardis_refined.banned_dimensions": "أبعاد محظورين",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "هل تريد تمكين إحياء المتحركة لوحات التحكم غير النشطة؟",
"config.tardis_refined.control_names": "هل تريد أن تظهر أسماء التحكم؟",
"config.tardis_refined.immersive_portals": "هل تريد تمكين التوافق مع Immersive Portals؟",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "زر بعد",
"control.tardis_refined.door_toggle": "زر الباب",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "زر العودة السريعة",
"control.tardis_refined.fuel": "الوقود",
- "control.tardis_refined.generic_control": "تبديل",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "يدوي",
"control.tardis_refined.increment": "زر زيادة تنسيق",
"control.tardis_refined.monitor": "الحاسوب",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "زر الاتجاه",
"control.tardis_refined.throttle": "معجل",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s كان مقطورا بالرياح الزمنية.",
"death.attack.eye_of_harmony.player": "%s كان مقطورا بالرياح الزمنية.",
"entity.tardis_refined.console_control": "تحكم",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "مثقاب",
"item.tardis_refined.glasses": "نظارات AR",
"item.tardis_refined.keychain": "حلقة مفاتيح تارديس",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "مغير التصميم",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "مفتاح تارديس",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "أعلى من: %s",
"message.tardis_refined.astral_manipulator_engaged": "الرجاء إجراء الإختيار الخاص بك. انقر بزر الماوس الأيمن مرة أخرى للتأكيد",
"message.tardis_refined.cannot_start_no_fuel": "لا يوجد ما يكفي من الوقود للبدء",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "لا يمكن تغيير وحدات التحكم أثناء الطيران",
- "message.tardis_refined.console_config_not_in_flight": "لا يمكن تحديث كتلة وحدة التحكم أثناء الطيران",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "الصنف",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "النزول: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "لا يوجد ما يكفي من الوقود لبدء عملية إعادة التشكيل",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "إفراز",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "يجب عليك الانتظار مدة %s ثانية(ثواني)",
- "message.tardis_refined.fuel": "الوقود: ",
- "message.tardis_refined.fuel_offline": "الوقود غير متصل",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "فك الارتباط بالأيدي",
"message.tardis_refined.handbrake_engaged": "استخدام الأيدي",
"message.tardis_refined.handbrake_warning": "السفينة في الرحلة. انقر بزر اليسار على المصباح للمشاركة",
- "message.tardis_refined.hardware_offline": "الأجهزة غير متصل",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "المفتاح مرتبط بـ%s",
"message.tardis_refined.key_cycled": "تارديس رئيسي: %s",
- "message.tardis_refined.landing_pad_transient": "لا يمكن استدعاء TARDIS في هذا الوقت",
- "message.tardis_refined.landing_pad_unlocked": "تم تحديد TRDIS رفض إشارة لوحة الهبوط",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "التنين يمنعك من التقدم إلى النهاية",
"message.tardis_refined.no_flight_transitive": "لا يمكن تغيير حالة الهدايا أثناء الطيران الانتقالي",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "تمكين إعادة التزويد",
"message.tardis_refined.refuel_stopped": "توقف التزويد",
"message.tardis_refined.root_plant_cut_open": "الجذور تغطي المدخل",
"message.tardis_refined.selected": "تم اختيار: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "تم استدعاء TRDIS وهي في طريقها",
- "message.tardis_refined.tooltip_in_flight": "في الرحلة",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "نقطة الطريق المحمّلة مسبقا: %s",
"monitor.waypoints.name.placeholder": "اسم نقطة الطريق",
"monitor.waypoints.new_waypoint": "إحداثية جديدة",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "المظهر الخارجي الافتراضي",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "نمو المرجان",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "ضريح مصري قديم",
"shell.tardis_refined.lift": "رفع",
"shell.tardis_refined.mystic": "كابينة الصوفي",
"shell.tardis_refined.nuka": "آلة بيع نوكا-كولا",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "كابينة تليفون للإتصال بالشرطة",
"shell.tardis_refined.portaloo": "مرحاض متنقل",
"shell.tardis_refined.present": "هدية",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "آلة بيع",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "لوحة شجرة ARS",
"sound.artron_pillar_active.subtitle": "تم تنشيط عمود الأرتون",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "تشغيل وحدة التحكم",
"sound.corridor_teleporter.subtitle": "بناء ناقلة",
"sound.corridor_teleporter_success.subtitle": "استخدام تيليمورتر",
"sound.destination_ding.subtitle": "وصول TRDIS إلى الوجهة",
"sound.flight_fail_start.subtitle": "فشل في تاردش",
"sound.gravity_tunnel.subtitle": "رياح نفق الجاذبية",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "الكنائس",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "مغير التصميم تُفَعَّل",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "تجاهل تفكيك الشاشة البيانات",
"sound.screwdriver_short.subtitle": "جهاز التفكيك المستخدم",
"sound.static.subtitle": "الشاشة يتشقق",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "التارديس يسافر",
"sound.tardis_takeoff.subtitle": "تارديس يختفي",
"sound.time_blast.subtitle": "وقت انفجار Vortex",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "معالج ترددات حماقة",
- "tooltip.tardis_refined.tardis_list": "حلقة مفاتيح:",
- "ui.tardis_refined.desktop_selection": "إعدادات غرفة التحكم",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "هل ترغب في إلغاء إعادة تصميم غرفة التحكم القادمة؟",
- "ui.tardis_refined.monitor.desktop": "إعدادات غرفة التحكم",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "إلغاء إعادة تصميم",
"ui.tardis_refined.monitor.desktop_cancel.title": "مهمة قيد التقدم",
"ui.tardis_refined.monitor.desktop_cancel_description": "تم تعطيل أنظمة التارديس بسبب إعادة تصميم غرفة التحكم القادمة.",
- "ui.tardis_refined.monitor.external_shell": "إعدادات المظهر الخارجي",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "تم اختيار: &s",
"ui.tardis_refined.monitor.main.destination": "الوجهة",
"ui.tardis_refined.monitor.main.gps": "الموقع",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "الحاسوب",
"ui.tardis_refined.monitor.no.waypoints": "لا توجد نِقَاط الطريق المحفوظة!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "صديق",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "تنسيق الملاحة",
"ui.tardis_refined.monitor.upload.waypoints": "نقطة الطريق الملاحة",
"ui.tardis_refined.monitor.waypoint_name": "اسم نقطة الطريق:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "قيمة Y غير صالحة",
"ui.tardis_refined.monitor.waypoints.issues.z": "قيمة Z غير صالحة",
"ui.tardis_refined.monitor.waypoints.load": "إرسال إلى وحدة التحكم",
- "ui.tardis_refined.monitor.waypoints.submit": "إرسال",
"ui.tardis_refined.monitor.waypoints.upload": "تحميل",
"ui.tardis_refined.no_installed_subsystems": "لا توجد أنظمة فرعية متاحة",
- "ui.tardis_refined.shell_selection": "إعدادات المظهر الخارجي",
"ui.tardis_refined.upgrades": "ترقيات البارد",
"ui.tardis_refined.upgrades.buy_ability": "شراء الترقية؟",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "معماري",
"upgrade.tardis_refined.architecture_system.description": "تمكين ترقيات معماري TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "دائرة شاميليون",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "زيادة x2500",
"upgrade.tardis_refined.explorer_iii": "المستكشف III",
"upgrade.tardis_refined.explorer_iii.description": "زيادة x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "الجيل المحسن I",
"upgrade.tardis_refined.improved_generation_time_i.description": "انخفاض أوقات الانتظار على سطح المكتب إلى 120 ثانية",
"upgrade.tardis_refined.improved_generation_time_ii": "تحسين الجيل II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "يسمح لـ TARDIS بالدخول إلى الكيانات أثناء الأمومة",
"upgrade.tardis_refined.navigation_system": "نظام الملاحة",
"upgrade.tardis_refined.navigation_system.description": "السماح بالترقيات إلى نظام التنقل TRDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "ترقيات النظام",
"upgrade.tardis_refined.tardis_xp.description": "يسمح بالترقية إلى TARDIS",
"upgrade.tardis_refined.waypoints": "إحداثيات",
- "upgrade.tardis_refined.waypoints.description": "يسمح للطيران بإنشاء مواقع محفوظة"
+ "upgrade.tardis_refined.waypoints.description": "يسمح للطيران بإنشاء مواقع محفوظة",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/ba_ru.json b/common/src/main/resources/assets/tardis_refined/lang/ba_ru.json
index 0959a414..f7e07a33 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/ba_ru.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/ba_ru.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Ҡулланыу элементарҙың исемдәрен күргәтергә?",
"config.tardis_refined.immersive_portals": "Батыу Порталдар менән Ярашыу?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Ишек Һалмауыры",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Йүнәлеш",
"control.tardis_refined.throttle": "Дроссель",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Дөйөм Контроль",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Тардис Асҡыстары",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Тардис Асҡысы",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Яҡшыртылған Тардис",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Һеҙ %s секунд көтөргә тейеш",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Асҡыс %s менән бәйләнгән",
"message.tardis_refined.key_cycled": "Үҙәк: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Фабрик",
"shell.tardis_refined.groening": "Гроунинг",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Серле",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Полицияның Өкәләге",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Бүләк",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Һатыу Машинаһы",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Асҡыс:",
- "ui.tardis_refined.desktop_selection": "ЭШЛЕ ӨҪТӘЛДЕҢ КОНФИГУРАЦИЯҺЫ",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Киләге конфигурацияны кире ҡайтарырға килә ме?",
- "ui.tardis_refined.monitor.desktop": "ЭШЛЕ ӨҪТӘЛДЕҢ КОНФИГУРАЦИЯҺЫ",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Эшле Өҫтәлдең Реконфигурацияны кире ҡайтарыу",
"ui.tardis_refined.monitor.desktop_cancel.title": "ОПЕРАЦИЯ ПРОЦЕССТА",
"ui.tardis_refined.monitor.desktop_cancel_description": "Системалар һүндерелгәндәр сөнки эшле өҫтәлдең реконфигурация булырға тейеш.",
- "ui.tardis_refined.monitor.external_shell": "ТЫШҠЫ ТЫШЫНЫҢ КОНФИГУРАЦИЯҺЫ",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Хәҙергә һайланған: &s",
"ui.tardis_refined.monitor.main.destination": "Тәғәйенләнгән урын",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "КОМПЬЮТЕР БАНКЫ",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "ТЫШҠЫ ТЫШЫНЫҢ КОНФИГУРАЦИЯҺЫ",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/be_by.json b/common/src/main/resources/assets/tardis_refined/lang/be_by.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/be_by.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/be_by.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/bg_bg.json b/common/src/main/resources/assets/tardis_refined/lang/bg_bg.json
index cffdc0da..5edce0aa 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/bg_bg.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/bg_bg.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Избрано: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Избрано: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/bn_bd.json b/common/src/main/resources/assets/tardis_refined/lang/bn_bd.json
index ede18e15..a749d112 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/bn_bd.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/bn_bd.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "নিষিদ্ধ মাত্রা",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "আপনি কি নিষ্ক্রিয় নিয়ন্ত্রণ কনসোলের জন্য অ্যানিমেশন সক্ষম করতে চান?",
"config.tardis_refined.control_names": "আপনি নিয়ন্ত্রণের নাম দেখাতে চান?",
"config.tardis_refined.immersive_portals": "আপনি কি Immersive Portals এর সাথে উপযুক্ততা সক্ষম করতে চান?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "মাত্রা সুইচ",
"control.tardis_refined.door_toggle": "দরজা বোতাম",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "দ্রুত প্রত্যাবর্তন বোতাম",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "দিক সুইচ",
"control.tardis_refined.throttle": "হাত ব্রেক",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "নিয়ন্ত্রণ",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "তুরপুন",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "টারডিস চাবির রিং",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "নকশা পরিবর্তনডিভাইস",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "টারডিস চাবি",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "উন্নত টারডিস",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "আপনাকে %s সেকেন্ড অপেক্ষা করতে হবে",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "চাবি এর সাথে আবদ্ধ %s",
"message.tardis_refined.key_cycled": "প্রধান: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "নির্বাচিত: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "স্ট্যানডাড্ শেল",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "প্রবাল বিবৃদ্ধি",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "প্রাচীন মিশরীয় সমাধি",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "মিসটিআরিআস্ স্টল",
"shell.tardis_refined.nuka": "নুকা-কোলা ভেন্ডিং মেশিন",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "পুলিশ বক্স",
"shell.tardis_refined.portaloo": "বহনযোগ্য শৌচাগারসমূহের",
"shell.tardis_refined.present": "উপহার",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "ভেন্ডিং মেশিন",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "নকশা পরিবর্তনডিভাইস সক্রিয় করে",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "পর্দা চড়চড় শব্দ করছে",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "টারডিস ভ্রমণ করে",
"sound.tardis_takeoff.subtitle": "টারডিস ডিমাটিআরিআলাইজ্ করে",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "চাবির রিং:",
- "ui.tardis_refined.desktop_selection": "নিয়ন্ত্রণ কোঠা সেটিংস",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "আপনি কি আসন্ন নিয়ন্ত্রণ কোঠা পুনরায় সাজানো বাতিল করতে চান?",
- "ui.tardis_refined.monitor.desktop": "নিয়ন্ত্রণ কোঠা সেটিংস",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "নিয়ন্ত্রণ কোঠা পুনরায় সাজানো বাতিল করুন",
"ui.tardis_refined.monitor.desktop_cancel.title": "একটি কাজ চলছে",
"ui.tardis_refined.monitor.desktop_cancel_description": "আসন্ন নিয়ন্ত্রণ কোঠা পুনরায় সাজানোর কারণে টারডিসর সিস্টেমগুলি নিষ্ক্রিয় করা হয়েছে।",
- "ui.tardis_refined.monitor.external_shell": "শেল সেটিংস",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "নির্বাচিত: &s",
"ui.tardis_refined.monitor.main.destination": "গন্তব্যস্থল",
"ui.tardis_refined.monitor.main.gps": "অবস্থান",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "কম্পিউটার",
"ui.tardis_refined.monitor.no.waypoints": "কোন সংরক্ষিত পথবিন্দু আছে!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "স্থানাঙ্ক ন্যাভিগেইশ্ন্",
"ui.tardis_refined.monitor.upload.waypoints": "পথবিন্দু ন্যাভিগেইশ্ন্",
"ui.tardis_refined.monitor.waypoint_name": "পথবিন্দু নাম:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "শেল সেটিংস",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/bs_ba.json b/common/src/main/resources/assets/tardis_refined/lang/bs_ba.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/bs_ba.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/bs_ba.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/ca_es.json b/common/src/main/resources/assets/tardis_refined/lang/ca_es.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/ca_es.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/ca_es.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/cs_cz.json b/common/src/main/resources/assets/tardis_refined/lang/cs_cz.json
index 8520beb4..687be981 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/cs_cz.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/cs_cz.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Vylepšení %s uzamčeno pro %s",
"command.tardis_refined.upgrade.unlock": "Vylepšení %s odemknuto pro %s",
"config.tardis_refined.banned_dimensions": "Zakázané dimenze",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Přehrát nečinné konzolové animace",
"config.tardis_refined.control_names": "Vykreslit názvy ovládacích prvků?",
"config.tardis_refined.immersive_portals": "Kompatibilita módu Immersive Portals?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimenze",
"control.tardis_refined.door_toggle": "Přepínač dveří",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Rychlý návrat",
"control.tardis_refined.fuel": "Palivo",
- "control.tardis_refined.generic_control": "Spínač",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Ruční brzda",
"control.tardis_refined.increment": "Zvýšení",
"control.tardis_refined.monitor": "Počítačová banka",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Směr",
"control.tardis_refined.throttle": "Plyn",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s byl usmažen časovými větry.",
"death.attack.eye_of_harmony.player": "%s byl usmažen časovými větry.",
"entity.tardis_refined.console_control": "Obecné ovládání",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Vzrůstový vrták",
"item.tardis_refined.glasses": "AR brýle",
"item.tardis_refined.keychain": "Klíč k Tardis",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Vzorový manipulátor",
"item.tardis_refined.raw_zeiton": "Surový zeiton",
"item.tardis_refined.tardis_key": "Klíč k Tardis",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeitonský ingot",
"item.tardis_refined.zeiton_nugget": "Zeitonský nuget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Výstup: %s",
"message.tardis_refined.astral_manipulator_engaged": "Prosím proveďte výběr. Klikněte znovu pravým tlačítkem myši pro potvrzení",
"message.tardis_refined.cannot_start_no_fuel": "Nedostatek paliva pro spuštění",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Během letu nelze změnit konzoly",
- "message.tardis_refined.console_config_not_in_flight": "Během letu nelze aktualizovat blok konzole",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "AKTUÁLNÍ",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Sestup: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Nedostatek paliva pro zahájení nového procesu konfigurace",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "URČENÍ",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Musíš počkat %s sekund",
- "message.tardis_refined.fuel": "Palivo: ",
- "message.tardis_refined.fuel_offline": "Palivo offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Ruční brzda odpojena",
"message.tardis_refined.handbrake_engaged": "Ruční brzda",
"message.tardis_refined.handbrake_warning": "Loď je za letu. Kliknutím levým tlačítkem myši na ruční brzda se zapojí",
- "message.tardis_refined.hardware_offline": "Hardwarový režim offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Klíč přivlastněn hráči %s",
"message.tardis_refined.key_cycled": "Hlavní: %s",
- "message.tardis_refined.landing_pad_transient": "Tentokrát nelze spustit TARDIS",
- "message.tardis_refined.landing_pad_unlocked": "Specifikovaný TARDIS odmítl signál přistávací destičky",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Dračí ti brání v přechodu na konec",
"message.tardis_refined.no_flight_transitive": "Během přechodného letu nelze změnit stav ruční brzdy",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Povoleno doplňování paliva",
"message.tardis_refined.refuel_stopped": "Zastavené plnění paliva",
"message.tardis_refined.root_plant_cut_open": "Kořeny pokrývají vchod",
"message.tardis_refined.selected": "Vybráno: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS byl předvolán a je na cestě",
- "message.tardis_refined.tooltip_in_flight": "V letu",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Přednačtený trasový bod: %s",
"monitor.waypoints.name.placeholder": "Název trasového bodu",
"monitor.waypoints.new_waypoint": "Nový trasový bod",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Továrna",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Vzrůst",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyf",
"shell.tardis_refined.lift": "Výtah",
"shell.tardis_refined.mystic": "Mystické",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Policejní budka",
"shell.tardis_refined.portaloo": "Přenosová toaleta",
"shell.tardis_refined.present": "Dárek",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Prodejní automat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "Šum stromu ARS",
"sound.artron_pillar_active.subtitle": "Artronový pilíř aktivován",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Napájení konzole zapnuto",
"sound.corridor_teleporter.subtitle": "Vytváření teleportu",
"sound.corridor_teleporter_success.subtitle": "Teleportér použit",
"sound.destination_ding.subtitle": "TARDIS dorazila do destinace",
"sound.flight_fail_start.subtitle": "Sténání selhávající TARDIS",
"sound.gravity_tunnel.subtitle": "Tíhové tunely",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Křupavý",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Vzorový manipulátor se aktivuje",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Údaje o výmětech šroubů",
"sound.screwdriver_short.subtitle": "Použité šroubovice",
"sound.static.subtitle": "Šum obrazového displeje",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS letí",
"sound.tardis_takeoff.subtitle": "TARDIS vzlétá",
"sound.time_blast.subtitle": "Exploze časového víru",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Manipulátor frekvence ametystu",
- "tooltip.tardis_refined.tardis_list": "Klíčová sada:",
- "ui.tardis_refined.desktop_selection": "KONFIGURACE PLOCHY",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Chcete zrušit nadcházející rekonfiguraci?",
- "ui.tardis_refined.monitor.desktop": "KONFIGURACE PLOCHY",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Zrušit rekonfiguraci plochy",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERACE V PRŮBĚHU",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systémy deaktivovány, kvuli plánováné změně konfigurace plochy.",
- "ui.tardis_refined.monitor.external_shell": "KONFIGURACE VNĚJŠÍHO SHELLU",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Právě vybrán: &s",
"ui.tardis_refined.monitor.main.destination": "Destinace",
"ui.tardis_refined.monitor.main.gps": "Poloha",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "POČÍTAČOVÁ BANKA",
"ui.tardis_refined.monitor.no.waypoints": "Žádné navigační body nejsou uloženy!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "ZVUKOVÁ KULISA",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "SOUŘADNICOVÁ NAVIGACE",
"ui.tardis_refined.monitor.upload.waypoints": "NAVIGACE NAVIGAČNÍCH BODŮ",
"ui.tardis_refined.monitor.waypoint_name": "Název navigačního bodu:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Neplatná hodnota Y",
"ui.tardis_refined.monitor.waypoints.issues.z": "Neplatná hodnota Z",
"ui.tardis_refined.monitor.waypoints.load": "Odeslat do konzole",
- "ui.tardis_refined.monitor.waypoints.submit": "Zadat",
"ui.tardis_refined.monitor.waypoints.upload": "Nahrát",
"ui.tardis_refined.no_installed_subsystems": "Nejsou k dispozici žádné podsystémy",
- "ui.tardis_refined.shell_selection": "KONFIGURACE VNĚJŠÍHO SHELLU",
"ui.tardis_refined.upgrades": "Vylepšení Tardis",
"ui.tardis_refined.upgrades.buy_ability": "Zakoupit vylepšení?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architektura",
"upgrade.tardis_refined.architecture_system.description": "Umožňuje vylepšení architektury TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleoní obvod",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 navýšení",
"upgrade.tardis_refined.explorer_iii": "Průzkumník III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 navýšení",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Vylepšená generace I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Sníží počet čekání na plochu na 120 sekund",
"upgrade.tardis_refined.improved_generation_time_ii": "Vylepšená generace II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Umožňuje TARDIS vstup entitám během materializace",
"upgrade.tardis_refined.navigation_system": "Navigační systém",
"upgrade.tardis_refined.navigation_system.description": "Umožňuje vylepšení navigačního systému TARDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Systémové vylepšení",
"upgrade.tardis_refined.tardis_xp.description": "Umožňuje vylepšení TARDIS",
"upgrade.tardis_refined.waypoints": "Navigační body",
- "upgrade.tardis_refined.waypoints.description": "Umožňuje pilotovi ukládat místa"
+ "upgrade.tardis_refined.waypoints.description": "Umožňuje pilotovi ukládat místa",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/da_dk.json b/common/src/main/resources/assets/tardis_refined/lang/da_dk.json
index 799e3ea4..6a33180e 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/da_dk.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/da_dk.json
@@ -13,7 +13,7 @@
"block.tardis_refined.bulk_head_door": "Skoddør",
"block.tardis_refined.console_configuration": "Manøvrebordskonfigurator",
"block.tardis_refined.corridor_teleporter": "Korridor Teleporter",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
+ "block.tardis_refined.deepslate_zeiton_ore": "Dybskiferzeitonmalm",
"block.tardis_refined.flight_detector": "Flyvedetektor",
"block.tardis_refined.fools_stone": "Fools Sten",
"block.tardis_refined.gravity_well": "Tyngdekraft Godt",
@@ -25,11 +25,11 @@
"block.tardis_refined.tardis_door": "TARDIS-dør",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terraformningsmaskine",
- "block.tardis_refined.zeiton_block": "Blok af Zeiton",
- "block.tardis_refined.zeiton_fused_copper_block": "Zeiton Fused Kobberblok",
- "block.tardis_refined.zeiton_fused_iron_block": "Zeiton Fused Jern Blok",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
+ "block.tardis_refined.zeiton_block": "Blok af zeiton",
+ "block.tardis_refined.zeiton_fused_copper_block": "Blok af kobber med zeitonramme",
+ "block.tardis_refined.zeiton_fused_iron_block": "Blok af jern med zeitonramme",
+ "block.tardis_refined.zeiton_lantern": "Zeitonlanterne",
+ "block.tardis_refined.zeiton_ore": "Zeitonmalm",
"command.tardis_refined.create.in_progress": "Forsøger at oprette Tardis %s, generation i gang",
"command.tardis_refined.create.success": "Tardis med id %s er oprettet",
"command.tardis_refined.dim_not_a_tardis": "§c%s er ikke en TARDIS-dimension!",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Låst opgradering %s for %s",
"command.tardis_refined.upgrade.unlock": "Opgradering %s låst op for %s",
"config.tardis_refined.banned_dimensions": "Forbudte dimensioner",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Afspil manøvrebordsanimationer ved inaktivitet",
"config.tardis_refined.control_names": "Vise kontrolnavne?",
"config.tardis_refined.immersive_portals": "Kompatibilitet med Immersive Portals?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Dørknap",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Hurtigretur",
"control.tardis_refined.fuel": "Brændstof",
- "control.tardis_refined.generic_control": "Skift",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Håndbremse",
"control.tardis_refined.increment": "Inkrementkontrol",
"control.tardis_refined.monitor": "Dataterminal",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Retningskontrol",
"control.tardis_refined.throttle": "Håndbremse",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s blev stegt af tid vind.",
"death.attack.eye_of_harmony.player": "%s blev stegt af tid vind.",
"entity.tardis_refined.console_control": "Kontrol",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Boremaskine",
"item.tardis_refined.glasses": "AR Briller",
"item.tardis_refined.keychain": "Nøglering",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Mønstermanipulator",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
+ "item.tardis_refined.raw_zeiton": "Rå zeiton",
"item.tardis_refined.tardis_key": "TARDIS-nøgle",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.test_tube": "Test Tube",
+ "item.tardis_refined.zeiton_ingot": "Zeitonbarre",
+ "item.tardis_refined.zeiton_nugget": "Zeitonklump",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Stift: %s",
"message.tardis_refined.astral_manipulator_engaged": "Vælg venligst. Højreklik igen for at bekræfte",
"message.tardis_refined.cannot_start_no_fuel": "Ikke nok brændstof til at starte",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kan ikke ændre konsoller under flyvning",
- "message.tardis_refined.console_config_not_in_flight": "Kan ikke opdatere konsolblok under flyvning",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "NUVÆRENDE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Efterkommer: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Ikke nok brændstof til at starte omkonfigurationsprocessen",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Du skal vente %s sekund(er)",
- "message.tardis_refined.fuel": "Brændstof: ",
- "message.tardis_refined.fuel_offline": "Brændstof offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Håndbremse frakoblet",
"message.tardis_refined.handbrake_engaged": "Håndbremse i gang",
"message.tardis_refined.handbrake_warning": "Skibet er i flyvning. Venstreklik på håndbremsen for at engagere",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Nøgle bundet til %s",
"message.tardis_refined.key_cycled": "Hoved-TARDIS: %s",
- "message.tardis_refined.landing_pad_transient": "Kan ikke indkalde TARDIS på nuværende tidspunkt",
- "message.tardis_refined.landing_pad_unlocked": "Specificeret TARDIS afvist landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "En drage forhindrer dig i at gå videre til The End",
"message.tardis_refined.no_flight_transitive": "Kan ikke ændre håndbremsetilstand under forbigående flyvning",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Aktiveret påfyldning",
"message.tardis_refined.refuel_stopped": "Optankning stoppet",
"message.tardis_refined.root_plant_cut_open": "Rødder dækker indgangen",
"message.tardis_refined.selected": "Valgt: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS er blevet indkaldt og er på vej",
- "message.tardis_refined.tooltip_in_flight": "Under flyvning",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Forudindlæste waypoint: %s",
"monitor.waypoints.name.placeholder": "Rutepunkt navn",
"monitor.waypoints.new_waypoint": "Nyt Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Standardskallen",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Koralvækst",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Ældægyptisk gravkapel",
"shell.tardis_refined.lift": "Løft",
"shell.tardis_refined.mystic": "Elverskab",
"shell.tardis_refined.nuka": "Nuka-Cola-automat",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Politikiosk",
"shell.tardis_refined.portaloo": "Das",
"shell.tardis_refined.present": "Gave",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Salgsautomat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron søjle aktiveret",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Konsol strøm tændt",
"sound.corridor_teleporter.subtitle": "Teleporter bygning op",
"sound.corridor_teleporter_success.subtitle": "Teleporter brugt",
"sound.destination_ding.subtitle": "TARDIS når destination",
"sound.flight_fail_start.subtitle": "Undladelse af TARDIS groans",
"sound.gravity_tunnel.subtitle": "Tyngdekraft tunnelvinde",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Kakber",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Mønstermanipulator aktiveres",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Skruetrækker kasserer data",
"sound.screwdriver_short.subtitle": "Skruetrækker brugt",
"sound.static.subtitle": "Skærmstøj",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS rejser",
"sound.tardis_takeoff.subtitle": "TARDIS forsvinder",
"sound.time_blast.subtitle": "Tidshvirveleksplosion",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "En ametyst frekvens manipulator",
- "tooltip.tardis_refined.tardis_list": "Nøglering:",
- "ui.tardis_refined.desktop_selection": "KONTROLRUMSKONFIGURERING",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Ønsker du at annullere den planlagte omkonfiguration?",
- "ui.tardis_refined.monitor.desktop": "KONTROLRUMSKONFIGURERING",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Annuller omkonfiguration af kontrolrum",
"ui.tardis_refined.monitor.desktop_cancel.title": "IGANGVÆRENDE OPGAVE",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systemerne er deaktiveret, da der er planlagt en omkonfiguration af kontrolrummet.",
- "ui.tardis_refined.monitor.external_shell": "SKALKONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Nuværende: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "Beliggenhed",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "DATATERMINAL",
"ui.tardis_refined.monitor.no.waypoints": "Der findes ingen gemte vejpunkter!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "KOORDINATNAVIGERING",
"ui.tardis_refined.monitor.upload.waypoints": "VEJPUNKTSNAVIGERING",
"ui.tardis_refined.monitor.waypoint_name": "Vejpunktsnavn:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Ugyldig Y værdi",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ugyldig Z værdi",
"ui.tardis_refined.monitor.waypoints.load": "Send til konsol",
- "ui.tardis_refined.monitor.waypoints.submit": "Indsend",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "Ingen tilgængelige undersystemer",
- "ui.tardis_refined.shell_selection": "SKALKONFIGURERING",
"ui.tardis_refined.upgrades": "Tardis-opgraderinger",
"ui.tardis_refined.upgrades.buy_ability": "Køb opgradering?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Arkitektur",
"upgrade.tardis_refined.architecture_system.description": "Aktiverer Tardis-Arkitekturopgraderinger",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Kredsløb",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Forøg",
"upgrade.tardis_refined.explorer_iii": "Opdagelsesrejsende III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 forøgelse",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Forbedret Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Sænker ventetider på skrivebordet til 120 sekunder",
"upgrade.tardis_refined.improved_generation_time_ii": "Forbedret Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Tillader TARDIS at få enheder ind under materalisering",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Tillader opgraderinger til TARDIS-navigationssystemet",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Opgraderinger",
"upgrade.tardis_refined.tardis_xp.description": "Tillader opgraderinger til TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Tillader Pilot at oprette gemte placeringer"
+ "upgrade.tardis_refined.waypoints.description": "Tillader Pilot at oprette gemte placeringer",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/de_de.json b/common/src/main/resources/assets/tardis_refined/lang/de_de.json
index 1a24051e..112449ca 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/de_de.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/de_de.json
@@ -32,21 +32,23 @@
"block.tardis_refined.zeiton_ore": "Zeiron-Erz",
"command.tardis_refined.create.in_progress": "Versuch eine Tardis zu generieren%s, Generierung läuft",
"command.tardis_refined.create.success": "Tardis wurde erfolgreich erstellt mit der id %s",
- "command.tardis_refined.dim_not_a_tardis": "§c%s ist keine Tardis Dimension",
- "command.tardis_refined.export_desktop.fail": "§cFehler beim Desktop Export %s!",
- "command.tardis_refined.export_desktop.in_progress": "Generierung eines Desktop datapack %s, das kann eine Zeit aufnehmen, abhängig von der Größe der Struktur...",
+ "command.tardis_refined.dim_not_a_tardis": "§c%s ist keine TARDIS Dimension!",
+ "command.tardis_refined.export_desktop.fail": "§cFehler beim Export Desktop %s!",
+ "command.tardis_refined.export_desktop.in_progress": "Datapack Desktop %s wird generiert, dies kann je nach Größe der Struktur einige Zeit dauern...",
"command.tardis_refined.export_desktop.resource_pack": "§9Um das Vorschaubild des Desktops zu definieren, erstellen Sie bitte ein Resourcenpacket. Siehe einige beispiel-Resourcenpackete hier: %s",
- "command.tardis_refined.export_desktop.success": "§a Innenraum %s wurde erfolgreich zu Datapack %s exportiert! Nutze das %s Kommando um Änderungen zu sehen.",
+ "command.tardis_refined.export_desktop.success": "§a Innenraum %s wurde erfolgreich zu Datapack %s exportiert! Nutze den %s Befehl um Änderungen zu sehen.",
"command.tardis_refined.level.point.add": "%s punkte für %s hinzugefügt, Punkte betragen jetzt %s",
"command.tardis_refined.level.point.get": "%s hat %s Verbesserungspunkte",
"command.tardis_refined.level.point.set": "Stelle Verbesserungspunkte von %s zu %s ein",
"command.tardis_refined.level.xp.add": "Hinzugefügte Xp %s für %s, komplette Menge ist jetzt %s",
"command.tardis_refined.level.xp.get": "%s hat %s XP",
"command.tardis_refined.level.xp.set": "Stelle XP für %s zu %s",
- "command.tardis_refined.no_internal_door": "§c keine interne Tür in Dimension %s gefunden! Bitte nutzen Sie das Standard Teleportations Kommando %s",
- "command.tardis_refined.upgrade.lock": "Gesperrte Verbesserung %s für %s",
- "command.tardis_refined.upgrade.unlock": "Freigeschaltete Verbesserung %s für %s",
+ "command.tardis_refined.no_internal_door": "§ckeine interne Tür in Dimension %s gefunden! Bitte nutzen Sie den Standard Teleportation-Befehl %s",
+ "command.tardis_refined.upgrade.lock": "Verbesserung %s für %s wurde gesperrt",
+ "command.tardis_refined.upgrade.unlock": "Verbesserung %s für %s wurde freigeschaltet",
"config.tardis_refined.banned_dimensions": "Gesperrte Dimensionen",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Spiel Ruhe Konsolen Animationen",
"config.tardis_refined.control_names": "Namen der Kontrollen anzeigen?",
"config.tardis_refined.immersive_portals": "Immersive Portals Kompatibilität?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Tür Schalter",
+ "control.tardis_refined.exterior_display": "Außenansicht",
"control.tardis_refined.fast_return": "Schneller Rückflug",
"control.tardis_refined.fuel": "Treibstoff",
- "control.tardis_refined.generic_control": "Schalter",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handbremse",
"control.tardis_refined.increment": "Steigerung",
"control.tardis_refined.monitor": "Computer Datenbank",
@@ -65,50 +68,74 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Richtungskontrolle",
"control.tardis_refined.throttle": "Schubregler",
+ "curios.identifier.timelord_sight": "AR-Brille",
+ "death.attack.choke": "%s wurde von giftigen Abgasen überwältigt",
+ "death.attack.choke.player": "%s wurde von giftigen Abgasen überwältigt",
"death.attack.eye_of_harmony": "%s Wurde von Zeitwinden gebraten.",
"death.attack.eye_of_harmony.player": "%s Wurde von Zeitwinden gebraten.",
"entity.tardis_refined.console_control": "Generelle Kontrolle",
- "item.tardis_refined.amethyst_screwdriver": "Amethyst-Schallschraubenzieher",
+ "item.tardis_refined.amethyst_screwdriver": "Amethyst-Schraubenzieher",
"item.tardis_refined.drill": "Wachstumsbohrer",
"item.tardis_refined.glasses": "AR-Brille",
"item.tardis_refined.keychain": "Tardis Schlüsselbund",
+ "item.tardis_refined.mallet": "Hammer",
"item.tardis_refined.pattern_manipulator": "Muster-Manipulator",
- "item.tardis_refined.raw_zeiton": "Rohes Zeiton.",
+ "item.tardis_refined.raw_zeiton": "Rohes Zeiton",
"item.tardis_refined.tardis_key": "TARDIS-Schlüssel",
+ "item.tardis_refined.test_tube": "Reagenzglas",
"item.tardis_refined.zeiton_ingot": "Zeitonbarren",
"item.tardis_refined.zeiton_nugget": "Zeitonklumpen",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Gehäuseansicht verlassen",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Gehäuseansicht) Information umschalten",
"message.tardis_refined.ascend_key": "Aufsteigen: %s",
"message.tardis_refined.astral_manipulator_engaged": "Bitte treffen Sie Ihre Auswahl. Rechtsklick erneut, um zu bestätigen",
- "message.tardis_refined.cannot_start_no_fuel": "Nicht genug Brennstoff zum Starten",
+ "message.tardis_refined.cannot_start_no_fuel": "Nicht genug Treibstoff um zum Starten",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Konsolen können während des Flugs nicht geändert werden",
- "message.tardis_refined.console_config_not_in_flight": "Kann Konsolenblock während des Fluges nicht aktualisieren",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "AKTUELLEN",
+ "message.tardis_refined.demands_payment": "Fordert Zahlungen",
"message.tardis_refined.descend_key": "Absteigen: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Nicht genug Brennstoff um den Neukonfigurationsprozess zu starten",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "ZIEL",
+ "message.tardis_refined.dim_added_to_tardis": "%s zu Datenbanken hinzugefügt",
+ "message.tardis_refined.dim_already_saved": "Enthält bereits eine Probe",
+ "message.tardis_refined.dim_not_allowed": "Diese Dimension kann nicht beprobt werden",
+ "message.tardis_refined.dim_potential": "%s erprobt",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Tür versperrt",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Tür entsperrt",
+ "message.tardis_refined.exit_external_view": "Gehäuseansicht verlassen: ",
"message.tardis_refined.exterior_cooldown": "Bitte warten sie %s Sekunden",
- "message.tardis_refined.fuel": "Brennstoff: ",
- "message.tardis_refined.fuel_offline": "Treibstoff offline",
+ "message.tardis_refined.fuel": "Treibstoff: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbremse abgebrochen",
"message.tardis_refined.handbrake_engaged": "Handbremse",
"message.tardis_refined.handbrake_warning": "Schiff ist im Flug. Linksklick auf die Handbremse zum Einschalten",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Schlüssel an %s gebunden",
"message.tardis_refined.key_cycled": "Haupt: %s",
- "message.tardis_refined.landing_pad_transient": "TARDIS kann zu diesem Zeitpunkt nicht beschworen werden",
- "message.tardis_refined.landing_pad_unlocked": "Angegebene TARDIS lehnte das Landingpad-Signal ab",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Ein Drache hindert dich daran, zum Ende zu kommen",
"message.tardis_refined.no_flight_transitive": "Der Zustand der Handbremse kann während des transitiven Flugs nicht geändert werden",
+ "message.tardis_refined.pilot_time": "Du hast noch %s mit deinem Piloten. Mach das meiste draus!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Wiederherstellungsfortschritt: %s",
"message.tardis_refined.refuel_engaged": "Betankung aktiviert",
"message.tardis_refined.refuel_stopped": "Betankung gestoppt",
- "message.tardis_refined.root_plant_cut_open": "Roots decken den Eingang ab",
+ "message.tardis_refined.root_plant_cut_open": "Wurzeln bedecken den Eingang",
"message.tardis_refined.selected": "Ausgewählte: %s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS wurde beschworen und befindet sich auf dem Weg",
- "message.tardis_refined.tooltip_in_flight": "Im Flug",
- "message.tardis_refined.waypoint_loaded": "Vorgeladener Wegpunkt: %s",
- "monitor.waypoints.name.placeholder": "Wegpunktname",
- "monitor.waypoints.new_waypoint": "Neuer Wegpunkt",
+ "message.tardis_refined.submit": "Bestätigen",
+ "message.tardis_refined.tardis_on_the_way": "TARDIS wurde herbeigerufen und befindet sich auf dem Weg",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
+ "message.tardis_refined.waypoint_loaded": "Vorgeladener Ort: %s",
+ "monitor.waypoints.name.placeholder": "Ort Name",
+ "monitor.waypoints.new_waypoint": "Neuer Ort",
"monitor.waypoints.taken": "Daten aus Zielwerten abgerufen",
"shell.tardis_refined.big_ben": "Big Ben",
"shell.tardis_refined.briefcase": "Aktentasche",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Fabrik",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Wachstum",
+ "shell.tardis_refined.half_baked": "Unausgereift",
"shell.tardis_refined.hieroglyph": "Hieroglyphe",
"shell.tardis_refined.lift": "Aufzug",
"shell.tardis_refined.mystic": "Mystisch",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Polizei-Zelle",
"shell.tardis_refined.portaloo": "Dixiklo",
"shell.tardis_refined.present": "Geschenk",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Verkaufsautomat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Baum Summen",
"sound.artron_pillar_active.subtitle": "Artron Säule eingeschaltet",
+ "sound.cloister_bell.subtitle": "Klosterglocke",
"sound.console_power_on.subtitle": "Konsolen Energie an",
"sound.corridor_teleporter.subtitle": "Teleporter Aufbau",
"sound.corridor_teleporter_success.subtitle": "Teleporter verwendet",
"sound.destination_ding.subtitle": "TARDIS erreicht Zielort",
"sound.flight_fail_start.subtitle": "Versagende TARDIS stöhnt",
"sound.gravity_tunnel.subtitle": "Schwerkrafttunnel Winde",
- "sound.interior_creaks.subtitle": "Creaks",
+ "sound.hum_aviatrax.subtitle": "TARDIS brummen",
+ "sound.hum_cave.subtitle": "TARDIS brummen",
+ "sound.hum_classic.subtitle": "TARDIS brummen",
+ "sound.hum_coral.subtitle": "TARDIS brummen",
+ "sound.hum_toyota.subtitle": "TARDIS brummen",
+ "sound.hum_victorian.subtitle": "TARDIS brummen",
+ "sound.interior_creaks.subtitle": "Knarrt",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Warnung niedriger Treibstoff",
+ "sound.mallet.subtitle": "Hammer Stoß",
"sound.pattern_manipulator.subtitle": "Muster Manipulator eingeschaltet",
+ "sound.screwdriver_connect.subtitle": "Schraubenzieher Position verbunden",
"sound.screwdriver_discard.subtitle": "Schraubendreher verwerfen Daten",
"sound.screwdriver_short.subtitle": "Schraubenzieher",
"sound.static.subtitle": "Bildschirm statisch",
@@ -148,40 +188,51 @@
"sound.tardis_single_fly.subtitle": "TARDIS fliegt",
"sound.tardis_takeoff.subtitle": "TARDIS hebt ab",
"sound.time_blast.subtitle": "Zeit Strudel Treffer",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Ein Amethyst Frequenz Manipulator",
- "tooltip.tardis_refined.tardis_list": "Schlüsselset:",
- "ui.tardis_refined.desktop_selection": "DESKTOP KONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Schlüssel festgelegt:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aProbe wird entschlüsselt: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Gespeicherte Probe %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Keine Dimension probe",
"ui.tardis_refined.monitor.cancel_desktop": "Wollen sie die Rekonfiguration abbrechen?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP KONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Desktop Rekonfiguration abbrechen",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN BEARBEITUNG",
"ui.tardis_refined.monitor.desktop_cancel_description": "Das System wurde aufgrund einer geplanten Desktop Rekonfiguration deaktiviert.",
- "ui.tardis_refined.monitor.external_shell": "KONFIGURATION DER ÄUSSEREN HÜLLE",
+ "ui.tardis_refined.monitor.external_shell": "GEHÄUSE KONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Ausgewählt: &s",
"ui.tardis_refined.monitor.main.destination": "Ziel",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER-DATENBANK",
"ui.tardis_refined.monitor.no.waypoints": "Keine Orte gespeichert!",
+ "ui.tardis_refined.monitor.select.eject": "NOTAUSWURF",
+ "ui.tardis_refined.monitor.select.eject_fail": "Kann während des Fluges nicht ausgeworfen werden",
"ui.tardis_refined.monitor.select.hum": "Klanglandschaft",
+ "ui.tardis_refined.monitor.shell_view": "GEHÄUSEANSICHT",
"ui.tardis_refined.monitor.upload.coords": "Punkt Navigation",
"ui.tardis_refined.monitor.upload.waypoints": "Gespeicherte Orte Navigation",
"ui.tardis_refined.monitor.waypoint_name": "Ort Name:",
"ui.tardis_refined.monitor.waypoints": "Gespeicherte Orte",
- "ui.tardis_refined.monitor.waypoints.create": "Neuer Wegpunkt",
- "ui.tardis_refined.monitor.waypoints.delete": "Wegpunkt löschen",
- "ui.tardis_refined.monitor.waypoints.edit": "Wegpunkt bearbeiten",
+ "ui.tardis_refined.monitor.waypoints.create": "Neuer Ort",
+ "ui.tardis_refined.monitor.waypoints.delete": "Ort löschen",
+ "ui.tardis_refined.monitor.waypoints.edit": "Ort bearbeiten",
"ui.tardis_refined.monitor.waypoints.issues": "Probleme:",
"ui.tardis_refined.monitor.waypoints.issues.name": "Ungültiger Ort Name",
"ui.tardis_refined.monitor.waypoints.issues.x": "Ungültiger X Wert",
"ui.tardis_refined.monitor.waypoints.issues.y": "Ungültiger Y Wert",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ungültiger Z Wert",
"ui.tardis_refined.monitor.waypoints.load": "An Konsole senden",
- "ui.tardis_refined.monitor.waypoints.submit": "Einstellen",
"ui.tardis_refined.monitor.waypoints.upload": "Hochladen",
"ui.tardis_refined.no_installed_subsystems": "Keine verfügbaren Unter-Systeme",
- "ui.tardis_refined.shell_selection": "KONFIGURATION DER ÄUSSEREN HÜLLE",
"ui.tardis_refined.upgrades": "Tardis Verbesserungen",
"ui.tardis_refined.upgrades.buy_ability": "Verbesserung kaufen?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Gestaltung",
"upgrade.tardis_refined.architecture_system.description": "Ermögliche TARDIS Gestaltungs Verbesserung",
"upgrade.tardis_refined.chameleon_circuit_system": "Chamäleon Schaltkreis",
@@ -191,11 +242,13 @@
"upgrade.tardis_refined.dimension_travel": "Interdimensionales Reisen",
"upgrade.tardis_refined.dimension_travel.description": "Erlaubt der TARDIS zwischen Dimensionen zu reisen",
"upgrade.tardis_refined.explorer": "Entdecker I",
- "upgrade.tardis_refined.explorer.description": "x1000 Zunahme",
+ "upgrade.tardis_refined.explorer.description": "x1000 Steigerung",
"upgrade.tardis_refined.explorer_ii": "Entdecker II",
- "upgrade.tardis_refined.explorer_ii.description": "x2500 Zunahme",
+ "upgrade.tardis_refined.explorer_ii.description": "x2500 Steigerung",
"upgrade.tardis_refined.explorer_iii": "Entdecker III",
- "upgrade.tardis_refined.explorer_iii.description": "x5000 Zunahme",
+ "upgrade.tardis_refined.explorer_iii.description": "x5000 Steigerung",
+ "upgrade.tardis_refined.flight_system": "Flugsystem",
+ "upgrade.tardis_refined.flight_system.description": "Ermöglicht Verbesserungen am TARDIS Flugsystem",
"upgrade.tardis_refined.improved_generation_time_i": "Verbesserte Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Verringert Wartezeiten auf 120 Sekunden",
"upgrade.tardis_refined.improved_generation_time_ii": "Verbesserte Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Ermöglicht eintritt in die TARDIS während der Materialisierung",
"upgrade.tardis_refined.navigation_system": "Navigationssystem",
"upgrade.tardis_refined.navigation_system.description": "Ermöglicht Verbesserungen am TARDIS Navigationssystem",
+ "upgrade.tardis_refined.speed_i": "Schnelligkeit I",
+ "upgrade.tardis_refined.speed_i.description": "Fluggeschwindigkeit ist 5x schneller",
+ "upgrade.tardis_refined.speed_ii": "Schnelligkeit II",
+ "upgrade.tardis_refined.speed_ii.description": "Fluggeschwindigkeit ist 10x schneller",
+ "upgrade.tardis_refined.speed_iii": "Schnelligkeit III",
+ "upgrade.tardis_refined.speed_iii.description": "Fluggeschwindigkeit ist 25x schneller",
+ "upgrade.tardis_refined.speed_iv": "Schnelligkeit IV",
+ "upgrade.tardis_refined.speed_iv.description": "Fluggeschwindigkeit ist 50x schneller",
"upgrade.tardis_refined.tardis_xp": "System Verbesserung",
"upgrade.tardis_refined.tardis_xp.description": "Erlaubt die TARDIS zu verbessern",
"upgrade.tardis_refined.waypoints": "Orte",
- "upgrade.tardis_refined.waypoints.description": "Erlaubt dem Piloten Orte abzuspeichern"
+ "upgrade.tardis_refined.waypoints.description": "Erlaubt dem Piloten Orte abzuspeichern",
+ "vortex.tardis_refined.agender_flag": "Agender Flagge",
+ "vortex.tardis_refined.aurora_dreams": "Aurora-Träume",
+ "vortex.tardis_refined.bisexual_flag": "Bisexuellen Flagge",
+ "vortex.tardis_refined.candy_pop": "Bonbon-Pop",
+ "vortex.tardis_refined.clouds": "Wolken",
+ "vortex.tardis_refined.crystal_lagoon": "Kristall-Lagune",
+ "vortex.tardis_refined.desert_mirage": "Fata Morgana",
+ "vortex.tardis_refined.emerald_forest": "Smaragd-Wald",
+ "vortex.tardis_refined.flow": "Fluss",
+ "vortex.tardis_refined.gay_flag": "Schwulen Flagge",
+ "vortex.tardis_refined.lesbian_flag": "Lesbischen Flagge",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Regenbogen",
+ "vortex.tardis_refined.neon_pulse": "Neon-Puls",
+ "vortex.tardis_refined.non_binary_flag": "Nicht-Binäre Flagge",
+ "vortex.tardis_refined.ocean_breeze": "Meeresbrise",
+ "vortex.tardis_refined.solar_flare": "Sonnenstrahl",
+ "vortex.tardis_refined.space": "Weltall",
+ "vortex.tardis_refined.stars": "Sterne",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flagge",
+ "vortex.tardis_refined.twilight_glow": "Zwielicht Glühen",
+ "vortex.tardis_refined.velvet_night": "Samtene Nacht",
+ "vortex.tardis_refined.waves": "Wellen"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/el_gr.json b/common/src/main/resources/assets/tardis_refined/lang/el_gr.json
index e93e918c..231c51b6 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/el_gr.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/el_gr.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Κλειδωμένη αναβάθμιση %s για %s",
"command.tardis_refined.upgrade.unlock": "Ξεκλείδωτη αναβάθμιση %s για %s",
"config.tardis_refined.banned_dimensions": "Απαγορευμένες Διάστασεις",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Αναπαραγωγή εφέ αδράνειας κονσόλας",
"config.tardis_refined.control_names": "Εμφάνιση ονομάτων χειρισμού;",
"config.tardis_refined.immersive_portals": "Συμβατότητα με Immersive Portals;",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Διάσταση",
"control.tardis_refined.door_toggle": "Κουμπί Πόρτας",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Γρήγορη Επιστροφή",
"control.tardis_refined.fuel": "Καύσιμο",
- "control.tardis_refined.generic_control": "Εναλλαγή",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Χειρόφρενο",
"control.tardis_refined.increment": "Αύξηση Συντεταγμένων",
"control.tardis_refined.monitor": "Τερματικό",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Κατεύθυνση",
"control.tardis_refined.throttle": "Φιάλη",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "Το %s τηγανίστηκε με ανέμους χρόνου.",
"death.attack.eye_of_harmony.player": "Το %s τηγανίστηκε με ανέμους χρόνου.",
"entity.tardis_refined.console_control": "Χειρισμός",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Δράπανο",
"item.tardis_refined.glasses": "AR Γυαλιά",
"item.tardis_refined.keychain": "Μπρελόκ",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Χειριστής Μοτίβων",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Κλειδί ΤΑΡΝΤΙΣ",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Αύξουσα: %s",
"message.tardis_refined.astral_manipulator_engaged": "Παρακαλώ κάντε την επιλογή σας. Κάντε δεξί κλικ ξανά για επιβεβαίωση",
"message.tardis_refined.cannot_start_no_fuel": "Δεν υπάρχει αρκετό καύσιμο για να ξεκινήσει",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Αδυναμία αλλαγής κονσόλας κατά τη διάρκεια της πτήσης",
- "message.tardis_refined.console_config_not_in_flight": "Αδυναμία ενημέρωσης μπλοκ κονσόλας κατά τη διάρκεια της πτήσης",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ΤΡΕΧΟΥΝ",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Φθίνει: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Δεν υπάρχει αρκετό καύσιμο για να ξεκινήσει η διαδικασία αναδιαμόρφωσης",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "ΠΡΟΟΡΙΣΜΟΣ",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Πρέπει να περιμένετε %s δευτερόλεπτο(α)",
- "message.tardis_refined.fuel": "Καύσιμο: ",
- "message.tardis_refined.fuel_offline": "Καύσιμο χωρίς σύνδεση",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Απενεργοποίησε το χειρόφρενο",
"message.tardis_refined.handbrake_engaged": "Χειροπέδη που ενεργοποιείται",
"message.tardis_refined.handbrake_warning": "Το πλοίο βρίσκεται σε πτήση. Κάντε αριστερό κλικ στο χειρόφρενο για εμπλοκή",
- "message.tardis_refined.hardware_offline": "Υλικό εκτός σύνδεσης",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Κλειδί Δεσμευμένο σε %s",
"message.tardis_refined.key_cycled": "Κύριο: %s",
- "message.tardis_refined.landing_pad_transient": "Δεν μπορείτε να καλέσετε TARDIS αυτή τη στιγμή",
- "message.tardis_refined.landing_pad_unlocked": "Το καθορισμένο TARDIS απέρριψε το σήμα προσγείωσης",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Ένας δράκος σας εμποδίζει να προχωρήσετε στο Τέλος",
"message.tardis_refined.no_flight_transitive": "Δεν είναι δυνατή η αλλαγή κατάστασης του χειρόφρενου, ενόσω βρίσκεται σε προσωρινή πτήση",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Ενεργοποιημένο ανεφοδιασμό",
"message.tardis_refined.refuel_stopped": "Σταματημένο ανεφοδιασμό",
"message.tardis_refined.root_plant_cut_open": "Ρίζες καλύπτουν την είσοδο",
"message.tardis_refined.selected": "Επιλογή: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "Το TARDIS κλήθηκε και βρίσκεται στο δρόμο",
- "message.tardis_refined.tooltip_in_flight": "Κατά την πτήση",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Προφορτωμένο σημείο διαδρομής: %s",
"monitor.waypoints.name.placeholder": "Όνομα σημείου διαδρομής",
"monitor.waypoints.new_waypoint": "Νέο Σημείο Πορείας",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Προεπιλεγμένο Κέλυφος",
"shell.tardis_refined.groening": "Γκρέινινγκ",
"shell.tardis_refined.growth": "Ανάπτυξη Κοραλλιού",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Αρχαίο Αιγυπτιακό Μαυσωλείο",
"shell.tardis_refined.lift": "Ανύψωση",
"shell.tardis_refined.mystic": "Μυστηριώδες Κουτί",
"shell.tardis_refined.nuka": "Αυτόματος Πωλητής Νούκα-Κόλας",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Αστυνομικό Κουτί",
"shell.tardis_refined.portaloo": "Εξωτερική τουαλέτα",
"shell.tardis_refined.present": "Δώρο",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Αυτόματος Πωλητής",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Ο πυλώνας Artron ενεργοποιήθηκε",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Ενεργοποίηση κονσόλας σε",
"sound.corridor_teleporter.subtitle": "Οικοδόμηση Teleporter",
"sound.corridor_teleporter_success.subtitle": "Teleporter που χρησιμοποιείται",
"sound.destination_ding.subtitle": "TARDIS φτάνει στον προορισμό",
"sound.flight_fail_start.subtitle": "Αποτυγχάνει TARDIS groans",
"sound.gravity_tunnel.subtitle": "Βαρύτητα άνεμοι σήραγγας",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Κρεμμάκια",
"sound.interior_voice.subtitle": "...;",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Χειριστής μοτίβων ενεργοποιείται",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Δεδομένα κατσαβίδι",
"sound.screwdriver_short.subtitle": "Κατσαβίδι που χρησιμοποιείται",
"sound.static.subtitle": "Στατική οθόνη οθόνης",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "Πετάει το ΤΑΡDIS",
"sound.tardis_takeoff.subtitle": "TARDIS απογειώνεται",
"sound.time_blast.subtitle": "Έκρηξη χρόνου Vortex",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Ένας αμέθυστος χειριστής συχνότητας",
- "tooltip.tardis_refined.tardis_list": "Σετ κλειδιών:",
- "ui.tardis_refined.desktop_selection": "ΔΙΑΜΌΠΦΩΣΗ ΑΊΘΟΥΣΑΣ ΧΕΙΡΙΣΜΟΎ",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Θα θέλατε να ακυρώσετε την προγραμματισμένη αναδιαμόρφωση της αίθουσας χειρισμού;",
- "ui.tardis_refined.monitor.desktop": "ΔΙΑΜΌΠΦΩΣΗ ΑΊΘΟΥΣΑΣ ΧΕΙΡΙΣΜΟΎ",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Ακύρωση της Αναδιαμόρφωσης της Αίθουσας Χειρισμού",
"ui.tardis_refined.monitor.desktop_cancel.title": "ΠΡΆΞΗ ΣΕ ΕΞΈΛΙΞΗ",
"ui.tardis_refined.monitor.desktop_cancel_description": "Τα συστήματα του ΤΑΡΝΤΙΣ έχουν απενεργοποιηθεί καθώς έχει προγραμματιστεί αναδιαμόρφωση της αίθουσας χειρισμού.",
- "ui.tardis_refined.monitor.external_shell": "ΔΙΑΜΌΡΦΩΣΗ ΕΞΩΤΕΡΙΚΟΎ ΚΕΛΎΦΟΥΣ",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Τώρα Επιλεγμένο: &s",
"ui.tardis_refined.monitor.main.destination": "Προορισμός",
"ui.tardis_refined.monitor.main.gps": "Τοποθεσία",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "ΤΕΡΜΑΤΙΚΌ",
"ui.tardis_refined.monitor.no.waypoints": "Κανένα Σημεία Αποθήκευσης!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "ΗΧΟΣ",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "ΠΛΟΗΓΗ ΤΟΥ WAYPOINT",
"ui.tardis_refined.monitor.waypoint_name": "Όνομα Σημείου Πορείας:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Μη έγκυρη τιμή Y",
"ui.tardis_refined.monitor.waypoints.issues.z": "Μη έγκυρη τιμή Z",
"ui.tardis_refined.monitor.waypoints.load": "Αποστολή στην κονσόλα",
- "ui.tardis_refined.monitor.waypoints.submit": "Υποβολή",
"ui.tardis_refined.monitor.waypoints.upload": "Ανέβασμα",
"ui.tardis_refined.no_installed_subsystems": "Δεν υπάρχουν διαθέσιμα υποσυστήματα",
- "ui.tardis_refined.shell_selection": "ΔΙΑΜΌΡΦΩΣΗ ΕΞΩΤΕΡΙΚΟΎ ΚΕΛΎΦΟΥΣ",
"ui.tardis_refined.upgrades": "Αναβαθμίσεις Tardis",
"ui.tardis_refined.upgrades.buy_ability": "Αγορά αναβάθμισης?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Αρχιτεκτονική",
"upgrade.tardis_refined.architecture_system.description": "Ενεργοποιεί Αναβαθμίσεις Αρχιτεκτονικής Tardis",
"upgrade.tardis_refined.chameleon_circuit_system": "Κύκλωμα Chameleon",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "Αύξηση x2500",
"upgrade.tardis_refined.explorer_iii": "Εξερευνητής III",
"upgrade.tardis_refined.explorer_iii.description": "Αύξηση x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Βελτιωμένη Δημιουργία I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Μειώνει τους χρόνους αναμονής της επιφάνειας εργασίας στα 120 δευτερόλεπτα",
"upgrade.tardis_refined.improved_generation_time_ii": "Βελτιωμένη Δημιουργία ΙΙ",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Επιτρέπει στο TARDIS να έχει οντότητες να εισέρχονται κατά την ωρίμανση",
"upgrade.tardis_refined.navigation_system": "Σύστημα Πλοήγησης",
"upgrade.tardis_refined.navigation_system.description": "Επιτρέπει αναβαθμίσεις στο σύστημα πλοήγησης TARDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Αναβαθμίσεις Συστήματος",
"upgrade.tardis_refined.tardis_xp.description": "Επιτρέπει αναβαθμίσεις στο TARDIS",
"upgrade.tardis_refined.waypoints": "Σημεία",
- "upgrade.tardis_refined.waypoints.description": "Επιτρέπει στο Pilot να δημιουργήσει αποθηκευμένες τοποθεσίες"
+ "upgrade.tardis_refined.waypoints.description": "Επιτρέπει στο Pilot να δημιουργήσει αποθηκευμένες τοποθεσίες",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_au.json b/common/src/main/resources/assets/tardis_refined/lang/en_au.json
index e63fffbd..619b4c29 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/en_au.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/en_au.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_ca.json b/common/src/main/resources/assets/tardis_refined/lang/en_ca.json
index 2c072538..278dee50 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/en_ca.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/en_ca.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron Pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materializing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_gb.json b/common/src/main/resources/assets/tardis_refined/lang/en_gb.json
index 989d3625..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/en_gb.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/en_gb.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,57 +57,82 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handbrake",
"control.tardis_refined.increment": "Increment",
"control.tardis_refined.monitor": "Computer Bank",
- "control.tardis_refined.random": "Randomiser",
+ "control.tardis_refined.random": "Randomizer",
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
"item.tardis_refined.amethyst_screwdriver": "Amethyst Screwdriver",
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
- "item.tardis_refined.keychain": "Tardis Keyring",
+ "item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,55 +144,80 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
"shell.tardis_refined.nuka": "Nuka",
"shell.tardis_refined.pagoda": "Pagoda",
"shell.tardis_refined.pathfinder": "Pathfinder",
- "shell.tardis_refined.phone_booth": "Phone Box",
+ "shell.tardis_refined.phone_booth": "Phone Booth",
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
- "sound.static.subtitle": "Screen Display static",
+ "sound.static.subtitle": "Screen display static",
"sound.tardis_crash_land.subtitle": "TARDIS crash lands",
"sound.tardis_land.subtitle": "TARDIS lands",
"sound.tardis_misc_sparkle.subtitle": "TARDIS arriving",
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
- "ui.tardis_refined.monitor.no.waypoints": "No waypoints saved!",
+ "ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
- "ui.tardis_refined.monitor.waypoint_name": "Waypoint name:",
+ "ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
"ui.tardis_refined.monitor.waypoints": "WAYPOINTS",
"ui.tardis_refined.monitor.waypoints.create": "New waypoint",
"ui.tardis_refined.monitor.waypoints.delete": "Delete waypoint",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_nz.json b/common/src/main/resources/assets/tardis_refined/lang/en_nz.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/en_nz.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/en_nz.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_pt.json b/common/src/main/resources/assets/tardis_refined/lang/en_pt.json
index 81cc920f..a4bd1971 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/en_pt.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/en_pt.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Illegal port o' calls",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Gangplank toggl'r",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Back ta' last port",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Helm 'n' rudder",
"control.tardis_refined.throttle": "Capstan",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Set o' ship key",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Ship key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Ye need ta' wait %s shakes",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key bound ta' %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Set o' key:",
- "ui.tardis_refined.desktop_selection": "DECK DESIGN",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DECK DESIGN",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "SHIP HULL SELECTOR",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Chart'd destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "BANK O' KNOWLEDGE",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "SHIP HULL SELECTOR",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/en_ud.json b/common/src/main/resources/assets/tardis_refined/lang/en_ud.json
index 87dc4274..22f107ea 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/en_ud.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/en_ud.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "suoısuǝɯıp pǝuuɐq",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "¿sǝɯɐu loɹʇuoɔ ɹǝpuǝɹ",
"config.tardis_refined.immersive_portals": "¿ʎʇᴉlᴉqᴉʇɐdɯoƆ slɐʇɹoԀ ǝʌᴉsɹǝɯɯI",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "uoısuǝɯıp",
"control.tardis_refined.door_toggle": "ǝlƃƃo⊥ ɹoop",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "uɹnʇǝɹ ʇsɐɟ",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "uoᴉʇɔǝɹᴉp",
"control.tardis_refined.throttle": "ǝlʇʇoɹɥ⊥",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "loɹʇuoƆ ɔᴉɹǝuǝפ",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "llıɹp ɥʇʍoɹƃ",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "ʇǝsʎǝʞ sᴉpɹɐ⊥",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "ɹoʇɐlndıuɐɯ uɹǝʇʇɐd",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "ʎǝʞ sᴉpɹɐ⊥",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "pǝuᴉɟǝɹ sᴉpɹɐ⊥",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "spuoɔǝs %s ʇᴉɐʍ ʇsnɯ no⅄",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "%s oʇ punoq ʎǝʞ",
"message.tardis_refined.key_cycled": "%s :uᴉɐW",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "%s :pǝʇɔǝlǝs",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "ʎɹoʇɔɐℲ",
"shell.tardis_refined.groening": "ƃuᴉuoǝɹפ",
"shell.tardis_refined.growth": "ɥʇʍoɹפ",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "ɔᴉʇsʎW",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "xoq ǝɔᴉloԀ",
"shell.tardis_refined.portaloo": "oolɐʇɹod",
"shell.tardis_refined.present": "ʇuǝsǝɹԀ",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "ǝuᴉɥɔɐW ƃuᴉpuǝΛ",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": ":ʇǝS ʎǝʞ",
- "ui.tardis_refined.desktop_selection": "NOI⊥∀ɹ∩פIℲNOƆ ԀO⊥ʞSƎp",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "¿uoᴉʇɐɹnƃᴉɟuoɔǝɹ ƃuᴉɯoɔdn ǝɥʇ lǝɔuɐɔ oʇ ǝʞᴉl noʎ plnoM",
- "ui.tardis_refined.monitor.desktop": "NOI⊥∀ɹ∩פIℲNOƆ ԀO⊥ʞSƎp",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "uoᴉʇɐɹnƃᴉɟuoɔǝɹ doʇʞsǝp lǝɔuɐƆ",
"ui.tardis_refined.monitor.desktop_cancel.title": "SSƎɹפOɹԀ NI NOI⊥∀ɹƎԀO",
"ui.tardis_refined.monitor.desktop_cancel_description": "˙pǝlnpǝɥɔs uǝǝq sɐɥ uoᴉʇɐɹnƃᴉɟuoɔǝɹ doʇʞsǝp ɐ sɐ pǝlqɐsᴉp sɯǝʇsʎS",
- "ui.tardis_refined.monitor.external_shell": "NOI⊥∀ɹ∩פIℲNOƆ ˥˥ƎHS ˥∀NɹƎ⊥XƎ",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "&s :pǝʇɔǝlǝs ʎlʇuǝɹɹnƆ",
"ui.tardis_refined.monitor.main.destination": "uoᴉʇɐuᴉʇsǝp",
"ui.tardis_refined.monitor.main.gps": "SԀפ",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "ʞN∀q ɹƎ⊥∩ԀWOƆ",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "NOI⊥∀ɹ∩פIℲNOƆ ˥˥ƎHS ˥∀NɹƎ⊥XƎ",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/eo_uy.json b/common/src/main/resources/assets/tardis_refined/lang/eo_uy.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/eo_uy.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/eo_uy.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/es_es.json b/common/src/main/resources/assets/tardis_refined/lang/es_es.json
index 2e087881..7e27291d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/es_es.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/es_es.json
@@ -1,52 +1,54 @@
{
- "argument.tardis_refined.desktop.invalid": "Consola de ID %s inválido",
+ "argument.tardis_refined.desktop.invalid": "Consola de ID %s inválida",
"argument.tardis_refined.shell.invalid": "Exterior de ID %s inválido",
- "argument.tardis_refined.upgrade.invalid": "Mejora de ID %s inválido",
+ "argument.tardis_refined.upgrade.invalid": "Mejora de ID %s inválida",
"block.tardis_refined.air_lock_generator": "Esclusa de Aire",
"block.tardis_refined.ars_egg": "Huevo SRA",
"block.tardis_refined.ars_leaves": "Hojas SRA",
- "block.tardis_refined.ars_leaves_fence": "Cerca SRA",
+ "block.tardis_refined.ars_leaves_fence": "Valla SRA",
"block.tardis_refined.ars_leaves_slab": "Losa SRA",
- "block.tardis_refined.artron_pillar": "Pilar de Artron",
- "block.tardis_refined.artron_pillar_port": "Puerto de Pilar de Artron",
- "block.tardis_refined.astral_manipulator": "Manipulador astral",
+ "block.tardis_refined.artron_pillar": "Pilar Artrón",
+ "block.tardis_refined.artron_pillar_port": "Puerto de Pilar Artrón",
+ "block.tardis_refined.astral_manipulator": "Manipulador Astral",
"block.tardis_refined.bulk_head_door": "Puerta Mamparo",
"block.tardis_refined.console_configuration": "Configurador de Consola",
"block.tardis_refined.corridor_teleporter": "Teletransportador de corredor",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
+ "block.tardis_refined.deepslate_zeiton_ore": "Mena de Zéiton de Pizarra Abismal",
"block.tardis_refined.flight_detector": "Detector de Vuelo",
- "block.tardis_refined.fools_stone": "Piedra de los Inocentes",
+ "block.tardis_refined.fools_stone": "Pirita",
"block.tardis_refined.gravity_well": "Pozo de gravedad",
"block.tardis_refined.landing_pad": "Plataforma de Aterrizaje",
"block.tardis_refined.root_plant": "Planta de Raíz",
"block.tardis_refined.root_shell": "Exterior de Raíz",
"block.tardis_refined.root_shell_door": "Puerta de Raíz",
"block.tardis_refined.tardis_console": "Consola",
- "block.tardis_refined.tardis_door": "Puerta del Tardis",
+ "block.tardis_refined.tardis_door": "Puertas de la TARDIS",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terraformador",
- "block.tardis_refined.zeiton_block": "Bloque de Zeiton",
- "block.tardis_refined.zeiton_fused_copper_block": "Bloque de cobre fusionado de Zeiton",
- "block.tardis_refined.zeiton_fused_iron_block": "Bloque de hierro fusionado Zeiton",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
- "command.tardis_refined.create.in_progress": "Intentando crear TARDIS %s, generación en andamiento",
- "command.tardis_refined.create.success": "TARDIS con ID %s creado exitosamente",
- "command.tardis_refined.dim_not_a_tardis": "§c¡%s no es una Dimensión TARDIS!",
+ "block.tardis_refined.zeiton_block": "Bloque de Zéiton",
+ "block.tardis_refined.zeiton_fused_copper_block": "Bloque de cobre fusionado de Zéiton",
+ "block.tardis_refined.zeiton_fused_iron_block": "Bloque de hierro fusionado Zéiton",
+ "block.tardis_refined.zeiton_lantern": "Linterna de Zéiton",
+ "block.tardis_refined.zeiton_ore": "Mena de Zéiton",
+ "command.tardis_refined.create.in_progress": "Intentando crear TARDIS %s, generación en progreso",
+ "command.tardis_refined.create.success": "Tardis con ID %s creado exitosamente",
+ "command.tardis_refined.dim_not_a_tardis": "§c¡%s no es una Dimensión de la TARDIS!",
"command.tardis_refined.export_desktop.fail": "§c¡Exportación de consola %s fallida!",
- "command.tardis_refined.export_desktop.in_progress": "Generando paquete de datos para la consola %s, esto tomará algún tiempo dependiendo el tamaño de la estructura...",
- "command.tardis_refined.export_desktop.resource_pack": "§9Para definir la vista previa de la consola, por favor crea un Paquete de Recursos. Vea algunos ejemplos de Paquetes de Recursos en: %s",
+ "command.tardis_refined.export_desktop.in_progress": "Generando paquete de datos para la consola %s, esto podría tomar algún tiempo dependiendo el tamaño de la estructura...",
+ "command.tardis_refined.export_desktop.resource_pack": "§9Para definir la vista previa de la consola, por favor crea un Paquete de Recursos. Ve algunos ejemplos de Paquetes de Recursos en: %s",
"command.tardis_refined.export_desktop.success": "§a¡Consola %s exportada exitosamente al paquete de datos %s!\nUsa el comando %s para ver los cambios.",
- "command.tardis_refined.level.point.add": "Añadió %s puntos para %s, el total ahora es de %s",
- "command.tardis_refined.level.point.get": "%s tiene %s puntos de mejora",
- "command.tardis_refined.level.point.set": "Definir puntos de mejora para %s para %s",
- "command.tardis_refined.level.xp.add": "Añadió %s XP para %s, el total de XP ahora es de %s",
+ "command.tardis_refined.level.point.add": "%s Puntos añadidos para %s, el total ahora es de %s",
+ "command.tardis_refined.level.point.get": "%s Tiene %s puntos de mejora",
+ "command.tardis_refined.level.point.set": "Establecer puntos de actualización para %s para %s",
+ "command.tardis_refined.level.xp.add": "Añadidos %s XP para %s, el total de XP ahora es de %s",
"command.tardis_refined.level.xp.get": "%s tiene %s XP",
- "command.tardis_refined.level.xp.set": "Definir XP para %s para %s",
+ "command.tardis_refined.level.xp.set": "Establecer XP para %s para %s",
"command.tardis_refined.no_internal_door": "§c¡No se ha encontrado ninguna Puerta Interna en la dimensión %s! Considera usar el comando de teletransporte por defecto %s",
"command.tardis_refined.upgrade.lock": "Mejora bloqueada %s para %s",
"command.tardis_refined.upgrade.unlock": "Mejora desbloqueada %s para %s",
- "config.tardis_refined.banned_dimensions": "Dimensiones Prohibidas",
+ "config.tardis_refined.banned_dimensions": "Dimensiones Vetadas",
+ "config.tardis_refined.config_custom_shaders": "Aplicar Shaders Personalizados",
+ "config.tardis_refined.config_render_vortex_in_door": "Renderizar Vórtice en la puerta interior",
"config.tardis_refined.console_idle_animations": "Tocar animaciones de la consola",
"config.tardis_refined.control_names": "¿Renderizar el nombre de los controles?",
"config.tardis_refined.immersive_portals": "¿Compatibilidad con Immersive Portals?",
@@ -54,10 +56,11 @@
"control.tardis_refined.cord_y": "Y",
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimensión",
- "control.tardis_refined.door_toggle": "Alternar Puerta",
+ "control.tardis_refined.door_toggle": "Activar/Desactivar Puertas",
+ "control.tardis_refined.exterior_display": "Visualizar Exteriores",
"control.tardis_refined.fast_return": "Retorno Rápido",
"control.tardis_refined.fuel": "Combustible",
- "control.tardis_refined.generic_control": "Cambiar",
+ "control.tardis_refined.generic_control": "Perilla",
"control.tardis_refined.hand_brake": "Manzano",
"control.tardis_refined.increment": "Incrementar",
"control.tardis_refined.monitor": "Terminal",
@@ -65,50 +68,74 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Dirección",
"control.tardis_refined.throttle": "Acelerador",
+ "curios.identifier.timelord_sight": "Lentes de RA",
+ "death.attack.choke": "%s fue agobiado por gases tóxicos",
+ "death.attack.choke.player": "%s fue agobiado por gases tóxicos",
"death.attack.eye_of_harmony": "%s fue fritado por los vientos del tiempo.",
"death.attack.eye_of_harmony.player": "%s fue fritado por los vientos del tiempo.",
"entity.tardis_refined.console_control": "Control Genérico",
- "item.tardis_refined.amethyst_screwdriver": "Tornillador de Ametista",
+ "item.tardis_refined.amethyst_screwdriver": "Destornillador de Amatista",
"item.tardis_refined.drill": "Taladro",
"item.tardis_refined.glasses": "Gafas AR",
- "item.tardis_refined.keychain": "Llavero del Tardis",
+ "item.tardis_refined.keychain": "Llavero de la Tardis",
+ "item.tardis_refined.mallet": "Mazo",
"item.tardis_refined.pattern_manipulator": "Manipulador de Variante",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
- "item.tardis_refined.tardis_key": "Llave del Tardis",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.raw_zeiton": "Zéiton en bruto",
+ "item.tardis_refined.tardis_key": "Llave de la Tardis",
+ "item.tardis_refined.test_tube": "Tubo de ensayo",
+ "item.tardis_refined.zeiton_ingot": "Lingote de Zéiton",
+ "item.tardis_refined.zeiton_nugget": "Pepita de Zéiton",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Salir de la Vista del Exterior de la TARDIS",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Vista Exterior) Activar/Desactivar Información",
"message.tardis_refined.ascend_key": "Ascender: %s",
"message.tardis_refined.astral_manipulator_engaged": "Por favor, haz tu selección. Haz clic derecho de nuevo para confirmar",
- "message.tardis_refined.cannot_start_no_fuel": "No hay suficiente combustible para iniciar",
- "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "No se pueden cambiar las consolas durante el vuelo",
- "message.tardis_refined.console_config_not_in_flight": "No se puede actualizar el bloque de consola en vuelo",
+ "message.tardis_refined.cannot_start_no_fuel": "No hay suficiente combustible para comenzar",
+ "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "No se pueden cambiar las consolas mientras se está en vuelo",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rNo se puede actualizar la consola mientras se está en vuelo",
"message.tardis_refined.current": "ACTUALIZADO",
+ "message.tardis_refined.demands_payment": "Demanda pago",
"message.tardis_refined.descend_key": "Descender: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "No hay suficiente combustible para iniciar el proceso de reconfiguración",
- "message.tardis_refined.destination": "DESTINACIÓN",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNo hay suficiente combustible como para comenzar el proceso de reconfiguración",
+ "message.tardis_refined.destination": "DESTINO",
+ "message.tardis_refined.dim_added_to_tardis": "%s fue añadido a los bancos de datos",
+ "message.tardis_refined.dim_already_saved": "Ya contiene una muestra",
+ "message.tardis_refined.dim_not_allowed": "Esta dimensión no puede ser muestreada",
+ "message.tardis_refined.dim_potential": "Muestreado",
+ "message.tardis_refined.dimension": "Dimensión",
+ "message.tardis_refined.direction": "Dirección",
+ "message.tardis_refined.door_locked": "Puertas Aseguradas",
+ "message.tardis_refined.door_status": "Puertas",
+ "message.tardis_refined.door_unlocked": "Puertas Desbloqueadas",
+ "message.tardis_refined.exit_external_view": "Salir de la Vista del Exterior de la TARDIS:",
"message.tardis_refined.exterior_cooldown": "Tienes que esperar %s segundos",
- "message.tardis_refined.fuel": "Combustible: ",
- "message.tardis_refined.fuel_offline": "Combustible fuera de línea",
- "message.tardis_refined.handbrake_disengaged": "Handbrake desvinculado",
- "message.tardis_refined.handbrake_engaged": "Handbrake comprometido",
- "message.tardis_refined.handbrake_warning": "La nave está en vuelo. Haz clic izquierdo en el manillar para comprometerse",
- "message.tardis_refined.hardware_offline": "Hardware fuera de línea",
+ "message.tardis_refined.fuel": "Combustible: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rCombustible Desactivado",
+ "message.tardis_refined.handbrake_disengaged": "Freno desvinculado",
+ "message.tardis_refined.handbrake_engaged": "Freno puesto",
+ "message.tardis_refined.handbrake_warning": "La nave está en vuelo. Haz clic izquierdo para poner el freno",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §r¡Poder Insuficiente!",
"message.tardis_refined.key_bound": "Tecla Atajado a %s",
"message.tardis_refined.key_cycled": "Principal: %s",
- "message.tardis_refined.landing_pad_transient": "No se puede invocar TARDIS en este momento",
- "message.tardis_refined.landing_pad_unlocked": "Señal especificada de TARDIS rechazada de la almohadilla de aterrizaje",
- "message.tardis_refined.no_end_dragon_prevents": "Un dragón te impide avanzar hasta el final",
- "message.tardis_refined.no_flight_transitive": "No se puede cambiar el estado de handbrake en vuelo transitorio",
- "message.tardis_refined.refuel_engaged": "Refugio habilitado",
- "message.tardis_refined.refuel_stopped": "Refugio detenido",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §r¡No puedes convocar la TARDIS a esta dimensión!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §r¡No puedes convocar la TARDIS por ahora!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rLa TARDIS especificada rechazó la señal de la plataforma de aterrizaje",
+ "message.tardis_refined.lock_status": "Bloqueado:",
+ "message.tardis_refined.no_end_dragon_prevents": "Un dragón te impide avanzar hasta El Fin",
+ "message.tardis_refined.no_flight_transitive": "No se puede cambiar el estado del freno mientas se está en vuelo",
+ "message.tardis_refined.pilot_time": "Aún tienes %s con tu piloto. ¡Aprovéchalo al máximo!",
+ "message.tardis_refined.position": "Posición: %s",
+ "message.tardis_refined.recovery_progress": "Progreso de Recuperación: %s",
+ "message.tardis_refined.refuel_engaged": "Reabastecimiento de combustible habilitado",
+ "message.tardis_refined.refuel_stopped": "Reabastecimiento de combustible detenido",
"message.tardis_refined.root_plant_cut_open": "Las raíces cubren la entrada",
"message.tardis_refined.selected": "Seleccionado: %s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS ha sido invocado y está en camino",
- "message.tardis_refined.tooltip_in_flight": "En vuelo",
+ "message.tardis_refined.submit": "Enviar",
+ "message.tardis_refined.tardis_on_the_way": "La TARDIS ha sido convocada y está en camino",
+ "message.tardis_refined.tardis_sleep_end": "Los zumbidos de la nave te hacen dar vueltas como un trompo. Tu punto de aparición no se estableció aquí.",
"message.tardis_refined.waypoint_loaded": "Punto de ruta precargado: %s",
- "monitor.waypoints.name.placeholder": "Nombre Waypoint",
- "monitor.waypoints.new_waypoint": "Nuevo Waypoint",
+ "monitor.waypoints.name.placeholder": "Nombre del Punto de ruta",
+ "monitor.waypoints.new_waypoint": "Nuevo Punto de ruta",
"monitor.waypoints.taken": "Datos recuperados de los valores de destino",
"shell.tardis_refined.big_ben": "Big Ben",
"shell.tardis_refined.briefcase": "Maletín",
@@ -117,85 +144,111 @@
"shell.tardis_refined.factory": "Fábrica",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Crecimiento",
+ "shell.tardis_refined.half_baked": "Medio Horneado",
"shell.tardis_refined.hieroglyph": "Jeroglífico",
"shell.tardis_refined.lift": "Ascensor",
"shell.tardis_refined.mystic": "Místico",
"shell.tardis_refined.nuka": "Nuka",
"shell.tardis_refined.pagoda": "Pagoda",
"shell.tardis_refined.pathfinder": "Buscador",
- "shell.tardis_refined.phone_booth": "Cabina Telefónica",
+ "shell.tardis_refined.phone_booth": "Cabina telefónica roja",
"shell.tardis_refined.police_box": "Cabina de Policía",
"shell.tardis_refined.portaloo": "Baño Portátil",
"shell.tardis_refined.present": "Regalo",
+ "shell.tardis_refined.shulker": "Medio Horneado",
"shell.tardis_refined.vending": "Máquina Expendedora",
+ "sound.alarm.subtitle": "Alarma",
"sound.ars_hum.subtitle": "Zumbido del árbol SRA",
- "sound.artron_pillar_active.subtitle": "Pilar de Artron activado",
- "sound.console_power_on.subtitle": "Encender consola",
+ "sound.artron_pillar_active.subtitle": "Pilar Artrón activado",
+ "sound.cloister_bell.subtitle": "Campana del Claustro",
+ "sound.console_power_on.subtitle": "Encendido de la consola",
"sound.corridor_teleporter.subtitle": "Creación de teletransportador",
"sound.corridor_teleporter_success.subtitle": "Teletransportador usado",
- "sound.destination_ding.subtitle": "TARDIS llega a su destino",
- "sound.flight_fail_start.subtitle": "Fallo TARDIS groans",
- "sound.gravity_tunnel.subtitle": "Vientos de túnel de gravedad",
- "sound.interior_creaks.subtitle": "Cribas",
- "sound.interior_voice.subtitle": "...?",
+ "sound.destination_ding.subtitle": "La TARDIS llega a su destino",
+ "sound.flight_fail_start.subtitle": "Crujidos de Falla de la TARDIS",
+ "sound.gravity_tunnel.subtitle": "Vientos del túnel de gravedad",
+ "sound.hum_aviatrax.subtitle": "Zumbidos de La TARDIS",
+ "sound.hum_cave.subtitle": "Zumbidos de La TARDIS",
+ "sound.hum_classic.subtitle": "Zumbidos de La TARDIS",
+ "sound.hum_coral.subtitle": "Zumbidos de La TARDIS",
+ "sound.hum_toyota.subtitle": "Zumbidos de La TARDIS",
+ "sound.hum_victorian.subtitle": "Zumbidos de La TARDIS",
+ "sound.interior_creaks.subtitle": "Crujidos",
+ "sound.interior_voice.subtitle": "¿...?",
+ "sound.low_fuel.subtitle": "Advertencia: Poco Combustible",
+ "sound.mallet.subtitle": "Golpe de mazo",
"sound.pattern_manipulator.subtitle": "Manipulador de Variantes activando",
- "sound.screwdriver_discard.subtitle": "Descartar datos del destornillador",
+ "sound.screwdriver_connect.subtitle": "Posición del Destornillador Conectada",
+ "sound.screwdriver_discard.subtitle": "Datos descartados del destornillador",
"sound.screwdriver_short.subtitle": "Destornillador usado",
"sound.static.subtitle": "Estática de la pantalla",
- "sound.tardis_crash_land.subtitle": "TARDIS aterriza forzadamente",
- "sound.tardis_land.subtitle": "TARDIS aterriza",
- "sound.tardis_misc_sparkle.subtitle": "TARDIS llegando",
- "sound.tardis_single_fly.subtitle": "TARDIS vuela",
- "sound.tardis_takeoff.subtitle": "TARDIS despega",
+ "sound.tardis_crash_land.subtitle": "La TARDIS aterriza forzadamente",
+ "sound.tardis_land.subtitle": "La TARDIS aterriza",
+ "sound.tardis_misc_sparkle.subtitle": "La TARDIS está llegando",
+ "sound.tardis_single_fly.subtitle": "La TARDIS vuela",
+ "sound.tardis_takeoff.subtitle": "La TARDIS despega",
"sound.time_blast.subtitle": "Explosión del Vórtice Temporal",
- "tooltip.tardis_refined.screwdriver_description": "Un manipulador de frecuencia de amethyst",
- "tooltip.tardis_refined.tardis_list": "Llavero:",
- "ui.tardis_refined.desktop_selection": "Configuración de Consola",
+ "tardis_refined.display_source.destination": "Destino del GPS",
+ "tardis_refined.display_source.door": "Estado de las Puertas",
+ "tardis_refined.display_source.fuel": "Combustible",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Fijar Estado",
+ "tardis_refined.display_source.tardis_bigdata": "Resumen de la TARDIS",
+ "tooltip.tardis_refined.screwdriver_description": "Un manipulador de frecuencia de amatista",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Llave Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aMuestra de Decodificación: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Muestra Guardada: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Sin muestra de la Dimensión",
"ui.tardis_refined.monitor.cancel_desktop": "¿Quieres cancelar la reconfiguración inminente?",
- "ui.tardis_refined.monitor.desktop": "Configuración de Consola",
+ "ui.tardis_refined.monitor.desktop": "CONSOLA",
"ui.tardis_refined.monitor.desktop_cancel": "Cancelar Reconfiguración de Consola",
"ui.tardis_refined.monitor.desktop_cancel.title": "Operación en desarrollo",
"ui.tardis_refined.monitor.desktop_cancel_description": "Sistemas deshabilitados por reconfiguración de Consola programada.",
- "ui.tardis_refined.monitor.external_shell": "Configuración del Exterior",
+ "ui.tardis_refined.monitor.external_shell": "CONFIGURACIÓN DEL EXTERIOR",
"ui.tardis_refined.monitor.list.selection": "Seleccionado en este momento: &s",
"ui.tardis_refined.monitor.main.destination": "Destino",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VÓRTICE",
"ui.tardis_refined.monitor.main_title": "Terminal",
- "ui.tardis_refined.monitor.no.waypoints": "¡No hay Etiquetas Guardadas!",
+ "ui.tardis_refined.monitor.no.waypoints": "¡No hay Puntos de ruta Guardados!",
+ "ui.tardis_refined.monitor.select.eject": "EXPULSIÓN DE EMERGENCIA",
+ "ui.tardis_refined.monitor.select.eject_fail": "No se puede expulsar mientras se está en vuelo",
"ui.tardis_refined.monitor.select.hum": "SUNDSCAPE",
- "ui.tardis_refined.monitor.upload.coords": "COORDINADA DE NAVEGACIÓN",
- "ui.tardis_refined.monitor.upload.waypoints": "ETIQUETA DE NAVEGACIÓN",
- "ui.tardis_refined.monitor.waypoint_name": "Nombre de la Etiqueta:",
- "ui.tardis_refined.monitor.waypoints": "ETIQUETAS",
- "ui.tardis_refined.monitor.waypoints.create": "Nuevo waypoint",
- "ui.tardis_refined.monitor.waypoints.delete": "Eliminar waypoint",
- "ui.tardis_refined.monitor.waypoints.edit": "Editar waypoint",
+ "ui.tardis_refined.monitor.shell_view": "VISTA DE LA CARCASA",
+ "ui.tardis_refined.monitor.upload.coords": "COORDENADA DE NAVEGACIÓN",
+ "ui.tardis_refined.monitor.upload.waypoints": "NAVEGACIÓN DE LOS PUNTOS DE RUTA",
+ "ui.tardis_refined.monitor.waypoint_name": "Nombre del Punto de ruta:",
+ "ui.tardis_refined.monitor.waypoints": "PUNTOS DE RUTA",
+ "ui.tardis_refined.monitor.waypoints.create": "Nuevo punto de ruta",
+ "ui.tardis_refined.monitor.waypoints.delete": "Eliminar punto de ruta",
+ "ui.tardis_refined.monitor.waypoints.edit": "Editar punto de ruta",
"ui.tardis_refined.monitor.waypoints.issues": "Problemas:",
- "ui.tardis_refined.monitor.waypoints.issues.name": "Nombre de waypoint inválido",
+ "ui.tardis_refined.monitor.waypoints.issues.name": "Nombre de punto de ruta inválido",
"ui.tardis_refined.monitor.waypoints.issues.x": "Valor X inválido",
"ui.tardis_refined.monitor.waypoints.issues.y": "Valor de Y no válido",
"ui.tardis_refined.monitor.waypoints.issues.z": "Valor Z inválido",
"ui.tardis_refined.monitor.waypoints.load": "Enviar a la consola",
- "ui.tardis_refined.monitor.waypoints.submit": "Enviar",
"ui.tardis_refined.monitor.waypoints.upload": "Subir",
- "ui.tardis_refined.no_installed_subsystems": "No hay Subsistemas disponibles",
- "ui.tardis_refined.shell_selection": "Configuración del Exterior",
+ "ui.tardis_refined.no_installed_subsystems": "No hay subsistemas disponibles",
"ui.tardis_refined.upgrades": "Mejoras de la TARDIS",
- "ui.tardis_refined.upgrades.buy_ability": "Comprar Mejora?",
+ "ui.tardis_refined.upgrades.buy_ability": "¿Comprar Mejora?",
+ "ui.tardis_refined.villager_can_pilot": "¿Y el Piloto?",
"upgrade.tardis_refined.architecture_system": "Arquitectura",
"upgrade.tardis_refined.architecture_system.description": "Permite mejoras de arquitectura para la TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Circuito Camaleónico",
- "upgrade.tardis_refined.chameleon_circuit_system.description": "Permite que la TARDIS cambie de forma",
+ "upgrade.tardis_refined.chameleon_circuit_system.description": "Permite que la TARDIS cambie su forma",
"upgrade.tardis_refined.defense_system": "Sistema de Defensa",
- "upgrade.tardis_refined.defense_system.description": "Permite protocolos de defensa",
+ "upgrade.tardis_refined.defense_system.description": "Permite Protocolos de Defensa",
"upgrade.tardis_refined.dimension_travel": "Viaje Interdimensional",
"upgrade.tardis_refined.dimension_travel.description": "Permite que la TARDIS se mueva entre dimensiones",
"upgrade.tardis_refined.explorer": "Explorador I",
- "upgrade.tardis_refined.explorer.description": "Incrementar 1000x",
+ "upgrade.tardis_refined.explorer.description": "Incrementar mil veces",
"upgrade.tardis_refined.explorer_ii": "Explorador II",
- "upgrade.tardis_refined.explorer_ii.description": "Incrementar 2500x",
+ "upgrade.tardis_refined.explorer_ii.description": "Incrementar dos mil quinientas veces",
"upgrade.tardis_refined.explorer_iii": "Explorador III",
- "upgrade.tardis_refined.explorer_iii.description": "Incrementar 5000x",
+ "upgrade.tardis_refined.explorer_iii.description": "Incrementar cinco mil veces",
+ "upgrade.tardis_refined.flight_system": "Sistema de Vuelo",
+ "upgrade.tardis_refined.flight_system.description": "Permite actualizaciones para el Sistema de Vuelo de la TARDIS",
"upgrade.tardis_refined.improved_generation_time_i": "Generación mejorada I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Reduce los tiempos de espera del escritorio hasta 120 segundos",
"upgrade.tardis_refined.improved_generation_time_ii": "Generación mejorada II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Permite que entidades entren en la TARDIS al materializarse directamente en ellas",
"upgrade.tardis_refined.navigation_system": "Sistema de Navegación",
"upgrade.tardis_refined.navigation_system.description": "Permite mejoras al sistema de navegación de la TARDIS",
+ "upgrade.tardis_refined.speed_i": "Velocidad I",
+ "upgrade.tardis_refined.speed_i.description": "La Velocidad de Vuelo es cinco veces más rápida",
+ "upgrade.tardis_refined.speed_ii": "Velocidad II",
+ "upgrade.tardis_refined.speed_ii.description": "La Velocidad de Vuelo es diez veces más rápida",
+ "upgrade.tardis_refined.speed_iii": "Velocidad III",
+ "upgrade.tardis_refined.speed_iii.description": "La Velocidad de Vuelo es veinticinco veces más rápida",
+ "upgrade.tardis_refined.speed_iv": "Velocidad IV",
+ "upgrade.tardis_refined.speed_iv.description": "La Velocidad de Vuelo es cincuenta veces más rápida",
"upgrade.tardis_refined.tardis_xp": "Sistema de Mejoras",
"upgrade.tardis_refined.tardis_xp.description": "Permite mejoras a la TARDIS",
- "upgrade.tardis_refined.waypoints": "Etiquetas",
- "upgrade.tardis_refined.waypoints.description": "Permite al piloto crear y guardar ubicaciones"
+ "upgrade.tardis_refined.waypoints": "Puntos de ruta",
+ "upgrade.tardis_refined.waypoints.description": "Permitir al piloto crear y guardar ubicaciones",
+ "vortex.tardis_refined.agender_flag": "Bandera agénero",
+ "vortex.tardis_refined.aurora_dreams": "Sueños de aurora",
+ "vortex.tardis_refined.bisexual_flag": "Bandera bisexual",
+ "vortex.tardis_refined.candy_pop": "Caramelo Pop",
+ "vortex.tardis_refined.clouds": "Nubes",
+ "vortex.tardis_refined.crystal_lagoon": "Laguna de cristal",
+ "vortex.tardis_refined.desert_mirage": "Espejismo Desértico",
+ "vortex.tardis_refined.emerald_forest": "Bosque esmeralda",
+ "vortex.tardis_refined.flow": "Flujo",
+ "vortex.tardis_refined.gay_flag": "Bandera gay",
+ "vortex.tardis_refined.lesbian_flag": "Bandera lesbiana",
+ "vortex.tardis_refined.lgbt_rainbow": "Arcoíris LGBT",
+ "vortex.tardis_refined.neon_pulse": "Pulso de Neón",
+ "vortex.tardis_refined.non_binary_flag": "Bandera no binario",
+ "vortex.tardis_refined.ocean_breeze": "Brisa oceánica",
+ "vortex.tardis_refined.solar_flare": "Llamarada Solar",
+ "vortex.tardis_refined.space": "Espacio",
+ "vortex.tardis_refined.stars": "Estrellas",
+ "vortex.tardis_refined.transgender_flag": "Bandera transgénero",
+ "vortex.tardis_refined.twilight_glow": "Brillo crepuscular",
+ "vortex.tardis_refined.velvet_night": "Noche aterciopelada",
+ "vortex.tardis_refined.waves": "Olas"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/et_ee.json b/common/src/main/resources/assets/tardis_refined/lang/et_ee.json
index e2cbd687..1384c709 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/et_ee.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/et_ee.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Vanaegiptuse mausoleum",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
"shell.tardis_refined.nuka": "Nuka",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/eu_es.json b/common/src/main/resources/assets/tardis_refined/lang/eu_es.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/eu_es.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/eu_es.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/fi_fi.json b/common/src/main/resources/assets/tardis_refined/lang/fi_fi.json
index 0d49d977..f167480b 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/fi_fi.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/fi_fi.json
@@ -7,16 +7,16 @@
"block.tardis_refined.ars_leaves": "AUJ-lehdet",
"block.tardis_refined.ars_leaves_fence": "AUJ-aita",
"block.tardis_refined.ars_leaves_slab": "AUJ-laatta",
- "block.tardis_refined.artron_pillar": "Artronin Pilari",
- "block.tardis_refined.artron_pillar_port": "Artronin Pilarien Satama",
- "block.tardis_refined.astral_manipulator": "Astral Manipulaattori",
+ "block.tardis_refined.artron_pillar": "Artron-pilari",
+ "block.tardis_refined.artron_pillar_port": "Artron-pilariportti",
+ "block.tardis_refined.astral_manipulator": "Astraalimanipulaattori",
"block.tardis_refined.bulk_head_door": "Laipioovi",
- "block.tardis_refined.console_configuration": "Konsolin konfiguraattori",
- "block.tardis_refined.corridor_teleporter": "Käytävän Teleportti",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
+ "block.tardis_refined.console_configuration": "Konsolikonfiguraattori",
+ "block.tardis_refined.corridor_teleporter": "Kaukosirrinkenttä",
+ "block.tardis_refined.deepslate_zeiton_ore": "Pohjaliuskezeitonmalmi",
"block.tardis_refined.flight_detector": "Lentoilmaisin",
- "block.tardis_refined.fools_stone": "Foolin Kivi",
- "block.tardis_refined.gravity_well": "Painovoima Hyvin",
+ "block.tardis_refined.fools_stone": "Katinkivi",
+ "block.tardis_refined.gravity_well": "Painomoivakaivo",
"block.tardis_refined.landing_pad": "Laskeutumisalusta",
"block.tardis_refined.root_plant": "TARDIS-koralli",
"block.tardis_refined.root_shell": "Korallikuori",
@@ -25,11 +25,11 @@
"block.tardis_refined.tardis_door": "TARDIS-ovi",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Maankaltaistamisenkone",
- "block.tardis_refined.zeiton_block": "Zeiton -lohko",
+ "block.tardis_refined.zeiton_block": "Zeitonkuutio",
"block.tardis_refined.zeiton_fused_copper_block": "Zeiton Fused Copper Block",
"block.tardis_refined.zeiton_fused_iron_block": "Zeiton Fused Iron Block",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
+ "block.tardis_refined.zeiton_lantern": "Zeitonlyhty",
+ "block.tardis_refined.zeiton_ore": "Zeitonmalmi",
"command.tardis_refined.create.in_progress": "Yritetään luoda Tardis %s, generointi käynnissä",
"command.tardis_refined.create.success": "Tardis luotu onnistuneesti tunnisteella %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s ei ole TARDIS-ulottuvuus!",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Lukittu päivitys %s %s varten",
"command.tardis_refined.upgrade.unlock": "Avattu päivitys %s %s",
"config.tardis_refined.banned_dimensions": "Kielletyt ulottuvuudet",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Haluatko ottaa animaatiot käyttöön tyhjäkäynnillä oleville konsoleille?",
"config.tardis_refined.control_names": "Haluatko näyttää hallintalaitteiden nimet?",
"config.tardis_refined.immersive_portals": "Haluatko ottaa käyttöön Immersive Portals-yhteensopivuuden?",
@@ -55,57 +57,82 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Ulottuvuus",
"control.tardis_refined.door_toggle": "Ovenkytkin",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Nopea paluu",
"control.tardis_refined.fuel": "Polttoaine",
- "control.tardis_refined.generic_control": "Vaihda",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Käsijarru",
"control.tardis_refined.increment": "Koordinaattikasvatin",
"control.tardis_refined.monitor": "Pääte",
"control.tardis_refined.random": "Koordinaattisatunnaistin",
- "control.tardis_refined.read_out": "GPS",
+ "control.tardis_refined.read_out": "Sijainti",
"control.tardis_refined.rotate": "Suuntaohjaus",
- "control.tardis_refined.throttle": "Käsijarru",
+ "control.tardis_refined.throttle": "Kaasuhallintalaite",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s paistettiin aikatuuliin.",
"death.attack.eye_of_harmony.player": "%s paistettiin aikatuuliin.",
- "entity.tardis_refined.console_control": "Hallintalaitteet",
+ "entity.tardis_refined.console_control": "Hallintalaite",
"item.tardis_refined.amethyst_screwdriver": "Ametisti Ruuvimeisseli",
"item.tardis_refined.drill": "Pora",
- "item.tardis_refined.glasses": "AR Silmälasit",
+ "item.tardis_refined.glasses": "Lisätyn todellisuuden silmälasit",
"item.tardis_refined.keychain": "Avainrengas",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Kuviokäsittelijä",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
+ "item.tardis_refined.raw_zeiton": "Raaka zeiton",
"item.tardis_refined.tardis_key": "TARDIS-avain",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.test_tube": "Test Tube",
+ "item.tardis_refined.zeiton_ingot": "Zeitonharkko",
+ "item.tardis_refined.zeiton_nugget": "Zeitonhippu",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Nousee: %s",
"message.tardis_refined.astral_manipulator_engaged": "Ole hyvä ja tee valintasi. Vahvista hiiren oikealla painikkeella",
"message.tardis_refined.cannot_start_no_fuel": "Ei tarpeeksi polttoainetta käynnistettäväksi",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Konsoleja ei voi muuttaa lennon aikana",
- "message.tardis_refined.console_config_not_in_flight": "Konsoli lohkoa ei voi päivittää lennon aikana",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "NYKYINEN",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Laskea: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Ei tarpeeksi polttoainetta uudelleenkonfiguroinnin käynnistämiseksi",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "MÄÄRÄYS",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Sinun on odotettava %s sekunti(a)",
- "message.tardis_refined.fuel": "Polttoaine: ",
- "message.tardis_refined.fuel_offline": "Polttoaine offline-tilassa",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Käsijarru irrotettu",
"message.tardis_refined.handbrake_engaged": "Käsijarru kytkettynä",
"message.tardis_refined.handbrake_warning": "Ship on lennossa. Paina kämmenjarrua vasemmalle ottaaksesi sen käyttöön",
- "message.tardis_refined.hardware_offline": "Laitteisto offline-tilassa",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Avain on sidottu %s",
"message.tardis_refined.key_cycled": "Pää-TARDIS: %s",
- "message.tardis_refined.landing_pad_transient": "Ei voida kutsua TARDIS-koodia tähän aikaan",
- "message.tardis_refined.landing_pad_unlocked": "Määritelty TARDIS hylätty laskualustan signaali",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Lohikäärme estää sinua etenemästä loppuun",
"message.tardis_refined.no_flight_transitive": "Käsijarrun tilaa ei voi muuttaa ohimenevän lennon aikana",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Käytössä tankkaus",
"message.tardis_refined.refuel_stopped": "Polttoaineen tankkaus pysäytetty",
"message.tardis_refined.root_plant_cut_open": "Juuret peittävät sisäänkäynnin",
"message.tardis_refined.selected": "Valittu: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS on kutsuttu ja on matkalla",
- "message.tardis_refined.tooltip_in_flight": "Lennon aikana",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Esiladattu reittipiste: %s",
"monitor.waypoints.name.placeholder": "Reittipisteen nimi",
"monitor.waypoints.new_waypoint": "Uusi Reittipiste",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Oletuskuori",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Korallinkasvu",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Muinaisen egyptiläisen mausoleumi",
"shell.tardis_refined.lift": "Hissi",
"shell.tardis_refined.mystic": "Salaperäinen koppi",
"shell.tardis_refined.nuka": "Nuka-Cola-automaatti",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Poliisikioski",
"shell.tardis_refined.portaloo": "Bajamaja",
"shell.tardis_refined.present": "Lahjapaketti",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Myyntiautomaatti",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "Ars Puu Hum",
"sound.artron_pillar_active.subtitle": "Artron pilari aktivoitu",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Konsolin teho päällä",
"sound.corridor_teleporter.subtitle": "Teleporterin rakentaminen",
"sound.corridor_teleporter_success.subtitle": "Teleporter käytetty",
"sound.destination_ding.subtitle": "TARDIS saavuttaa määränpään",
"sound.flight_fail_start.subtitle": "Vikaantuneet TARDIS groans",
"sound.gravity_tunnel.subtitle": "Painovoimatunnelin tuulet",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Kivet",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Kuviokäsittelijä aktivoituu",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Ruuvimeisseli poistaa tiedot",
"sound.screwdriver_short.subtitle": "Ruuvimeisseli käytetty",
"sound.static.subtitle": "Näyttö rätisee",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS matkustaa",
"sound.tardis_takeoff.subtitle": "TARDIS aineettomaksi",
"sound.time_blast.subtitle": "Aika Vortex räjähdys",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Ametyytin taajuuden manipuloija",
- "tooltip.tardis_refined.tardis_list": "Avainrengas:",
- "ui.tardis_refined.desktop_selection": "KONSOLIHUONEEN KOKOONPANO",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Haluatteko peruuttaa suunnitellun konsolihuoneen uudelleensuunnittelun?",
- "ui.tardis_refined.monitor.desktop": "KONSOLIHUONEEN KOKOOPANO",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Peruuta konsolihuoneen uudelleensuunnittelu",
"ui.tardis_refined.monitor.desktop_cancel.title": "LASKUTOIMITUS KÄYNNISSÄ",
"ui.tardis_refined.monitor.desktop_cancel_description": "TARDIS-järjestelmät on poistettu käytöstä konsolihuoneen uudelleensuunnittelun vuoksi.",
- "ui.tardis_refined.monitor.external_shell": "ULKOKUOREN KOKOONPANO",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Valittu: &s",
"ui.tardis_refined.monitor.main.destination": "Matkakohde",
"ui.tardis_refined.monitor.main.gps": "Sijainti",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "PÄÄTE",
"ui.tardis_refined.monitor.no.waypoints": "Tallennettuja reittipisteitä ei ole!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "KOORDINAATTINAVIGOINTI",
"ui.tardis_refined.monitor.upload.waypoints": "REITTIPISTENAVIGOINTI",
"ui.tardis_refined.monitor.waypoint_name": "Reittipisteen nimi:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Virheellinen Y-arvo",
"ui.tardis_refined.monitor.waypoints.issues.z": "Virheellinen Z arvo",
"ui.tardis_refined.monitor.waypoints.load": "Lähetä konsoliin",
- "ui.tardis_refined.monitor.waypoints.submit": "Lähetä",
"ui.tardis_refined.monitor.waypoints.upload": "Lähetä",
"ui.tardis_refined.no_installed_subsystems": "Ei saatavilla olevia alajärjestelmiä",
- "ui.tardis_refined.shell_selection": "ULKOKUOREN KOKOONPANO",
"ui.tardis_refined.upgrades": "Tardiksen Päivitykset",
"ui.tardis_refined.upgrades.buy_ability": "Osta päivitys?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Arkkitehtuuri",
"upgrade.tardis_refined.architecture_system.description": "Ottaa Käyttöön Tardis Arkkitehtuuripäivitykset",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Lisäys",
"upgrade.tardis_refined.explorer_iii": "Tutkija III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Lisäys",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Parannettu Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Laskee työpöydän odotusaikoja 120 sekuntiin",
"upgrade.tardis_refined.improved_generation_time_ii": "Parannettu Sukupolvi II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Sallii TARDIS-järjestelmän saada entiteetit syötettäväksi materalisoinnin aikana",
"upgrade.tardis_refined.navigation_system": "Navigointi Järjestelmä",
"upgrade.tardis_refined.navigation_system.description": "Sallii päivitykset TARDIS Navigation System -järjestelmään",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Järjestelmän Päivitykset",
"upgrade.tardis_refined.tardis_xp.description": "Sallii päivitykset TARDIS-järjestelmään",
"upgrade.tardis_refined.waypoints": "Reittipisteet",
- "upgrade.tardis_refined.waypoints.description": "Sallii Piltin luoda tallennettuja sijainteja"
+ "upgrade.tardis_refined.waypoints.description": "Sallii Piltin luoda tallennettuja sijainteja",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/fil_ph.json b/common/src/main/resources/assets/tardis_refined/lang/fil_ph.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/fil_ph.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/fil_ph.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/fr_ca.json b/common/src/main/resources/assets/tardis_refined/lang/fr_ca.json
index 32011be4..961f5422 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/fr_ca.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/fr_ca.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Amélioration %s verrouillée pour %s",
"command.tardis_refined.upgrade.unlock": "Amélioration %s débloquée pour %s",
"config.tardis_refined.banned_dimensions": "Dimensions bannies",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Jouer les animations de la console inactive",
"config.tardis_refined.control_names": "Afficher le nom des contrôles ?",
"config.tardis_refined.immersive_portals": "Compatibilité avec Immersive Portal ?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Interrupteur de porte",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Retour Rapide",
"control.tardis_refined.fuel": "Carburant",
- "control.tardis_refined.generic_control": "Commuter",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Frein à main",
"control.tardis_refined.increment": "Incrément",
"control.tardis_refined.monitor": "Banque Ordinateur",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "Coordonnées",
"control.tardis_refined.rotate": "Orientation",
"control.tardis_refined.throttle": "Accélérateur",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s a été frit par le temps des vents.",
"death.attack.eye_of_harmony.player": "%s a été frit par le temps des vents.",
"entity.tardis_refined.console_control": "Contrôle générique",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Perçage de croissance",
"item.tardis_refined.glasses": "Lunettes AR",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Manipulateur de motifs",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Clé du TARDIS",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis raffiné",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascension : %s",
"message.tardis_refined.astral_manipulator_engaged": "Veuillez faire votre sélection. Faites un clic droit à nouveau pour confirmer",
"message.tardis_refined.cannot_start_no_fuel": "Pas assez de carburant pour commencer",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Impossible de changer les consoles en vol",
- "message.tardis_refined.console_config_not_in_flight": "Impossible de mettre à jour le bloc console en vol",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ACTUELLE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descendant : %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Pas assez de carburant pour démarrer le processus de reconfiguration",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Vous devez attendre %s secondes",
- "message.tardis_refined.fuel": "Carburant : ",
- "message.tardis_refined.fuel_offline": "Carburant hors ligne",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Frein à main désengagé",
"message.tardis_refined.handbrake_engaged": "Frein à main engagé",
"message.tardis_refined.handbrake_warning": "Le vaisseau est en vol. Clic gauche sur le frein à main pour l'engager",
- "message.tardis_refined.hardware_offline": "Matériel hors ligne",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Clé liée à %s",
"message.tardis_refined.key_cycled": "Principal : %s",
- "message.tardis_refined.landing_pad_transient": "Impossible d'invoquer TARDIS pour le moment",
- "message.tardis_refined.landing_pad_unlocked": "TARDIS spécifiée a rejeté le signal du palier d'atterrissage",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Un dragon vous empêche de progresser vers la fin",
"message.tardis_refined.no_flight_transitive": "Impossible de changer l'état du frein à main en vol transitoire",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Réapprovisionnement en carburant activé",
"message.tardis_refined.refuel_stopped": "Réapprovisionnement en carburant interrompu",
"message.tardis_refined.root_plant_cut_open": "Racines recouvrent l'entrée",
"message.tardis_refined.selected": "Sélectionné: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS a été invoqué et est en route",
- "message.tardis_refined.tooltip_in_flight": "En vol",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "waypoint préchargé: %s",
"monitor.waypoints.name.placeholder": "Nom du waypoint",
"monitor.waypoints.new_waypoint": "Nouveau waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Coque par défaut",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Croissance",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Ascenseur",
"shell.tardis_refined.mystic": "Mystique",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Boîte de Police",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Présent",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Distributeur automatique",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "Hume d'arbre ARS",
"sound.artron_pillar_active.subtitle": "Pilier Artron activé",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Mise sous tension de la console",
"sound.corridor_teleporter.subtitle": "Construction du téléporteur",
"sound.corridor_teleporter_success.subtitle": "Téléporteur utilisé",
"sound.destination_ding.subtitle": "TARDIS atteint la destination",
"sound.flight_fail_start.subtitle": "Echouer le géant des TARDIS",
"sound.gravity_tunnel.subtitle": "Vents du tunnel de gravité",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Crèmes",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Manipulateur de motifs activés",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Données de suppression du tournevis",
"sound.screwdriver_short.subtitle": "Tournevis utilisé",
"sound.static.subtitle": "Affichage statique de l'écran",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS en Vol",
"sound.tardis_takeoff.subtitle": "Décollage du TARDIS",
"sound.time_blast.subtitle": "Délai de projection Vortex",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Un manipulateur de fréquence améthyste",
- "tooltip.tardis_refined.tardis_list": "Ensemble de clés :",
- "ui.tardis_refined.desktop_selection": "CONFIGURATION DU DESKTOP",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Souhaitez-vous annuler la reconfiguration programmée ?",
- "ui.tardis_refined.monitor.desktop": "CONFIGURATION DU DESKTOP",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Annuler la reconfiguration du bureau",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPÉRATION EN cours",
"ui.tardis_refined.monitor.desktop_cancel_description": "Les systèmes désactivés en tant que reconfiguration du bureau ont été programmés.",
- "ui.tardis_refined.monitor.external_shell": "CONFIGURATION EXTERNELLE",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Actuellement sélectionné : &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "Coordonnées",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "BANQUE NUMERIQUE",
"ui.tardis_refined.monitor.no.waypoints": "Aucun waypoint enregistré !",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "CAPTURE DU SOUNDSS",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "NAVIGATION DE WAYPOINT",
"ui.tardis_refined.monitor.waypoint_name": "Nom du waypoint :",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Valeur Y invalide",
"ui.tardis_refined.monitor.waypoints.issues.z": "Valeur Z non valide",
"ui.tardis_refined.monitor.waypoints.load": "Envoyer vers la console",
- "ui.tardis_refined.monitor.waypoints.submit": "Soumettre",
"ui.tardis_refined.monitor.waypoints.upload": "Charger",
"ui.tardis_refined.no_installed_subsystems": "Aucun sous-système disponible",
- "ui.tardis_refined.shell_selection": "CONFIGURATION EXTERNELLE",
"ui.tardis_refined.upgrades": "Améliorations de Tardis",
"ui.tardis_refined.upgrades.buy_ability": "Acheter la mise à niveau?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Active les mises à jour d'architecture TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Circuit Caméléon",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "Incrément x2500",
"upgrade.tardis_refined.explorer_iii": "Explorateur III",
"upgrade.tardis_refined.explorer_iii.description": "Incrément x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Génération améliorée I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Diminue le temps d'attente du bureau à 120 secondes",
"upgrade.tardis_refined.improved_generation_time_ii": "Amélioration de la production II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Permet aux TARDIS d'avoir des entités à entrer lors de la matéralisation",
"upgrade.tardis_refined.navigation_system": "Système de Navigation",
"upgrade.tardis_refined.navigation_system.description": "Permet de passer au système de navigation TARDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Améliorations du système",
"upgrade.tardis_refined.tardis_xp.description": "Permet des mises à niveau vers les TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Permet au pilote de créer des emplacements enregistrés"
+ "upgrade.tardis_refined.waypoints.description": "Permet au pilote de créer des emplacements enregistrés",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/fr_fr.json b/common/src/main/resources/assets/tardis_refined/lang/fr_fr.json
index 30a843a0..da42cefc 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/fr_fr.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/fr_fr.json
@@ -1,21 +1,21 @@
{
- "argument.tardis_refined.desktop.invalid": "Bureau de l'ID %s invalide",
- "argument.tardis_refined.shell.invalid": "Shell de l'ID %s invalide",
- "argument.tardis_refined.upgrade.invalid": "Mise à jour invalide de l'ID %s",
- "block.tardis_refined.air_lock_generator": "Générateur d'air du sas",
- "block.tardis_refined.ars_egg": "Œuf de Reconfiguration Architectural",
+ "argument.tardis_refined.desktop.invalid": "ID du bureau %s invalide",
+ "argument.tardis_refined.shell.invalid": "ID de coque %s invalide",
+ "argument.tardis_refined.upgrade.invalid": "ID d'amélioration %s invalide",
+ "block.tardis_refined.air_lock_generator": "Générateur du sas",
+ "block.tardis_refined.ars_egg": "Œuf de reconfiguration architecturale",
"block.tardis_refined.ars_leaves": "Feuilles de reconfiguration architecturale",
"block.tardis_refined.ars_leaves_fence": "Barrière de reconfiguration architecturale",
"block.tardis_refined.ars_leaves_slab": "Dalle de reconfiguration architecturale",
- "block.tardis_refined.artron_pillar": "Pilier d'Artron",
+ "block.tardis_refined.artron_pillar": "Pilier Artron",
"block.tardis_refined.artron_pillar_port": "Port du Pilier Artron",
"block.tardis_refined.astral_manipulator": "Manipulateur Astral",
"block.tardis_refined.bulk_head_door": "Porte de cloison",
"block.tardis_refined.console_configuration": "Configurateur de console",
"block.tardis_refined.corridor_teleporter": "Téléporteur de couloir",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
+ "block.tardis_refined.deepslate_zeiton_ore": "Minerais de zeiton des abîmes",
"block.tardis_refined.flight_detector": "Détecteur de vol",
- "block.tardis_refined.fools_stone": "Pierre du Poisson",
+ "block.tardis_refined.fools_stone": "Pierre du Fou",
"block.tardis_refined.gravity_well": "Puits de gravité",
"block.tardis_refined.landing_pad": "Plate-forme d'atterrissage",
"block.tardis_refined.root_plant": "Corail TARDIS",
@@ -25,28 +25,30 @@
"block.tardis_refined.tardis_door": "Porte du TARDIS",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terraformeur",
- "block.tardis_refined.zeiton_block": "Bloc de Zeiton",
- "block.tardis_refined.zeiton_fused_copper_block": "Bloc de cuivre fusionné de Zeiton",
- "block.tardis_refined.zeiton_fused_iron_block": "Bloc de Fer fusionné de Zeiton",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
- "command.tardis_refined.create.in_progress": "Tentative de création de Tardis %s, génération en cours",
- "command.tardis_refined.create.success": "Tardis créé avec l'id %s avec succès",
+ "block.tardis_refined.zeiton_block": "Bloc de zeiton",
+ "block.tardis_refined.zeiton_fused_copper_block": "Bloc de cuivre fusionné de zeiton",
+ "block.tardis_refined.zeiton_fused_iron_block": "Bloc de fer fusionné au zeiton",
+ "block.tardis_refined.zeiton_lantern": "Lanterne zeiton",
+ "block.tardis_refined.zeiton_ore": "Minerai de zeiton",
+ "command.tardis_refined.create.in_progress": "Tentative de création du TARDIS %s, génération en cours",
+ "command.tardis_refined.create.success": "TARDIS créé avec succès avec l'Id %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s n'est pas une dimension TARDIS !",
- "command.tardis_refined.export_desktop.fail": "§cÉchec de l'exportation du bureau %s !",
- "command.tardis_refined.export_desktop.in_progress": "Génération d'un packs de données pour le bureau %s. Cela peut prendre un certain temps en fonction de la taille de la structure...",
+ "command.tardis_refined.export_desktop.fail": "§cÉchec de l'exportation de l'intrérieur %s !",
+ "command.tardis_refined.export_desktop.in_progress": "Génération d'un pack de données pour le bureau %s. Cela peut prendre un certain temps en fonction de la taille de la structure...",
"command.tardis_refined.export_desktop.resource_pack": "§9Pour choisir l'image de prévisualisation du bureau, veuillez créer un pack de ressources. Voir quelques exemples de packs de ressources à %s",
- "command.tardis_refined.export_desktop.success": "§aExportation réussie du bureau %s vers le packs de données %s ! Utilisez la commande %s pour voir les changements.",
- "command.tardis_refined.level.point.add": "Ajout des points %s pour %s, le total des points est maintenant %s",
- "command.tardis_refined.level.point.get": "%s a des points d'amélioration %s",
- "command.tardis_refined.level.point.set": "Définir les points de mise à niveau pour %s à %s",
- "command.tardis_refined.level.xp.add": "Ajout de %s XP pour %s, XP est maintenant %s",
+ "command.tardis_refined.export_desktop.success": "§aExportation réussie du bureau %s vers le pack de données %s ! Utilisez la commande %s pour voir les changements.",
+ "command.tardis_refined.level.point.add": "Ajout de %s points pour %s, le total des points est maintenant de %s",
+ "command.tardis_refined.level.point.get": "%s a %s points d'amélioration",
+ "command.tardis_refined.level.point.set": "Définir les points d'amélioration pour %s à %s",
+ "command.tardis_refined.level.xp.add": "Ajout de %s XP pour %s, l'XP totale est désormais %s",
"command.tardis_refined.level.xp.get": "%s a %s XP",
- "command.tardis_refined.level.xp.set": "Définir XP pour %s à %s",
+ "command.tardis_refined.level.xp.set": "Définir l'XP pour %s à %s",
"command.tardis_refined.no_internal_door": "§cAucune porte intérieure n'a été trouvée dans la dimension %s ! Utilisez la commande de téléportation %s pour entrer",
"command.tardis_refined.upgrade.lock": "Amélioration %s verrouillée pour %s",
"command.tardis_refined.upgrade.unlock": "Amélioration %s débloquée pour %s",
"config.tardis_refined.banned_dimensions": "Dimensions Interdites",
+ "config.tardis_refined.config_custom_shaders": "Utiliser des shaders personnalisés",
+ "config.tardis_refined.config_render_vortex_in_door": "Afficher le vortex dans la porte intérieure",
"config.tardis_refined.console_idle_animations": "Jouer les animations de la console inactive",
"config.tardis_refined.control_names": "Afficher le nom des contrôles ?",
"config.tardis_refined.immersive_portals": "Compatibilité avec Immersive Portal ?",
@@ -55,60 +57,85 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Levier de porte",
+ "control.tardis_refined.exterior_display": "Affichage extérieur",
"control.tardis_refined.fast_return": "Retour rapide",
"control.tardis_refined.fuel": "Carburant",
- "control.tardis_refined.generic_control": "Commuter",
+ "control.tardis_refined.generic_control": "Interrupteur",
"control.tardis_refined.hand_brake": "Frein à main",
"control.tardis_refined.increment": "Incrémenteur",
- "control.tardis_refined.monitor": "Banque numérique",
+ "control.tardis_refined.monitor": "Banque de données",
"control.tardis_refined.random": "Générateur aléatoire",
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Accélérateur",
- "death.attack.eye_of_harmony": "%s a été frit par le temps des vents.",
- "death.attack.eye_of_harmony.player": "%s a été frit par le temps des vents.",
+ "curios.identifier.timelord_sight": "Lunettes AR",
+ "death.attack.choke": "%s a été submergé par des vapeurs toxiques",
+ "death.attack.choke.player": "%s a été submergé par des vapeurs toxiques",
+ "death.attack.eye_of_harmony": "%s a été frit par les vents temporels.",
+ "death.attack.eye_of_harmony.player": "%s a été frit par les vents temporels.",
"entity.tardis_refined.console_control": "Contrôle générique",
- "item.tardis_refined.amethyst_screwdriver": "Tournevis améthyste",
+ "item.tardis_refined.amethyst_screwdriver": "Tournevis d'améthyste",
"item.tardis_refined.drill": "Perceuse",
"item.tardis_refined.glasses": "Lunettes AR",
"item.tardis_refined.keychain": "Porte-clés",
+ "item.tardis_refined.mallet": "Maillet",
"item.tardis_refined.pattern_manipulator": "Manipulateur de motif",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
+ "item.tardis_refined.raw_zeiton": "Zeiton brut",
"item.tardis_refined.tardis_key": "Clé du TARDIS",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.test_tube": "Tube de test",
+ "item.tardis_refined.zeiton_ingot": "Lingot de zeiton",
+ "item.tardis_refined.zeiton_nugget": "Pépite de zeiton",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Quitter la vue extérieure",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Vue extérieure) Afficher les infos",
"message.tardis_refined.ascend_key": "Ascension : %s",
"message.tardis_refined.astral_manipulator_engaged": "Veuillez faire votre sélection. Faites un clic droit à nouveau pour confirmer",
- "message.tardis_refined.cannot_start_no_fuel": "Pas assez de carburant pour commencer",
- "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Impossible de changer les consoles en vol",
- "message.tardis_refined.console_config_not_in_flight": "Impossible de mettre à jour le bloc console en vol",
- "message.tardis_refined.current": "ACTUELLE",
- "message.tardis_refined.descend_key": "Descendant : %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Pas assez de carburant pour démarrer le processus de reconfiguration",
+ "message.tardis_refined.cannot_start_no_fuel": "Pas assez de carburant pour démarrer",
+ "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Impossible de changer de console en vol",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rImpossible de changer la console de commandes en vol",
+ "message.tardis_refined.current": "ACTUEL",
+ "message.tardis_refined.demands_payment": "Demande un paiement",
+ "message.tardis_refined.descend_key": "Descente : %s",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rPas assez de carburant pour démarrer le processus de reconfiguration",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "%s ajouté à la banque de données",
+ "message.tardis_refined.dim_already_saved": "Contient déjà un échantillon",
+ "message.tardis_refined.dim_not_allowed": "Cette dimension ne peut être échantillonnée",
+ "message.tardis_refined.dim_potential": "%s échantillonné",
+ "message.tardis_refined.dimension": "Dimension : %s",
+ "message.tardis_refined.direction": "Direction : %s",
+ "message.tardis_refined.door_locked": "Porte verrouillée",
+ "message.tardis_refined.door_status": "Porte : %s",
+ "message.tardis_refined.door_unlocked": "Porte déverrouillée",
+ "message.tardis_refined.exit_external_view": "Quitter la vue extérieure : ",
"message.tardis_refined.exterior_cooldown": "Vous devez attendre %s seconde(s)",
- "message.tardis_refined.fuel": "Carburant : ",
- "message.tardis_refined.fuel_offline": "Carburant hors ligne",
+ "message.tardis_refined.fuel": "Carburant : %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel hors-service",
"message.tardis_refined.handbrake_disengaged": "Frein à main désengagé",
"message.tardis_refined.handbrake_engaged": "Frein à main engagé",
- "message.tardis_refined.handbrake_warning": "Le vaisseau est en vol. Clic gauche sur le frein à main pour l'engager",
- "message.tardis_refined.hardware_offline": "Matériel hors ligne",
+ "message.tardis_refined.handbrake_warning": "Le vaisseau est en vol. Clic gauche sur le frein à main pour le serrer",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rPas assez de puissance !",
"message.tardis_refined.key_bound": "Clé liée à %s",
"message.tardis_refined.key_cycled": "Principal : %s",
- "message.tardis_refined.landing_pad_transient": "Impossible d'invoquer TARDIS pour le moment",
- "message.tardis_refined.landing_pad_unlocked": "TARDIS spécifiée a rejeté le signal du palier d'atterrissage",
- "message.tardis_refined.no_end_dragon_prevents": "Un dragon vous empêche de progresser vers la fin",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rVous ne pouvez pas invoquer les TARDIS dans cette dimension !",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rImpossible d'invoquer des TARDIS pour le moment !",
+ "message.tardis_refined.landing_pad_unlocked": "§Le TARDIS spécifié a rejeté le signal de la plateforme d'atterrissage",
+ "message.tardis_refined.lock_status": "Verrouillé : %s",
+ "message.tardis_refined.no_end_dragon_prevents": "Un dragon vous empêche de progresser vers L'End",
"message.tardis_refined.no_flight_transitive": "Impossible de changer l'état du frein à main en vol transitoire",
- "message.tardis_refined.refuel_engaged": "Réapprovisionnement en carburant activé",
- "message.tardis_refined.refuel_stopped": "Réapprovisionnement en carburant interrompu",
- "message.tardis_refined.root_plant_cut_open": "Racines recouvrent l'entrée",
+ "message.tardis_refined.pilot_time": "Vous avez encore %s avec votre pilote. Profitez-en!",
+ "message.tardis_refined.position": "Position : %s",
+ "message.tardis_refined.recovery_progress": "Progression de la récupération : %s",
+ "message.tardis_refined.refuel_engaged": "Plein de carburant activé",
+ "message.tardis_refined.refuel_stopped": "Plein de carburant arrêté",
+ "message.tardis_refined.root_plant_cut_open": "Des racines recouvrent l'entrée",
"message.tardis_refined.selected": "Sélection : %s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS a été invoqué et est en route",
- "message.tardis_refined.tooltip_in_flight": "En vol",
- "message.tardis_refined.waypoint_loaded": "waypoint préchargé: %s",
- "monitor.waypoints.name.placeholder": "Nom du waypoint",
- "monitor.waypoints.new_waypoint": "Nouveau waypoint",
+ "message.tardis_refined.submit": "Valider",
+ "message.tardis_refined.tardis_on_the_way": "Le TARDIS a été invoqué et est en route",
+ "message.tardis_refined.tardis_sleep_end": "Les bourdonnements du vaisseau vous font vous retourner. Votre point d'apparition n'a pas été défini ici.",
+ "message.tardis_refined.waypoint_loaded": "Marqueur préchargé: %s",
+ "monitor.waypoints.name.placeholder": "Nom du marqueur",
+ "monitor.waypoints.new_waypoint": "Nouveau marqueur",
"monitor.waypoints.taken": "Données récupérées à partir des valeurs de destination",
"shell.tardis_refined.big_ben": "Big Ben",
"shell.tardis_refined.briefcase": "Mallette",
@@ -117,101 +144,157 @@
"shell.tardis_refined.factory": "Coque par défaut",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Croissance",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Cuit à moitié",
+ "shell.tardis_refined.hieroglyph": "Hiéroglyphe",
"shell.tardis_refined.lift": "Ascenseur",
- "shell.tardis_refined.mystic": "Cabine mystérieuse",
+ "shell.tardis_refined.mystic": "Mystique",
"shell.tardis_refined.nuka": "Distributeur de Nuka-Cola",
- "shell.tardis_refined.pagoda": "Pagoda",
+ "shell.tardis_refined.pagoda": "Pagode",
"shell.tardis_refined.pathfinder": "Éclaireur",
"shell.tardis_refined.phone_booth": "Cabine téléphonique rouge",
"shell.tardis_refined.police_box": "Cabine de police",
- "shell.tardis_refined.portaloo": "Toilette chimique",
+ "shell.tardis_refined.portaloo": "Toilette de chantier",
"shell.tardis_refined.present": "Cadeau",
+ "shell.tardis_refined.shulker": "Cuit à moitié",
"shell.tardis_refined.vending": "Distributeur automatique",
- "sound.ars_hum.subtitle": "Hume d'arbre ARS",
- "sound.artron_pillar_active.subtitle": "Pilier Artron activé",
+ "sound.alarm.subtitle": "Alarme",
+ "sound.ars_hum.subtitle": "Bourdonnement de l'arbre ARS",
+ "sound.artron_pillar_active.subtitle": "Pilier artron activé",
+ "sound.cloister_bell.subtitle": "Cloche de cloître",
"sound.console_power_on.subtitle": "Mise sous tension de la console",
- "sound.corridor_teleporter.subtitle": "Construction du téléporteur",
+ "sound.corridor_teleporter.subtitle": "Chargement du téléporteur",
"sound.corridor_teleporter_success.subtitle": "Téléporteur utilisé",
- "sound.destination_ding.subtitle": "TARDIS atteint la destination",
- "sound.flight_fail_start.subtitle": "Echouer le géant des TARDIS",
+ "sound.destination_ding.subtitle": "Le TARDIS atteint sa destination",
+ "sound.flight_fail_start.subtitle": "Grognements de TARDIS en dysfonctionnement",
"sound.gravity_tunnel.subtitle": "Vents du tunnel de gravité",
- "sound.interior_creaks.subtitle": "Crèmes",
+ "sound.hum_aviatrax.subtitle": "Bourdonnement du TARDIS",
+ "sound.hum_cave.subtitle": "Bourdonnement du TARDIS",
+ "sound.hum_classic.subtitle": "Bourdonnement du TARDIS",
+ "sound.hum_coral.subtitle": "Bourdonnement du TARDIS",
+ "sound.hum_toyota.subtitle": "Bourdonnement du TARDIS",
+ "sound.hum_victorian.subtitle": "Bourdonnement du TARDIS",
+ "sound.interior_creaks.subtitle": "Grincements",
"sound.interior_voice.subtitle": "...?",
- "sound.pattern_manipulator.subtitle": "Manipulateur de motifs activés",
- "sound.screwdriver_discard.subtitle": "Données de suppression du tournevis",
+ "sound.low_fuel.subtitle": "Avertissement carburant faible",
+ "sound.mallet.subtitle": "Coup de maillet",
+ "sound.pattern_manipulator.subtitle": "Le manipulateur de motifs s'active",
+ "sound.screwdriver_connect.subtitle": "Position du tournevis connecté",
+ "sound.screwdriver_discard.subtitle": "Le tournevis rejette les données",
"sound.screwdriver_short.subtitle": "Tournevis utilisé",
- "sound.static.subtitle": "Affichage statique de l'écran",
- "sound.tardis_crash_land.subtitle": "TARDIS tombe en panne",
- "sound.tardis_land.subtitle": "Terres des TARDIS",
- "sound.tardis_misc_sparkle.subtitle": "TARDIS arrivant",
- "sound.tardis_single_fly.subtitle": "Les TARDIS volent",
- "sound.tardis_takeoff.subtitle": "TARDIS décolle",
- "sound.time_blast.subtitle": "Délai de projection Vortex",
+ "sound.static.subtitle": "L'écran affiche de la neige",
+ "sound.tardis_crash_land.subtitle": "Le TARDIS atterrit d'urgence",
+ "sound.tardis_land.subtitle": "Le TARDIS atterrit",
+ "sound.tardis_misc_sparkle.subtitle": "Le TARDIS arrive",
+ "sound.tardis_single_fly.subtitle": "Le TARDIS vole",
+ "sound.tardis_takeoff.subtitle": "Le TARDIS décolle",
+ "sound.time_blast.subtitle": "Onde de choc du Vortex Temporel",
+ "tardis_refined.display_source.destination": "Destination GPS",
+ "tardis_refined.display_source.door": "État de la porte",
+ "tardis_refined.display_source.fuel": "Carburant",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "État du verrouillage",
+ "tardis_refined.display_source.tardis_bigdata": "Résumé du TARDIS",
"tooltip.tardis_refined.screwdriver_description": "Un manipulateur de fréquence améthyste",
- "tooltip.tardis_refined.tardis_list": "Porte-clés :",
- "ui.tardis_refined.desktop_selection": "CONFIGURATION DE BUREAU",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Clé Liée :§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aÉchantillon décodé : %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Échantillon sauvegardé : %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Aucun échantillonnage de dimension",
"ui.tardis_refined.monitor.cancel_desktop": "Souhaitez-vous annuler la reconfiguration programmée ?",
- "ui.tardis_refined.monitor.desktop": "CONFIGURATION DE BUREAU",
+ "ui.tardis_refined.monitor.desktop": "INTÉRIEUR",
"ui.tardis_refined.monitor.desktop_cancel": "Annuler la reconfiguration du bureau",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPÉRATION EN COURS",
- "ui.tardis_refined.monitor.desktop_cancel_description": "Les systèmes TARDIS ont été désactivés en raison d'une reconfiguration programmée du bureau.",
- "ui.tardis_refined.monitor.external_shell": "CONFIGURAITON DE LA COQUE EXTÉRIEURE",
+ "ui.tardis_refined.monitor.desktop_cancel_description": "Systèmes désactivés car une reconfiguration du bureau a été programmée.",
+ "ui.tardis_refined.monitor.external_shell": "CONFIGURATION DE LA COQUE",
"ui.tardis_refined.monitor.list.selection": "Actuellement sélectionné : &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "Emplacement",
- "ui.tardis_refined.monitor.main_title": "BANQUE NUMERIQUE",
- "ui.tardis_refined.monitor.no.waypoints": "Aucun waypoint enregistré !",
- "ui.tardis_refined.monitor.select.hum": "CAPTURE DU SOUNDSS",
- "ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
- "ui.tardis_refined.monitor.upload.waypoints": "NAVIGATION DE WAYPOINT",
- "ui.tardis_refined.monitor.waypoint_name": "Nom du waypoint :",
- "ui.tardis_refined.monitor.waypoints": "POINTS DE VÉRIFICATION",
- "ui.tardis_refined.monitor.waypoints.create": "Nouveau waypoint",
- "ui.tardis_refined.monitor.waypoints.delete": "Supprimer le waypoint",
- "ui.tardis_refined.monitor.waypoints.edit": "Modifier le waypoint",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
+ "ui.tardis_refined.monitor.main_title": "BANQUE DE DONNEES",
+ "ui.tardis_refined.monitor.no.waypoints": "Aucun marqueur enregistré !",
+ "ui.tardis_refined.monitor.select.eject": "ÉJECTION D'URGENCE",
+ "ui.tardis_refined.monitor.select.eject_fail": "Impossible de s'éjecter en vol",
+ "ui.tardis_refined.monitor.select.hum": "SON AMBIANT",
+ "ui.tardis_refined.monitor.shell_view": "VUE EXTÉRIEURE",
+ "ui.tardis_refined.monitor.upload.coords": "NAVIGATION AUX COORDONNÉES",
+ "ui.tardis_refined.monitor.upload.waypoints": "NAVIGATION AUX MARQUEURS",
+ "ui.tardis_refined.monitor.waypoint_name": "Nom du marqueur :",
+ "ui.tardis_refined.monitor.waypoints": "MARQUEURS",
+ "ui.tardis_refined.monitor.waypoints.create": "Nouveau marqueur",
+ "ui.tardis_refined.monitor.waypoints.delete": "Supprimer le marqueur",
+ "ui.tardis_refined.monitor.waypoints.edit": "Modifier le marqueur",
"ui.tardis_refined.monitor.waypoints.issues": "Problèmes :",
- "ui.tardis_refined.monitor.waypoints.issues.name": "Nom de waypoint invalide",
+ "ui.tardis_refined.monitor.waypoints.issues.name": "Nom de marqueur invalide",
"ui.tardis_refined.monitor.waypoints.issues.x": "Valeur X invalide",
"ui.tardis_refined.monitor.waypoints.issues.y": "Valeur Y invalide",
- "ui.tardis_refined.monitor.waypoints.issues.z": "Valeur Z non valide",
+ "ui.tardis_refined.monitor.waypoints.issues.z": "Valeur Z invalide",
"ui.tardis_refined.monitor.waypoints.load": "Envoyer vers la console",
- "ui.tardis_refined.monitor.waypoints.submit": "Soumettre",
"ui.tardis_refined.monitor.waypoints.upload": "Charger",
"ui.tardis_refined.no_installed_subsystems": "Aucun sous-système disponible",
- "ui.tardis_refined.shell_selection": "CONFIGURAITON DE LA COQUE EXTÉRIEURE",
- "ui.tardis_refined.upgrades": "Améliorations de Tardis",
- "ui.tardis_refined.upgrades.buy_ability": "Acheter la mise à niveau?",
+ "ui.tardis_refined.upgrades": "Améliorations du Tardis",
+ "ui.tardis_refined.upgrades.buy_ability": "Acheter l'amélioration ?",
+ "ui.tardis_refined.villager_can_pilot": "Peut piloter ?",
"upgrade.tardis_refined.architecture_system": "Architecture",
- "upgrade.tardis_refined.architecture_system.description": "Active les mises à jour d'architecture TARDIS",
- "upgrade.tardis_refined.chameleon_circuit_system": "Circuit de Caméléon",
+ "upgrade.tardis_refined.architecture_system.description": "Active les améliorations d'architecture du TARDIS",
+ "upgrade.tardis_refined.chameleon_circuit_system": "Circuit Caméléon",
"upgrade.tardis_refined.chameleon_circuit_system.description": "Permet aux TARDIS de changer de forme",
"upgrade.tardis_refined.defense_system": "Système de défense",
"upgrade.tardis_refined.defense_system.description": "Active les Protocoles de Défense",
"upgrade.tardis_refined.dimension_travel": "Voyage interdimensionnel",
- "upgrade.tardis_refined.dimension_travel.description": "Permet aux TARDIS de se déplacer entre les dimensions",
+ "upgrade.tardis_refined.dimension_travel.description": "Permet au TARDIS de se déplacer entre les dimensions",
"upgrade.tardis_refined.explorer": "Explorateur I",
- "upgrade.tardis_refined.explorer.description": "Incrément x1000",
+ "upgrade.tardis_refined.explorer.description": "Incrémentation x1000",
"upgrade.tardis_refined.explorer_ii": "Explorateur II",
- "upgrade.tardis_refined.explorer_ii.description": "Incrément x2500",
+ "upgrade.tardis_refined.explorer_ii.description": "Incrémentation x2500",
"upgrade.tardis_refined.explorer_iii": "Explorateur III",
- "upgrade.tardis_refined.explorer_iii.description": "Incrément x5000",
+ "upgrade.tardis_refined.explorer_iii.description": "Incrémentation x5000",
+ "upgrade.tardis_refined.flight_system": "Système de vol",
+ "upgrade.tardis_refined.flight_system.description": "Donne accès aux améliorations des systèmes de vol",
"upgrade.tardis_refined.improved_generation_time_i": "Génération améliorée I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Diminue le temps d'attente du bureau à 120 secondes",
- "upgrade.tardis_refined.improved_generation_time_ii": "Amélioration de la production II",
+ "upgrade.tardis_refined.improved_generation_time_ii": "Amélioration de la génération II",
"upgrade.tardis_refined.improved_generation_time_ii.description": "Diminue le temps d'attente du bureau à 60 secondes",
- "upgrade.tardis_refined.improved_generation_time_iii": "Amélioration de la production III",
- "upgrade.tardis_refined.improved_generation_time_iii.description": "Diminue le temps d'attente du bureau à 10 secondes",
+ "upgrade.tardis_refined.improved_generation_time_iii": "Amélioration de la génération III",
+ "upgrade.tardis_refined.improved_generation_time_iii.description": "Diminue le temps d'attente de la reconfiguration à 10 secondes",
"upgrade.tardis_refined.inside_architecture": "Reconfiguration du bureau",
- "upgrade.tardis_refined.inside_architecture.description": "Permet au pilote de changer l'apparence du bureau TARDIS",
- "upgrade.tardis_refined.landing_pad": "Plaque d'atterrissage",
- "upgrade.tardis_refined.landing_pad.description": "Permet d'invoquer les TARDIS sur un pad d'atterrissage",
- "upgrade.tardis_refined.materialize_around": "Matérialiser autour",
- "upgrade.tardis_refined.materialize_around.description": "Permet aux TARDIS d'avoir des entités à entrer lors de la matéralisation",
+ "upgrade.tardis_refined.inside_architecture.description": "Permet au pilote de changer l'apparence de l'intérieur du TARDIS",
+ "upgrade.tardis_refined.landing_pad": "Plateforme d'atterrissage",
+ "upgrade.tardis_refined.landing_pad.description": "Permet d'invoquer le TARDIS sur une plateforme d'atterrissage",
+ "upgrade.tardis_refined.materialize_around": "Se matérialiser autour",
+ "upgrade.tardis_refined.materialize_around.description": "Permet aux entités d'entrer dans le TARDIS lors de la matérialisation",
"upgrade.tardis_refined.navigation_system": "Système de navigation",
- "upgrade.tardis_refined.navigation_system.description": "Permet de passer au système de navigation TARDIS",
+ "upgrade.tardis_refined.navigation_system.description": "Permet les améliorations du système de navigation du TARDIS",
+ "upgrade.tardis_refined.speed_i": "Vitesse I",
+ "upgrade.tardis_refined.speed_i.description": "La vitesse de vol est 5x plus rapide",
+ "upgrade.tardis_refined.speed_ii": "Vitesse II",
+ "upgrade.tardis_refined.speed_ii.description": "La vitesse de vol est 10x plus rapide",
+ "upgrade.tardis_refined.speed_iii": "Vitesse III",
+ "upgrade.tardis_refined.speed_iii.description": "La vitesse de vol est 25x plus rapide",
+ "upgrade.tardis_refined.speed_iv": "Vitesse IV",
+ "upgrade.tardis_refined.speed_iv.description": "La vitesse de vol est 50x plus rapide",
"upgrade.tardis_refined.tardis_xp": "Améliorations du système",
- "upgrade.tardis_refined.tardis_xp.description": "Permet des mises à niveau vers les TARDIS",
- "upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Permet au pilote de créer des emplacements enregistrés"
+ "upgrade.tardis_refined.tardis_xp.description": "Permet améliorations du TARDIS",
+ "upgrade.tardis_refined.waypoints": "Marqueurs",
+ "upgrade.tardis_refined.waypoints.description": "Permet au pilote de créer des emplacements enregistrés",
+ "vortex.tardis_refined.agender_flag": "Drapeau non genré",
+ "vortex.tardis_refined.aurora_dreams": "Rêves auroraux",
+ "vortex.tardis_refined.bisexual_flag": "Drapeau bisexuel",
+ "vortex.tardis_refined.candy_pop": "Bonbons Pop",
+ "vortex.tardis_refined.clouds": "Nuages",
+ "vortex.tardis_refined.crystal_lagoon": "Lagune de cristal",
+ "vortex.tardis_refined.desert_mirage": "Mirage désertique",
+ "vortex.tardis_refined.emerald_forest": "Forêt émeraude",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Drapeau gay",
+ "vortex.tardis_refined.lesbian_flag": "Drapeau lesbien",
+ "vortex.tardis_refined.lgbt_rainbow": "Drapeau LGBT",
+ "vortex.tardis_refined.neon_pulse": "Pulsation néon",
+ "vortex.tardis_refined.non_binary_flag": "Drapeau non binaire",
+ "vortex.tardis_refined.ocean_breeze": "Brise océanique",
+ "vortex.tardis_refined.solar_flare": "Éruption solaire",
+ "vortex.tardis_refined.space": "Espace",
+ "vortex.tardis_refined.stars": "Étoiles",
+ "vortex.tardis_refined.transgender_flag": "Drapeau transgenre",
+ "vortex.tardis_refined.twilight_glow": "Lueur crépusculaire",
+ "vortex.tardis_refined.velvet_night": "Nuit veloutée",
+ "vortex.tardis_refined.waves": "Vagues"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/fy_nl.json b/common/src/main/resources/assets/tardis_refined/lang/fy_nl.json
index 8670a2d0..aca3f89f 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/fy_nl.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/fy_nl.json
@@ -3,16 +3,16 @@
"argument.tardis_refined.shell.invalid": "Unjildige skelp mei ID %s",
"argument.tardis_refined.upgrade.invalid": "Unjildige fernijing mei ID %s",
"block.tardis_refined.air_lock_generator": "Loftslûsgenerator",
- "block.tardis_refined.ars_egg": "ARS-aai",
- "block.tardis_refined.ars_leaves": "ARS-blêden",
- "block.tardis_refined.ars_leaves_fence": "ARS-stek",
- "block.tardis_refined.ars_leaves_slab": "ARS-plaat",
+ "block.tardis_refined.ars_egg": "BFS-aai",
+ "block.tardis_refined.ars_leaves": "BFS-blêden",
+ "block.tardis_refined.ars_leaves_fence": "BFS-stek",
+ "block.tardis_refined.ars_leaves_slab": "BFS-plaat",
"block.tardis_refined.artron_pillar": "Artronpylder",
"block.tardis_refined.artron_pillar_port": "Artronpylder mei poarte",
"block.tardis_refined.astral_manipulator": "Omfoarmingstafel",
"block.tardis_refined.bulk_head_door": "Sketdoar",
- "block.tardis_refined.console_configuration": "Betsjinningspanielskonfigurator",
- "block.tardis_refined.corridor_teleporter": "Corridor Teleporter",
+ "block.tardis_refined.console_configuration": "Betsjinningspanielsbewurker",
+ "block.tardis_refined.corridor_teleporter": "Teleporterplak",
"block.tardis_refined.deepslate_zeiton_ore": "Laaistienzeitonerts",
"block.tardis_refined.flight_detector": "Reissensor",
"block.tardis_refined.fools_stone": "Kletterstien",
@@ -26,192 +26,275 @@
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terrafoarmer",
"block.tardis_refined.zeiton_block": "Zeitonblok",
- "block.tardis_refined.zeiton_fused_copper_block": "Zeiton Fused Copper Block",
- "block.tardis_refined.zeiton_fused_iron_block": "Zeiton Fused Iron Block",
+ "block.tardis_refined.zeiton_fused_copper_block": "Koperblok mei in zeitonraam",
+ "block.tardis_refined.zeiton_fused_iron_block": "Izerblok mei in zeitonraam",
"block.tardis_refined.zeiton_lantern": "Zeitonlantearne",
"block.tardis_refined.zeiton_ore": "Zeitonerts",
- "command.tardis_refined.create.in_progress": "Attempting to create Tardis %s, generation in progress",
- "command.tardis_refined.create.success": "Successfully created Tardis with id %s",
+ "command.tardis_refined.create.in_progress": "Probearjend om TARDIS te meitsjen mei ID %s. Wachtsje asjebleaft...",
+ "command.tardis_refined.create.success": "TARDIS %s mei sukses makke",
"command.tardis_refined.dim_not_a_tardis": "§c%s is net in TARDIS-diminsje!",
"command.tardis_refined.export_desktop.fail": "§cEksportearjen fan %s kontrôlekeamer mislearre",
"command.tardis_refined.export_desktop.in_progress": "It metsjen fan in datapakket foar de/it %s kontrôlekeamer. Dit kin tiid duorje ôfhinklik fan 'e grutte fan 'e konstruksje...",
"command.tardis_refined.export_desktop.resource_pack": "§9Om de foarbyldôfbylding fan 'e kontrôlekeamer te kiezen, meitsje asjebleaft in boarnepakket. Sjoch wat foarbylden op %s",
"command.tardis_refined.export_desktop.success": "§aDe %s-kontrôlekeamer is mei súkses eksportearre nei it datapakket %s! Brûk de opdracht %s om freoarings te sjen.",
- "command.tardis_refined.level.point.add": "Added %s points for %s, total points are now %s",
- "command.tardis_refined.level.point.get": "%s has %s upgrade points",
- "command.tardis_refined.level.point.set": "Set upgrade points for %s to %s",
- "command.tardis_refined.level.xp.add": "Added %s XP for %s, total XP is now %s",
- "command.tardis_refined.level.xp.get": "%s has %s XP",
- "command.tardis_refined.level.xp.set": "Set XP for %s to %s",
+ "command.tardis_refined.level.point.add": "%s fernijingspunt(en) oan %s foar in totaal fan %s jûn",
+ "command.tardis_refined.level.point.get": "%s hat %s fernijingspunt(en)",
+ "command.tardis_refined.level.point.set": "%2$s hat no %1$s fernijingspunt(en)",
+ "command.tardis_refined.level.xp.add": "%s ûnderfiningspunt(en) oan %s foar in totaal fan %s jûn",
+ "command.tardis_refined.level.xp.get": "%s hat %s ûnderfiningspunten",
+ "command.tardis_refined.level.xp.set": "%2$s hat no %1$s ûnderfiningsnivo('s)",
"command.tardis_refined.no_internal_door": "§cGjin binnendoar waard fûn yn 'e diminsje %s! Besykje it teleport opdracht %s te brûken om yn te kommen",
- "command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
- "command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
+ "command.tardis_refined.upgrade.lock": "De fernijing fan %s beskoattele foar %s",
+ "command.tardis_refined.upgrade.unlock": "De fernijing fan %s frijspile foar %s",
"config.tardis_refined.banned_dimensions": "Ferbeane diminsjes",
- "config.tardis_refined.console_idle_animations": "Play idle console animations",
- "config.tardis_refined.control_names": "Render control names?",
- "config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
+ "config.tardis_refined.console_idle_animations": "Animaasjes foar ynaktive betsjinningspanielen spylje",
+ "config.tardis_refined.control_names": "De nammen fan kontrôles toane?",
+ "config.tardis_refined.immersive_portals": "Kompatibiliteit mei Immersive Portals ynskeakelje?",
"control.tardis_refined.cord_x": "X",
"control.tardis_refined.cord_y": "Y",
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Diminsjewikseler",
"control.tardis_refined.door_toggle": "Doarknop",
+ "control.tardis_refined.exterior_display": "Utwindiche werjefte",
"control.tardis_refined.fast_return": "Fluch weromkear",
"control.tardis_refined.fuel": "Brânstof",
- "control.tardis_refined.generic_control": "Knop",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Hânrem",
- "control.tardis_refined.increment": "Koördinatetanimmingsknop",
+ "control.tardis_refined.increment": "Koördinateferhegingsknop",
"control.tardis_refined.monitor": "Kompjûter",
"control.tardis_refined.random": "Samar wat koördinaten",
"control.tardis_refined.read_out": "Lokaasje",
"control.tardis_refined.rotate": "Rjochtingswikseler",
"control.tardis_refined.throttle": "Fersneller",
- "death.attack.eye_of_harmony": "%s was fried by time winds.",
- "death.attack.eye_of_harmony.player": "%s was fried by time winds.",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
+ "death.attack.eye_of_harmony": "%s waard atomisearre troch tiidwinen",
+ "death.attack.eye_of_harmony.player": "%s waard atomisearre troch tiidwinen",
"entity.tardis_refined.console_control": "Betsjinningselemint",
"item.tardis_refined.amethyst_screwdriver": "Ametistskroevedraaier",
"item.tardis_refined.drill": "Boarmasine",
"item.tardis_refined.glasses": "AR-bril",
"item.tardis_refined.keychain": "Kaairing",
+ "item.tardis_refined.mallet": "Hammer",
"item.tardis_refined.pattern_manipulator": "Foarmbewurker",
"item.tardis_refined.raw_zeiton": "Rûch zeiton",
"item.tardis_refined.tardis_key": "TARDIS-kaai",
+ "item.tardis_refined.test_tube": "Reagearbuiske",
"item.tardis_refined.zeiton_ingot": "Zeitonstêf",
"item.tardis_refined.zeiton_nugget": "Zeitonklompke",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Utwindiche werjefte ferlitte",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Utwindiche werjefte) Ynformaasje werjaan",
"message.tardis_refined.ascend_key": "Stige: %s",
- "message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
- "message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
- "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
- "message.tardis_refined.current": "CURRENT",
- "message.tardis_refined.descend_key": "Ôfdale: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
- "message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.astral_manipulator_engaged": "Meitsje in seleksjie. Rjochtsklikke nochris om te befêstigjen",
+ "message.tardis_refined.cannot_start_no_fuel": "Net genôch brânstof om te begjinnen",
+ "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kin it betsjinningspaniel net feroarje wylst yn 'e flecht",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
+ "message.tardis_refined.current": "AKTUEEL",
+ "message.tardis_refined.demands_payment": "Betelling easket",
+ "message.tardis_refined.descend_key": "Dale: %s",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
+ "message.tardis_refined.destination": "BESTIMMING",
+ "message.tardis_refined.dim_added_to_tardis": "%s oan de kennisbank tafoege",
+ "message.tardis_refined.dim_already_saved": "Al in meunster befettet",
+ "message.tardis_refined.dim_not_allowed": "Dizze diminsje kin net meunstere wurden",
+ "message.tardis_refined.dim_potential": "%s meunstere",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Doar beskoattele",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Doar untskoattele",
+ "message.tardis_refined.exit_external_view": "Utwindiche werjefte ferlitte: ",
"message.tardis_refined.exterior_cooldown": "Do moatte %s sekonde(n) wachtsje",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
- "message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
- "message.tardis_refined.handbrake_engaged": "Handbrake engaged",
- "message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.fuel": "Brânstof: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
+ "message.tardis_refined.handbrake_disengaged": "Hânrem losmakke",
+ "message.tardis_refined.handbrake_engaged": "Hânrem ynskeakele",
+ "message.tardis_refined.handbrake_warning": "It skip is op reis. Linkerklikke op de hânrem om yn te skeakeljen",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Kaai is bûn oan %s",
"message.tardis_refined.key_cycled": "Haad-TARDIS: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
- "message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
+ "message.tardis_refined.no_end_dragon_prevents": "In draak foarkomt dat do nei it Ein reizgje",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
- "message.tardis_refined.refuel_engaged": "Enabled refuelling",
- "message.tardis_refined.refuel_stopped": "Stopped refuelling",
- "message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
+ "message.tardis_refined.refuel_engaged": "Begûn te tanken",
+ "message.tardis_refined.refuel_stopped": "Ophâlden mei tanken",
+ "message.tardis_refined.root_plant_cut_open": "Woartels bedekke de yngong",
"message.tardis_refined.selected": "Selektearre: %s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
- "message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
- "monitor.waypoints.name.placeholder": "Waypoint name",
- "monitor.waypoints.new_waypoint": "New Waypoint",
- "monitor.waypoints.taken": "Data retrieved from destination values",
+ "message.tardis_refined.submit": "Tsjinje",
+ "message.tardis_refined.tardis_on_the_way": "De TARDIS is ûnderweis",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
+ "message.tardis_refined.waypoint_loaded": "Foarladen weipunt: %s",
+ "monitor.waypoints.name.placeholder": "Weipuntnamme",
+ "monitor.waypoints.new_waypoint": "Nij weipunt",
+ "monitor.waypoints.taken": "Bestimmingswearden binnenhelle",
"shell.tardis_refined.big_ben": "Big Ben",
"shell.tardis_refined.briefcase": "Aktetas",
- "shell.tardis_refined.castle": "Castle",
+ "shell.tardis_refined.castle": "Kastiel",
"shell.tardis_refined.drifter": "Swerverhutte",
"shell.tardis_refined.factory": "Standertskelp",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Koraalgroei",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Ald Egyptysk prealgrêf",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Alfe hokje",
"shell.tardis_refined.nuka": "Nuka-Cola-automaat",
"shell.tardis_refined.pagoda": "Pagoade",
- "shell.tardis_refined.pathfinder": "Pathfinder",
+ "shell.tardis_refined.pathfinder": "Paadfiner",
"shell.tardis_refined.phone_booth": "Reade telefoanhokje",
"shell.tardis_refined.police_box": "Plysjehokje",
"shell.tardis_refined.portaloo": "Mobyl húske",
"shell.tardis_refined.present": "Jefte",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Automaat",
- "sound.ars_hum.subtitle": "ARS Tree Hum",
- "sound.artron_pillar_active.subtitle": "Artron pillar activated",
- "sound.console_power_on.subtitle": "Console power on",
- "sound.corridor_teleporter.subtitle": "Teleporter building up",
- "sound.corridor_teleporter_success.subtitle": "Teleporter used",
- "sound.destination_ding.subtitle": "TARDIS reaches destination",
- "sound.flight_fail_start.subtitle": "Failing TARDIS groans",
- "sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
- "sound.interior_creaks.subtitle": "Creaks",
+ "sound.alarm.subtitle": "Alarm",
+ "sound.ars_hum.subtitle": "BFS-beam gûnzet",
+ "sound.artron_pillar_active.subtitle": "Artronpylder aktivearret",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
+ "sound.console_power_on.subtitle": "Betsjinningspaniel aktivearret",
+ "sound.corridor_teleporter.subtitle": "Teleporterplak laadt op",
+ "sound.corridor_teleporter_success.subtitle": "Teleporterplak wurdt brûkt",
+ "sound.destination_ding.subtitle": "TARDIS komt oan",
+ "sound.flight_fail_start.subtitle": "Ferstjerrende TARDIS grommet",
+ "sound.gravity_tunnel.subtitle": "Swiertekrêftstunnelwinen waait",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
+ "sound.interior_creaks.subtitle": "Kreaket",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Foarmbewurker aktivearret",
- "sound.screwdriver_discard.subtitle": "Screwdriver discard data",
- "sound.screwdriver_short.subtitle": "Screwdriver used",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
+ "sound.screwdriver_discard.subtitle": "Ametistskroevedraaier data smyt fuort",
+ "sound.screwdriver_short.subtitle": "Ametistskroevedraaier brûkt",
"sound.static.subtitle": "Byldskerm knetteret",
"sound.tardis_crash_land.subtitle": "TARDIS ferûngelokket",
"sound.tardis_land.subtitle": "TARDIS materialisearret",
"sound.tardis_misc_sparkle.subtitle": "TARDIS komt oan",
"sound.tardis_single_fly.subtitle": "TARDIS reizget",
"sound.tardis_takeoff.subtitle": "TARDIS dematerialisearret",
- "sound.time_blast.subtitle": "Time Vortex blast",
+ "sound.time_blast.subtitle": "Tiidkolksûntploffing",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "In ametistfrekwinsjesbeynfloeder",
- "tooltip.tardis_refined.tardis_list": "Kaairing:",
- "ui.tardis_refined.desktop_selection": "KONTRÔLEKEAMERYNSTELLINGEN",
- "ui.tardis_refined.monitor.cancel_desktop": "Wolsto de plande werbou fan 'e kontrôlekeamer annulearje?",
- "ui.tardis_refined.monitor.desktop": "KONTRÔLEKEAMERYNSTELLINGEN",
- "ui.tardis_refined.monitor.desktop_cancel": "Annulearje kontrôlekeamerwerbou",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
+ "ui.tardis_refined.monitor.cancel_desktop": "Wolsto de plande ferbouwing fan 'e kontrôlekeamer annulearje?",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
+ "ui.tardis_refined.monitor.desktop_cancel": "Kontrôlekeamerferbouwing annulearje",
"ui.tardis_refined.monitor.desktop_cancel.title": "IN TAAK IS OAN 'E GONG",
- "ui.tardis_refined.monitor.desktop_cancel_description": "De systemen fan 'e TARDIS binne útskeakele fanwegen in oankommende werbou fan kontrôlekeamer.",
- "ui.tardis_refined.monitor.external_shell": "SKELPYNSTELLINGEN",
+ "ui.tardis_refined.monitor.desktop_cancel_description": "De systemen fan 'e TARDIS binne útskeakele fanwegen in oankommende ferbouwing fan 'e kontrôlekeamer.",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Selektearre: &s",
"ui.tardis_refined.monitor.main.destination": "Bestimming",
"ui.tardis_refined.monitor.main.gps": "Lokaasje",
- "ui.tardis_refined.monitor.main_title": "KOMPJÛTER",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
+ "ui.tardis_refined.monitor.main_title": "KOMPJUTER",
"ui.tardis_refined.monitor.no.waypoints": "Der binne gjin bewarre weipunten!",
- "ui.tardis_refined.monitor.select.hum": "LÛDBYLD",
- "ui.tardis_refined.monitor.upload.coords": "KOÖRDINATENAVIGAASJE",
- "ui.tardis_refined.monitor.upload.waypoints": "WEIPUNTSNAVIGAASJE",
- "ui.tardis_refined.monitor.waypoint_name": "Weipuntsnamme:",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
+ "ui.tardis_refined.monitor.select.hum": "LUDBYLD",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
+ "ui.tardis_refined.monitor.upload.coords": "KOORDINATENAVIGAASJE",
+ "ui.tardis_refined.monitor.upload.waypoints": "WEIPUNTNAVIGAASJE",
+ "ui.tardis_refined.monitor.waypoint_name": "Weipuntnamme:",
"ui.tardis_refined.monitor.waypoints": "WEIPUNTEN",
- "ui.tardis_refined.monitor.waypoints.create": "New waypoint",
- "ui.tardis_refined.monitor.waypoints.delete": "Delete waypoint",
- "ui.tardis_refined.monitor.waypoints.edit": "Edit waypoint",
- "ui.tardis_refined.monitor.waypoints.issues": "Issues:",
- "ui.tardis_refined.monitor.waypoints.issues.name": "Invalid waypoint name",
- "ui.tardis_refined.monitor.waypoints.issues.x": "Invalid X value",
- "ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
- "ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
- "ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
- "ui.tardis_refined.monitor.waypoints.upload": "Upload",
- "ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "SKELPYNSTELLINGEN",
- "ui.tardis_refined.upgrades": "Tardis Upgrades",
- "ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
- "upgrade.tardis_refined.architecture_system": "Architecture",
+ "ui.tardis_refined.monitor.waypoints.create": "Nij weipunt",
+ "ui.tardis_refined.monitor.waypoints.delete": "Weipunt fuortsmite",
+ "ui.tardis_refined.monitor.waypoints.edit": "Weipunt bewurkje",
+ "ui.tardis_refined.monitor.waypoints.issues": "Problemen:",
+ "ui.tardis_refined.monitor.waypoints.issues.name": "Unjildige weipuntnamme",
+ "ui.tardis_refined.monitor.waypoints.issues.x": "Unjildige X-wearde",
+ "ui.tardis_refined.monitor.waypoints.issues.y": "Unjildige Y-wearde",
+ "ui.tardis_refined.monitor.waypoints.issues.z": "Unjildige Z-wearde",
+ "ui.tardis_refined.monitor.waypoints.load": "Nei betsjinningspaniel ferstjoere",
+ "ui.tardis_refined.monitor.waypoints.upload": "Oplade",
+ "ui.tardis_refined.no_installed_subsystems": "Gjin beskikbere ûndersystemen",
+ "ui.tardis_refined.upgrades": "TARDIS-fernijingen",
+ "ui.tardis_refined.upgrades.buy_ability": "Fernijing keapje?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
+ "upgrade.tardis_refined.architecture_system": "Boukeunst",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
- "upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
+ "upgrade.tardis_refined.chameleon_circuit_system": "Kameleonstreamkring",
"upgrade.tardis_refined.chameleon_circuit_system.description": "Allows the TARDIS to change it's shape",
- "upgrade.tardis_refined.defense_system": "Defense System",
+ "upgrade.tardis_refined.defense_system": "Ferdedigingssysteem",
"upgrade.tardis_refined.defense_system.description": "Enables Defense Protocols",
- "upgrade.tardis_refined.dimension_travel": "Inter-Dimensional Travel",
+ "upgrade.tardis_refined.dimension_travel": "Ynterdiminsjonale reis",
"upgrade.tardis_refined.dimension_travel.description": "Allows the TARDIS to move between dimensions",
- "upgrade.tardis_refined.explorer": "Explorer I",
- "upgrade.tardis_refined.explorer.description": "x1000 Increment",
- "upgrade.tardis_refined.explorer_ii": "Explorer II",
- "upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
- "upgrade.tardis_refined.explorer_iii": "Explorer III",
- "upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
- "upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
+ "upgrade.tardis_refined.explorer": "Ferkenner I",
+ "upgrade.tardis_refined.explorer.description": "×1.000 ferheging",
+ "upgrade.tardis_refined.explorer_ii": "Ferkenner II",
+ "upgrade.tardis_refined.explorer_ii.description": "×2.500 ferheging",
+ "upgrade.tardis_refined.explorer_iii": "Ferkenner III",
+ "upgrade.tardis_refined.explorer_iii.description": "×5.000 ferheging",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
+ "upgrade.tardis_refined.improved_generation_time_i": "Ferbettere generaasje I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
- "upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
+ "upgrade.tardis_refined.improved_generation_time_ii": "Ferbettere generaasje II",
"upgrade.tardis_refined.improved_generation_time_ii.description": "Lowers desktop wait times to 60 seconds",
- "upgrade.tardis_refined.improved_generation_time_iii": "Improved Generation III",
+ "upgrade.tardis_refined.improved_generation_time_iii": "Ferbettere generaasje III",
"upgrade.tardis_refined.improved_generation_time_iii.description": "Lowers desktop wait times to 10 seconds",
- "upgrade.tardis_refined.inside_architecture": "Desktop Reconfiguration",
+ "upgrade.tardis_refined.inside_architecture": "Kontrôlekeamerferbouwing",
"upgrade.tardis_refined.inside_architecture.description": "Allows the Pilot to change the appearance of the TARDIS Desktop",
- "upgrade.tardis_refined.landing_pad": "Landing Pad",
+ "upgrade.tardis_refined.landing_pad": "Lâningsplak",
"upgrade.tardis_refined.landing_pad.description": "Allows the TARDIS to be summoned to a landing pad",
"upgrade.tardis_refined.materialize_around": "Materialize Around",
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
- "upgrade.tardis_refined.navigation_system": "Navigation System",
+ "upgrade.tardis_refined.navigation_system": "Navigaasjesysteem",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
- "upgrade.tardis_refined.tardis_xp": "System Upgrades",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
+ "upgrade.tardis_refined.tardis_xp": "Systeemfernijingen",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Weipunten",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/ga_ie.json b/common/src/main/resources/assets/tardis_refined/lang/ga_ie.json
index af478ccf..a0ea69ee 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/ga_ie.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/ga_ie.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Diminsin Coiscthe",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Seinn beochan le haghaidh bhord rialúcháin díomhaoin?",
"config.tardis_refined.control_names": "Léirigh ainmneacha rialtán?",
"config.tardis_refined.immersive_portals": "Cumasaigh comhoiriúnacht le Immersive Portals?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Rialtán Diminsin",
"control.tardis_refined.door_toggle": "Cnaipe Dorais",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Cnaipe Filleadh Gasta",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Rialtán Treo",
"control.tardis_refined.throttle": "Scóig",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Rialtán",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Druilire",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Fáinne Eochracha",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Athróir Dearaidh",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Eochair TARDIS",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Caithfidh tú fanacht %s soicind",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Tá eochair nasctha le %s",
"message.tardis_refined.key_cycled": "TARDIS príomha: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Roghnaithe: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Blaosc Réamhshocraithe",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Fáis Choiréil",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Ula Ársa Éigipteach",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Blaosc Mhistiúil",
"shell.tardis_refined.nuka": "Meaisín Díola Nuka-Cola",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Bosca Póilíní",
"shell.tardis_refined.portaloo": "Leithreas Iniompartha",
"shell.tardis_refined.present": "Bosca Féirín",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Meaisín Díola",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Tosaíonn athróir dearaidh ag obair",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Scáileán ag cnagarnach",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "Taistealaíonn TARDIS",
"sound.tardis_takeoff.subtitle": "Imíonn TARDIS",
"sound.time_blast.subtitle": "Pléasc chuilithe spáis-ama",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Fáinne Eochracha:",
- "ui.tardis_refined.desktop_selection": "CUMRAÍOCHT SEOMRA RIALÚCHÁIN",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Ar mhaith leat an t-athchumraíocht seomra rialúcháin atá le teacht a chealú?",
- "ui.tardis_refined.monitor.desktop": "CUMRAÍOCHT SEOMRA RIALÚCHÁIN",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cealaigh Athchumraíocht an tSeomra Rialúcháin",
"ui.tardis_refined.monitor.desktop_cancel.title": "OIBRÍOCHT AR SIÚL",
"ui.tardis_refined.monitor.desktop_cancel_description": "Díchumasaíodh córais TARDIS mar gheall ar athchumraíocht sceidealaithe an tseomra rialúcháin",
- "ui.tardis_refined.monitor.external_shell": "CUMRAÍOCHT BLAOISCE",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Roghnaithe: &s",
"ui.tardis_refined.monitor.main.destination": "Ceann Scríbe",
"ui.tardis_refined.monitor.main.gps": "Suíomh",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "TEIRMINÉAL RÍOMHAIRE",
"ui.tardis_refined.monitor.no.waypoints": "Níl aon treoirphointí sábháilte!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "STIÚRADH COMHORDANÁIDE",
"ui.tardis_refined.monitor.upload.waypoints": "STIÚRADH TREOIRPHOINTE",
"ui.tardis_refined.monitor.waypoint_name": "Ainm Treoirphointe:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "CUMRAÍOCHT BLAOISCE",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/gd_gb.json b/common/src/main/resources/assets/tardis_refined/lang/gd_gb.json
index 5c126255..ce2667e2 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/gd_gb.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/gd_gb.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Dimeansan thoirmean",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Cluich beòthachaidhean airson bùird-smachd mì-ghnìomhaich?",
"config.tardis_refined.control_names": "Reandaraich ainmean smachd?",
"config.tardis_refined.immersive_portals": "Thoir comas do cho-chòrdalachd Immersive Portals?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Róghnaichear dimeinsein",
"control.tardis_refined.door_toggle": "Putan dorais",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Putan tilleadh luath",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Putan àirde",
"control.tardis_refined.throttle": "Tachdadair",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Smachd",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Drile",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Dul-iuchrach",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Atharraiche-pàtrain",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Iuchair TARDIS",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Feumaidh tu feitheamh airson %s dioga(n)",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Tha iuchair ceangailte ri %s",
"message.tardis_refined.key_cycled": "Prìomh TARDIS: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Thaghadh: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Slige bunaiteach",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Cinntinn-coireil",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Taigh-adhlacaidh àrsaidh Èipheiteach",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Bùthan rùnach",
"shell.tardis_refined.nuka": "Inneal-reic Nuka-Cola",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Bogsa a' phoileis",
"shell.tardis_refined.portaloo": "Taigh-beag so-ghiùlan",
"shell.tardis_refined.present": "Tìodhlac",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Inneal-reic",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Tha an t-atharraiche-pàtrain 'ga gnìomhachadh",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Tha an sgrìn a' dèanamh fuaim air",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "Tha an TARDIS a' siubhal",
"sound.tardis_takeoff.subtitle": "Tha TARDIS a' dol à sealladh",
"sound.time_blast.subtitle": "Spreadhadh cuairt-shlugain-ama",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Dul-iuchrach:",
- "ui.tardis_refined.desktop_selection": "ATH-DHEALBHADH SÈOMAIR-STIÙIRIDH",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "A bheil thu airson ath-dhealbhadh an t-seòmair-stiùiridh a tha a' tighinn a chur dheth?",
- "ui.tardis_refined.monitor.desktop": "ATH-DHEALBHADH SÈOMAIR-STIÙIRIDH",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cuir dheth an ath-dhealbhadh",
"ui.tardis_refined.monitor.desktop_cancel.title": "THA OBAIR AN DOL AIR ADHART",
"ui.tardis_refined.monitor.desktop_cancel_description": "Chaidh siostaman TARDIS a chiorramachadh mar thoradh air ath-dhealbhadh seòmair-stiùiridh a tha a' tighinn.",
- "ui.tardis_refined.monitor.external_shell": "RÈITEACHADH SLIGE",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Thaghadh: &s",
"ui.tardis_refined.monitor.main.destination": "Ceann-uidhe",
"ui.tardis_refined.monitor.main.gps": "Àite",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "MÒR-CHOIMPIUTAR",
"ui.tardis_refined.monitor.no.waypoints": "Chan eil puingean-turais air an sàbhaladh!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "SEÒLAIREACHD CO-CHOMHARRA",
"ui.tardis_refined.monitor.upload.waypoints": "SEÒLAIREACHD PUINGE-TURAIS",
"ui.tardis_refined.monitor.waypoint_name": "Ainm puinge-turais:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "RÈITEACHADH SLIGE",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/gl_es.json b/common/src/main/resources/assets/tardis_refined/lang/gl_es.json
index 68a6b2b2..fd362ca8 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/gl_es.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/gl_es.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Dimensións prohibidas",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Conmutador de dimensión",
"control.tardis_refined.door_toggle": "Botón de porta",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Botón de retorno rápido",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Conmutador de dirección",
"control.tardis_refined.throttle": "Acelerador",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Mando",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Trade",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Chaveiro",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Manipulador de deseño",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Chave de TARDIS",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Debes esperar %s segundo(s)",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Chave está asignado a %s",
"message.tardis_refined.key_cycled": "TARDIS principal: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Seleccionouse: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Casca predefinida",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Medra de coral",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Antigo mausoleo exipcio",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
"shell.tardis_refined.nuka": "Máquina expendedora de Nuka-Cola",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Cabina de policía",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Agasallo",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Máquina expendedora",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Manipulador de deseño activado",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Pantalla faiscando",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Chaveiro:",
- "ui.tardis_refined.desktop_selection": "AXUSTES DE INTERIOR",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Queres cancelar a próxima remodelación?",
- "ui.tardis_refined.monitor.desktop": "AXUSTES DE INTERIOR",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancelar remodelación",
"ui.tardis_refined.monitor.desktop_cancel.title": "TAREFA EN PROGRESO",
"ui.tardis_refined.monitor.desktop_cancel_description": "Os sistemas do TARDIS foron desactivados debido a unha próxima remodelación interior.",
- "ui.tardis_refined.monitor.external_shell": "AXUSTES DE CASCA",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Seleccionouse: &s",
"ui.tardis_refined.monitor.main.destination": "Destino",
"ui.tardis_refined.monitor.main.gps": "Localización",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "ORDENADOR",
"ui.tardis_refined.monitor.no.waypoints": "Non hai puntos de paso gardados!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "NAVEGACIÓN DE COORDENADA",
"ui.tardis_refined.monitor.upload.waypoints": "NAVEGACIÓN DE PUNTO DE PASO",
"ui.tardis_refined.monitor.waypoint_name": "Nome de punto de paso:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "AXUSTES DE CASCA",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/he_il.json b/common/src/main/resources/assets/tardis_refined/lang/he_il.json
index 2894bb0a..cc517d9a 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/he_il.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/he_il.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "מימדים אסורים",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "להפעיל הנפשות עבור לוחות בקרה לא פעילים?",
"config.tardis_refined.control_names": "להציג שמות של בקרות?",
"config.tardis_refined.immersive_portals": "להפעיל תאימות עם Immersive Portals?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "מתג מימד",
"control.tardis_refined.door_toggle": "כפתור דלת",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "מתג החזרה מהיר",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "מתג כיוון",
"control.tardis_refined.throttle": "משנק",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "בקרה",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "מקדחה",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "מערכת מפתחות",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "מכשיר עיצוב מחדש",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "מפתח טארדיס",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "עליך לחכות %s שניות",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "מפתח קשור אל %s",
"message.tardis_refined.key_cycled": "ראשית: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "נבחר: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "קליפה ברירת מחדל",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "צמחייה אלמוג",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "מאוזוליאום מצרי עתיק",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "צריף של מיסטיקן",
"shell.tardis_refined.nuka": "מכונת ממכר נוקה קולה",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "תא משטרה בריטי",
"shell.tardis_refined.portaloo": "שירותים ניידים",
"shell.tardis_refined.present": "מתנה",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "מכונת ממכר",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "מכשיר עיצוב מחדש מופעלת",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "המסך מתפצפץ",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "טארדיס נוסע",
"sound.tardis_takeoff.subtitle": "טארדיס נעלם",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "מערכת מפתחות:",
- "ui.tardis_refined.desktop_selection": "הגדרות חדר בקרה",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "האם תרצה לבטל את עיצוב מחדש חדר הבקרה?",
- "ui.tardis_refined.monitor.desktop": "הגדרות חדר בקרה",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "בטל עיצוב מחדש חדר בקרה",
"ui.tardis_refined.monitor.desktop_cancel.title": "מטלה בהמשכים",
"ui.tardis_refined.monitor.desktop_cancel_description": "מערכות הטארדיס הושבתו עקב עיצוב מחדש מתקרב של חדר הבקרה.",
- "ui.tardis_refined.monitor.external_shell": "הגדרות קליפה",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "נבחר: &s",
"ui.tardis_refined.monitor.main.destination": "יעד",
"ui.tardis_refined.monitor.main.gps": "מיקום",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "מחשב",
"ui.tardis_refined.monitor.no.waypoints": "אין נקודות נתיבים נשמר!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "ניווט קואורדינטה",
"ui.tardis_refined.monitor.upload.waypoints": "ניווט נקודת נתיב",
"ui.tardis_refined.monitor.waypoint_name": "שם נקודת נתיב:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "הגדרות קליפה",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/hi_in.json b/common/src/main/resources/assets/tardis_refined/lang/hi_in.json
index 157daecd..722cf4b5 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/hi_in.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/hi_in.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "मना आयाम",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "क्या आप निष्क्रिय नियंत्रण कंसोल के लिए एनिमेशन सक्षम करना चाहते हैं?",
"config.tardis_refined.control_names": "क्या आप नियंत्रणों के नाम दिखाना चाहते हैं?",
"config.tardis_refined.immersive_portals": "क्या आप Immersive Portals के साथ अनुकूलता सक्रिय करना चाहते हैं?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "आयाम का स्विच",
"control.tardis_refined.door_toggle": "दरवाजा का बटन",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "त्वरित वापसी का बटन",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "दिशा बटन",
"control.tardis_refined.throttle": "त्वरक",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "नियंत्रण",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "ड्रिल",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "टार्डिस की चाबी का छल्ला",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "डिजाइन परिवर्तक",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "टार्डिस की चाबी",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "बेहतर टार्डिस",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "आपको %s सैकंड तक इंतजार करना होगा",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "चाबी %s से बाध्य है",
"message.tardis_refined.key_cycled": "मुख्य: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "चयनित: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "डिफ़ॉल्ट खोल",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "मूँगा का विकास",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "प्राचीन मिस्र का मकबरा",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "रहस्यमय बूथ",
"shell.tardis_refined.nuka": "नुका-कोला की बिक्री मशीन",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "पुलिस का दूरभाष कीओस्क",
"shell.tardis_refined.portaloo": "पोर्टेबल शौचालय",
"shell.tardis_refined.present": "उपहार",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "बिक्री मशीन",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "डिजाइन परिवर्तक सक्रिय किया हुआ",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "स्क्रीन शोर करती है",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "टार्डिस यात्रा किया हुआ",
"sound.tardis_takeoff.subtitle": "टार्डिस ग़ायब हुआ हुआ",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "चाबी का छल्ला:",
- "ui.tardis_refined.desktop_selection": "नियंत्रण का कक्ष का सेटिंग",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "क्या आप नियंत्रण का कक्ष की आगामी पुनर्सज्जा को रद्द करना चाहेंगे?",
- "ui.tardis_refined.monitor.desktop": "नियंत्रण का कक्ष का सेटिंग",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "पुनर्सजावट रद्द करें",
"ui.tardis_refined.monitor.desktop_cancel.title": "एक कार्य प्रगति पर है",
"ui.tardis_refined.monitor.desktop_cancel_description": "आगामी पुनर्सज्जा के कारण टार्डिस का सिस्टम अक्षम कर दिया गया है।",
- "ui.tardis_refined.monitor.external_shell": "खोल का सेटिंग",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "चयनित: &s",
"ui.tardis_refined.monitor.main.destination": "मंज़िल",
"ui.tardis_refined.monitor.main.gps": "स्थान",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "संगणक",
"ui.tardis_refined.monitor.no.waypoints": "कोई सहेजे गए मार्गबिंदु नहीं हैं!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "निर्देशांक नेविगेशन",
"ui.tardis_refined.monitor.upload.waypoints": "मार्गबिंदु नेविगेशन",
"ui.tardis_refined.monitor.waypoint_name": "मार्गबिंदु का नाम:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "खोल का सेटिंग",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/hu_hu.json b/common/src/main/resources/assets/tardis_refined/lang/hu_hu.json
index 596d629b..eddf7d99 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/hu_hu.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/hu_hu.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Tiltott Dimenziók",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Megjelenjenek az irányítás nevek?",
"config.tardis_refined.immersive_portals": "Immersive Portals kompatibilis?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimenzió",
"control.tardis_refined.door_toggle": "Ajtó kapcsoló",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Gyors visszatérés",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Irány",
"control.tardis_refined.throttle": "Fojtószelep",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Általános vezérlés",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis kulcstartó",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Sablon Manipulátor",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis kulcs",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Várnod kell %s másodpercet",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Kulcs összekötve a %s",
"message.tardis_refined.key_cycled": "Fő: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Kiválasztva: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Gyár",
"shell.tardis_refined.groening": "Greoning",
"shell.tardis_refined.growth": "Growth",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Ókori egyiptomi síremlék",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
"shell.tardis_refined.nuka": "Nuka",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Rendőrségi telefonfülke",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Ajándék",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vendég automata",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Kulcskészlet:",
- "ui.tardis_refined.desktop_selection": "ASZTAL KONFIGURÁLÁSA",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Megszeretnéd szakítani a közelgő újrakonfigurálást?",
- "ui.tardis_refined.monitor.desktop": "ASZTAL KONFIGURÁLÁSA",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Asztal újrakonfigurálásának megszakítása",
"ui.tardis_refined.monitor.desktop_cancel.title": "MŰVELET FOLYAMATBAN",
"ui.tardis_refined.monitor.desktop_cancel_description": "A rendszer kikapcsolva, mert az asztal újrakonfigurációja beütemezve van.",
- "ui.tardis_refined.monitor.external_shell": "KÜLSŐ HÁZ KONFIGURÁLÁSA",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Jelenleg kiválasztva: &s",
"ui.tardis_refined.monitor.main.destination": "Célállomás",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "TERMINÁL",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "KÜLSŐ HÁZ KONFIGURÁLÁSA",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/hy_am.json b/common/src/main/resources/assets/tardis_refined/lang/hy_am.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/hy_am.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/hy_am.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/id_id.json b/common/src/main/resources/assets/tardis_refined/lang/id_id.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/id_id.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/id_id.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/is_is.json b/common/src/main/resources/assets/tardis_refined/lang/is_is.json
index bab5e2d7..5a9c12fe 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/is_is.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/is_is.json
@@ -13,7 +13,7 @@
"block.tardis_refined.bulk_head_door": "Þilhurð",
"block.tardis_refined.console_configuration": "Stjórnborðsstillari",
"block.tardis_refined.corridor_teleporter": "Corridor Teleporter",
- "block.tardis_refined.deepslate_zeiton_ore": "Djúpsteypt tímakristallsgrýti",
+ "block.tardis_refined.deepslate_zeiton_ore": "Djúpsteypt sætongrýti",
"block.tardis_refined.flight_detector": "Flugskynjari",
"block.tardis_refined.fools_stone": "Glópasteinn",
"block.tardis_refined.gravity_well": "Gravity Well",
@@ -25,11 +25,11 @@
"block.tardis_refined.tardis_door": "Tardishurð",
"block.tardis_refined.tardis_shell": "Tardis",
"block.tardis_refined.terraformer": "Jarðbreytingarvél",
- "block.tardis_refined.zeiton_block": "Tímakristallskubbur",
- "block.tardis_refined.zeiton_fused_copper_block": "Zeiton Fused Copper Block",
- "block.tardis_refined.zeiton_fused_iron_block": "Zeiton Fused Iron Block",
- "block.tardis_refined.zeiton_lantern": "Tímakristallsljósker",
- "block.tardis_refined.zeiton_ore": "Tímakristallsgrýti",
+ "block.tardis_refined.zeiton_block": "Sætonkubbur",
+ "block.tardis_refined.zeiton_fused_copper_block": "Eirkubbur með sætonkarmi",
+ "block.tardis_refined.zeiton_fused_iron_block": "Járnkubbur með sætonkarmi",
+ "block.tardis_refined.zeiton_lantern": "Sætonljósker",
+ "block.tardis_refined.zeiton_ore": "Sætongrýti",
"command.tardis_refined.create.in_progress": "Attempting to create Tardis %s, generation in progress",
"command.tardis_refined.create.success": "Successfully created Tardis with id %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s er ekki tardisvídd!",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Bannaðar víddir",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Spila hreyfimyndir fyrir óvirk stjórnborð",
"config.tardis_refined.control_names": "Sýna nöfn stjórntækja?",
"config.tardis_refined.immersive_portals": "Virkja Immersive Portals samhæfni?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Víddarskiptari",
"control.tardis_refined.door_toggle": "Hurðarstýringu",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Skjót afturkoma",
"control.tardis_refined.fuel": "Eldsneyti",
- "control.tardis_refined.generic_control": "Hnappur",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handhemill",
"control.tardis_refined.increment": "Aukningarstýringu",
"control.tardis_refined.monitor": "Tölva",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "Staðsetning",
"control.tardis_refined.rotate": "Áttarskiptari",
"control.tardis_refined.throttle": "Hraðastýringu",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Stjórntæki",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Borvél",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Lyklakippa",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Hönnunarbreytir",
- "item.tardis_refined.raw_zeiton": "Hrár tímakristallur",
+ "item.tardis_refined.raw_zeiton": "Hrátt sæton",
"item.tardis_refined.tardis_key": "Tardislykill",
- "item.tardis_refined.zeiton_ingot": "Tímakristallshleifur",
- "item.tardis_refined.zeiton_nugget": "Tímakristallsmoli",
+ "item.tardis_refined.test_tube": "Test Tube",
+ "item.tardis_refined.zeiton_ingot": "Sætonhleifur",
+ "item.tardis_refined.zeiton_nugget": "Sætonmoli",
"itemGroup.tardis_refined": "Fágaður Tardis",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Þú verður að bíða í %s sekúndu(r)",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Lykill bundinn við %s",
"message.tardis_refined.key_cycled": "Aðaltardis: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Valið: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Standardskelin",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Kóralvöxtur",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Fornegypskt grafhýsi",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Álfaskápur",
"shell.tardis_refined.nuka": "Nuka-Cola-sjálfsali",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Lögregluklefi",
"shell.tardis_refined.portaloo": "Færanlegt náðhús",
"shell.tardis_refined.present": "Gjöf",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Sjálfsali",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Hönnunarbreytir virkjast",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Skjásurg",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "Tardis ferðast",
"sound.tardis_takeoff.subtitle": "Tardis hverfur",
"sound.time_blast.subtitle": "Tímaiðublástur",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Lyklaklippa:",
- "ui.tardis_refined.desktop_selection": "STJÓRNHERBERGISSTILLINGAR",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Viltu hætta við fyrirhugaða enduruppbyggingu stjórnherbergis?",
- "ui.tardis_refined.monitor.desktop": "STJÓRNHERBERGISSTILLINGAR",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Hætta við enduruppbyggingu stjórnherbergis",
"ui.tardis_refined.monitor.desktop_cancel.title": "AÐGERÐ Í GANGI",
"ui.tardis_refined.monitor.desktop_cancel_description": "Tardiskerfi hafa verið óvirk vegna fyrirhugaðrar enduruppbyggingar á stjórnherbergi.",
- "ui.tardis_refined.monitor.external_shell": "SKELJARSTILLINGAR",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Núverandi: &s",
"ui.tardis_refined.monitor.main.destination": "Áfangastaður",
"ui.tardis_refined.monitor.main.gps": "Staðsetning",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "TÖLVA",
"ui.tardis_refined.monitor.no.waypoints": "Það eru engir vistaðir leiðarpunktar!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "HNITALEIÐSÖGN",
"ui.tardis_refined.monitor.upload.waypoints": "LEIÐARPUNKTALEIÐSÖGN",
"ui.tardis_refined.monitor.waypoint_name": "Nafn leiðarpunkts:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "SKELJARSTILLINGAR",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/it_it.json b/common/src/main/resources/assets/tardis_refined/lang/it_it.json
index 4419183b..1a3b1ac4 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/it_it.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/it_it.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Bloccato aggiornamento %s per %s",
"command.tardis_refined.upgrade.unlock": "Sbloccato aggiornamento %s per %s",
"config.tardis_refined.banned_dimensions": "Dimensione Proibite",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Riprodurre animazioni inattive della console",
"config.tardis_refined.control_names": "Rendere i nomi dei controlli?",
"config.tardis_refined.immersive_portals": "Compatibilità con i Portali Immersivi?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimensione",
"control.tardis_refined.door_toggle": "Controllo della Porta",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Rapido Ritorno",
"control.tardis_refined.fuel": "Carburante",
- "control.tardis_refined.generic_control": "Cambia",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Freno a mano",
"control.tardis_refined.increment": "Aumento",
"control.tardis_refined.monitor": "Banca Informatica",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direzione",
"control.tardis_refined.throttle": "Accelleratore",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s è stato fritto dai venti del tempo.",
"death.attack.eye_of_harmony.player": "%s è stato fritto dai venti del tempo.",
"entity.tardis_refined.console_control": "Controllo Generico",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Trapano",
"item.tardis_refined.glasses": "Occhiali AR",
"item.tardis_refined.keychain": "Set di chiavi del TARDIS",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Manipolatore di Schemi",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Chiave del TARDIS",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Raffinato",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascendente: %s",
"message.tardis_refined.astral_manipulator_engaged": "Effettuare la selezione. Fare nuovamente clic con il tasto destro per confermare",
"message.tardis_refined.cannot_start_no_fuel": "Carburante insufficiente per avviare",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Impossibile cambiare console durante il volo",
- "message.tardis_refined.console_config_not_in_flight": "Impossibile aggiornare il blocco console durante il volo",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ATTUALE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Decrescenda: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Carburante insufficiente per avviare il processo di riconfigurazione",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINAZIONE",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Devi aspettare %s secondi",
- "message.tardis_refined.fuel": "Carburante: ",
- "message.tardis_refined.fuel_offline": "Carburante offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Freno a mano disinserito",
"message.tardis_refined.handbrake_engaged": "Freno a mano innestato",
"message.tardis_refined.handbrake_warning": "La nave è in volo. Clicca con il tasto sinistro del freno a mano per agganciare",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Chiave Legata a %s",
"message.tardis_refined.key_cycled": "Principale: %s",
- "message.tardis_refined.landing_pad_transient": "Non è possibile evocare TARDIS in questo momento",
- "message.tardis_refined.landing_pad_unlocked": "Segnale di atterraggio rifiutato TARDIS specificato",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Un drago ti impedisce di progredire fino alla fine",
"message.tardis_refined.no_flight_transitive": "Impossibile cambiare lo stato del freno a mano durante il volo transitivo",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Rifornimento abilitato",
"message.tardis_refined.refuel_stopped": "Rifornimento interrotto",
"message.tardis_refined.root_plant_cut_open": "Le radici coprono l'ingresso",
"message.tardis_refined.selected": "Selezionato: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS è stato convocato ed è in viaggio",
- "message.tardis_refined.tooltip_in_flight": "In volo",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Waypoint precaricato: %s",
"monitor.waypoints.name.placeholder": "Nome del Waypoint",
"monitor.waypoints.new_waypoint": "Nuovo Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Fabbrica",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Crescita",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Geroglifico",
"shell.tardis_refined.lift": "Passaggio",
"shell.tardis_refined.mystic": "Mistico",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Cabina della Polizia",
"shell.tardis_refined.portaloo": "Bagno Chimico",
"shell.tardis_refined.present": "Presente",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Distributore Automatico",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "Suono dell'albero SRA",
"sound.artron_pillar_active.subtitle": "Pilastro Artron attivato",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Potenza della console accesa",
"sound.corridor_teleporter.subtitle": "Creazione teletrasportatore",
"sound.corridor_teleporter_success.subtitle": "Teletrasportatore usato",
"sound.destination_ding.subtitle": "TARDIS ha raggiunto la destinazione",
"sound.flight_fail_start.subtitle": "Geme TARDIS non riusciti",
"sound.gravity_tunnel.subtitle": "Venti del tunnel di gravità",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Manipolatore del Modello attivato",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Dati del cacciavite scartati",
"sound.screwdriver_short.subtitle": "Cacciavite utilizzato",
"sound.static.subtitle": "Schermo del display statico",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS in volo",
"sound.tardis_takeoff.subtitle": "TARDIS decollato",
"sound.time_blast.subtitle": "Raffica Vortice Temporale",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Un manipolatore di frequenza ametista",
- "tooltip.tardis_refined.tardis_list": "Mazzo di Chiavi:",
- "ui.tardis_refined.desktop_selection": "Configurazione del Desktop",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Annullare l'imminente riconfigurazione?",
- "ui.tardis_refined.monitor.desktop": "Configurazione del Desktop",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Annullare la Riconfigurazione del Desktop",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERAZIONE IN CORSO",
"ui.tardis_refined.monitor.desktop_cancel_description": "Sistemi disabilitati poiché è stata pianificata una riconfigurazione del desktop.",
- "ui.tardis_refined.monitor.external_shell": "CONFIGURAZIONE DELL' INVOLUCRO ESTERNO",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Attualmente selezionato: &s",
"ui.tardis_refined.monitor.main.destination": "Destinazione",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "BANCA INFORMATICA",
"ui.tardis_refined.monitor.no.waypoints": "Nessun Waypoint Salvato!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "NAVIGAZIONE COORDINATE",
"ui.tardis_refined.monitor.upload.waypoints": "NAVIGAZIONE WAYPOINT",
"ui.tardis_refined.monitor.waypoint_name": "Nome Waypoint:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Valore Y non valido",
"ui.tardis_refined.monitor.waypoints.issues.z": "Valore Z non valido",
"ui.tardis_refined.monitor.waypoints.load": "Invia alla console",
- "ui.tardis_refined.monitor.waypoints.submit": "Invia",
"ui.tardis_refined.monitor.waypoints.upload": "Carica",
"ui.tardis_refined.no_installed_subsystems": "Nessun Sotto-Sistema Disponibile",
- "ui.tardis_refined.shell_selection": "CONFIGURAZIONE DEL SCAFO ESTERNO",
"ui.tardis_refined.upgrades": "Aggiornamenti del Tardis",
"ui.tardis_refined.upgrades.buy_ability": "Comprare Aggiornamento?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architettura",
"upgrade.tardis_refined.architecture_system.description": "Attivare Aggiornamento di Architettura del TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Circuito Camaleonte",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "Incremento x2500",
"upgrade.tardis_refined.explorer_iii": "Esploratore III",
"upgrade.tardis_refined.explorer_iii.description": "Incremento x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Generazione Migliorata I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Abbassa i tempi di attesa del desktop a 120 secondi",
"upgrade.tardis_refined.improved_generation_time_ii": "Generazione Migliorata Ii",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Autorizza il TARDIS a far entrare entità durante la materializzazione",
"upgrade.tardis_refined.navigation_system": "Sistema di Navigazione",
"upgrade.tardis_refined.navigation_system.description": "Autorizza aggiornamenti al Sistema di Navigazione del TARDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Aggiornamenti del Sistema",
"upgrade.tardis_refined.tardis_xp.description": "Autorizza aggiornamenti del TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoint",
- "upgrade.tardis_refined.waypoints.description": "Autorizza il Pilota a creare localizzazioni salvate"
+ "upgrade.tardis_refined.waypoints.description": "Autorizza il Pilota a creare localizzazioni salvate",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/ja_jp.json b/common/src/main/resources/assets/tardis_refined/lang/ja_jp.json
index e0484048..ba60d6bb 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/ja_jp.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/ja_jp.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "%2$sのアップグレード「%1$s」をロックしました",
"command.tardis_refined.upgrade.unlock": "%2$sのアップグレード「%1$s」を解禁しました",
"config.tardis_refined.banned_dimensions": "禁断のディメンション",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "無操作時のコンソールのアニメーションを再生しますか?",
"config.tardis_refined.control_names": "制御装置名を表示しますか?",
"config.tardis_refined.immersive_portals": "Immersive Portalsの互換性がありますか?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "ディメンション",
"control.tardis_refined.door_toggle": "ドア・スイッチ",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "ファスト・リターン",
"control.tardis_refined.fuel": "燃料",
- "control.tardis_refined.generic_control": "スイッチ",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "駐車ブレーキ",
"control.tardis_refined.increment": "増加分制御装置",
"control.tardis_refined.monitor": "コンピュータ端末",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "所在",
"control.tardis_refined.rotate": "向き制御装置",
"control.tardis_refined.throttle": "スロットル",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%sは時空の渦の風で炙り焼きにされた",
"death.attack.eye_of_harmony.player": "%sは時空の渦の風で炙り焼きにされた",
"entity.tardis_refined.console_control": "制御装置",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "ドリル",
"item.tardis_refined.glasses": "拡張現実メガネ",
"item.tardis_refined.keychain": "キーホルダー",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "パターン・マニピュレータ",
"item.tardis_refined.raw_zeiton": "ゼイトンの原石",
"item.tardis_refined.tardis_key": "ターディスの鍵",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "ゼイトンインゴット",
"item.tardis_refined.zeiton_nugget": "ゼイトン塊",
"itemGroup.tardis_refined": "ターディス・レファインド",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "%sで上る",
"message.tardis_refined.astral_manipulator_engaged": "選択を行ってください。再度右クリックして確認してください",
"message.tardis_refined.cannot_start_no_fuel": "燃料不足です。",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "飛行中はコンソールを変更できません",
- "message.tardis_refined.console_config_not_in_flight": "飛行中はコンソールブロックを更新できません",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "現在",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "%sで降下",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "再構成プロセスを開始する燃料が不足しています",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "宛先設定",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "%s秒待つ必要があります",
- "message.tardis_refined.fuel": "燃料: ",
- "message.tardis_refined.fuel_offline": "燃料オフライン",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "ハンドブレーキが切断されました",
"message.tardis_refined.handbrake_engaged": "ハンドブレーキがかかっています",
"message.tardis_refined.handbrake_warning": "船はフライト中です。ハンドブレーキを左クリックしてください",
- "message.tardis_refined.hardware_offline": "ハードウェアオフライン",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "鍵は%sに割り当てられました",
"message.tardis_refined.key_cycled": "%sは主なターディスです",
- "message.tardis_refined.landing_pad_transient": "現時点ではTARDISを召喚できません",
- "message.tardis_refined.landing_pad_unlocked": "指定されたTARDISがランディングパッド信号を拒否しました",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "ドラゴンは終わりまでの進歩を妨げてくれます",
"message.tardis_refined.no_flight_transitive": "移動中はハンドブレーキの状態を変更できません",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "給油を有効にしました",
"message.tardis_refined.refuel_stopped": "給油停止",
"message.tardis_refined.root_plant_cut_open": "入り口をルーツが覆います",
"message.tardis_refined.selected": "%sを選択しました",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDISが召喚され、途中です",
- "message.tardis_refined.tooltip_in_flight": "走行中",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "ロード済みウェイポイント: %s",
"monitor.waypoints.name.placeholder": "通過点名",
"monitor.waypoints.new_waypoint": "新しい通過点",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "標準外観",
"shell.tardis_refined.groening": "グレイニング",
"shell.tardis_refined.growth": "サンゴ伸び",
- "shell.tardis_refined.hieroglyph": "象形文字",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "古代エジプトの霊廟",
"shell.tardis_refined.lift": "エレベーター",
"shell.tardis_refined.mystic": "神秘的なボックス",
"shell.tardis_refined.nuka": "ヌカ・コーラの自販機",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "ポリスボックス",
"shell.tardis_refined.portaloo": "仮設トイレ",
"shell.tardis_refined.present": "贈り物",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "自動販売機",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS木がうなる",
"sound.artron_pillar_active.subtitle": "アートロンの柱が起動する",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "コンソールが起動する",
"sound.corridor_teleporter.subtitle": "テレポーター建造中",
"sound.corridor_teleporter_success.subtitle": "テレポーター使用",
"sound.destination_ding.subtitle": "ターディスが目的地に着く",
"sound.flight_fail_start.subtitle": "瀕死のターディスがうめく",
"sound.gravity_tunnel.subtitle": "重力トンネル風",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "きしわ",
"sound.interior_voice.subtitle": "…?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "パターン・マニピュレータが起動する",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver データを破棄する",
"sound.screwdriver_short.subtitle": "スクリュードライバーの使用",
"sound.static.subtitle": "画面の砂嵐",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "ターディスが旅行する",
"sound.tardis_takeoff.subtitle": "ターディスが失せる",
"sound.time_blast.subtitle": "時空の渦が爆発する",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "アメジストの周波数マニピュレータ",
- "tooltip.tardis_refined.tardis_list": "キーホルダー:",
- "ui.tardis_refined.desktop_selection": "コンソールルーム設定",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "予定されていたコンソールルームの新装をキャンセルしますか?",
- "ui.tardis_refined.monitor.desktop": "コンソールルーム設定",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "コンソールルームの新装をキャンセルする",
"ui.tardis_refined.monitor.desktop_cancel.title": "タスクは進行中です!",
"ui.tardis_refined.monitor.desktop_cancel_description": "コンソールルームの新装が予定されているため、ターディス・システムは停止しています。",
- "ui.tardis_refined.monitor.external_shell": "外側殻設定",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "&sを選択しました",
"ui.tardis_refined.monitor.main.destination": "目的地",
"ui.tardis_refined.monitor.main.gps": "所在",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "コンピュータ端末",
"ui.tardis_refined.monitor.no.waypoints": "通過点が保存されていません。",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "サウンドスケープ",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "座標航法",
"ui.tardis_refined.monitor.upload.waypoints": "通過点航法",
"ui.tardis_refined.monitor.waypoint_name": "通過点の名:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "無効なY値",
"ui.tardis_refined.monitor.waypoints.issues.z": "無効なZ値",
"ui.tardis_refined.monitor.waypoints.load": "コンソールに送る",
- "ui.tardis_refined.monitor.waypoints.submit": "投稿",
"ui.tardis_refined.monitor.waypoints.upload": "アップロード",
"ui.tardis_refined.no_installed_subsystems": "利用可能なサブシステムはありません",
- "ui.tardis_refined.shell_selection": "外側殻設定",
"ui.tardis_refined.upgrades": "ターディスのアップグレード",
"ui.tardis_refined.upgrades.buy_ability": "アップグレードを購入しますか?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "建築",
"upgrade.tardis_refined.architecture_system.description": "建築のアップグレードを可能にする",
"upgrade.tardis_refined.chameleon_circuit_system": "カメレオン回路",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "×2500の座標増加分を解禁する",
"upgrade.tardis_refined.explorer_iii": "探検家三段",
"upgrade.tardis_refined.explorer_iii.description": "×5000の座標増加分を解禁する",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "改良世代I",
"upgrade.tardis_refined.improved_generation_time_i.description": "デスクトップの待機時間を120秒に減らす",
"upgrade.tardis_refined.improved_generation_time_ii": "改良世代II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "ターディスがエンティティの周りに現れた場合、そのエンティティはターディスを乗り込む",
"upgrade.tardis_refined.navigation_system": "航法システム",
"upgrade.tardis_refined.navigation_system.description": "航法システムのアップグレードを解禁する",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "システムのアップグレード",
"upgrade.tardis_refined.tardis_xp.description": "ターディスのアップグレードを解禁する",
"upgrade.tardis_refined.waypoints": "通過点",
- "upgrade.tardis_refined.waypoints.description": "場所の保存を可能にする"
+ "upgrade.tardis_refined.waypoints.description": "場所の保存を可能にする",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/kk_kz.json b/common/src/main/resources/assets/tardis_refined/lang/kk_kz.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/kk_kz.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/kk_kz.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/la_la.json b/common/src/main/resources/assets/tardis_refined/lang/la_la.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/la_la.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/la_la.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/lol_us.json b/common/src/main/resources/assets/tardis_refined/lang/lol_us.json
index 07ea41c1..e98f7ac2 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/lol_us.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/lol_us.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "No no Dimenwsion",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Rendr cuntrol nme",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Teh EcksZEEE",
"control.tardis_refined.dimension": "Dimenswion",
"control.tardis_refined.door_toggle": "Duhr flippr clickr",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Home >w<",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Fce here'",
"control.tardis_refined.throttle": "THruttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Gnrreic consule",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tdis chainz",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tdis duhr ky",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TDIS but bter",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Waitz uhmm %s sickonds yez",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "KY in teh %s",
"message.tardis_refined.key_cycled": "Men %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Bring boringer>:(",
"shell.tardis_refined.groening": "GROANING UwU",
"shell.tardis_refined.growth": "Growth UwU",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Myzty man",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "TDIS",
"shell.tardis_refined.portaloo": "Poop box",
"shell.tardis_refined.present": "Iz for me >w<",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Bring mes anothr",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "KY chainz:",
- "ui.tardis_refined.desktop_selection": "Spezial configr'",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Cancel rearang? UwU",
- "ui.tardis_refined.monitor.desktop": "Spezial configr'",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel disktupz configr??",
"ui.tardis_refined.monitor.desktop_cancel.title": "Spezial gangz operatin' progrez",
"ui.tardis_refined.monitor.desktop_cancel_description": "No TDIS for you >:( configr in",
- "ui.tardis_refined.monitor.external_shell": "Appearinz changr'",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "U seleckt: &s",
"ui.tardis_refined.monitor.main.destination": "Distindinner'",
"ui.tardis_refined.monitor.main.gps": "Positionz me UwU",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "Compr' bnk??",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "Appearinz changr'",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/nl_be.json b/common/src/main/resources/assets/tardis_refined/lang/nl_be.json
index da1345d3..40362e79 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/nl_be.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/nl_be.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Vergrendelde upgrade %s voor %s",
"command.tardis_refined.upgrade.unlock": "Ontgrendelde upgrade %s voor %s",
"config.tardis_refined.banned_dimensions": "Verboden afmetingen",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Inactieve console animaties afspelen",
"config.tardis_refined.control_names": "Besturingsnamen renderen?",
"config.tardis_refined.immersive_portals": "Immersieve portalen compatibiliteit?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Mål",
"control.tardis_refined.door_toggle": "Deur schakelaar",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Snelle teruggave",
"control.tardis_refined.fuel": "Brandstof",
- "control.tardis_refined.generic_control": "Schakelaar",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handrem",
"control.tardis_refined.increment": "Verhogen",
"control.tardis_refined.monitor": "Computer Bank",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Richting",
"control.tardis_refined.throttle": "Wortelen",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was gefrituurd door tijdwinden.",
"death.attack.eye_of_harmony.player": "%s was gefrituurd door tijdwinden.",
"entity.tardis_refined.console_control": "Algemeen beheer",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Groei Boor",
"item.tardis_refined.glasses": "AR Bril",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Patroon Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis sleutel",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis geraffineerd",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Oscend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Maak uw selectie. Klik nogmaals met de rechtermuisknop om te bevestigen",
"message.tardis_refined.cannot_start_no_fuel": "Niet genoeg brandstof om te starten",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kan consoles niet wijzigen tijdens vlucht",
- "message.tardis_refined.console_config_not_in_flight": "Kan console blok niet updaten tijdens vlucht",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "HUIDIGE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Afval: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Niet genoeg brandstof om het herconfiguratieproces te starten",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "BESTEMMING",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Je moet %s seconden wachten",
- "message.tardis_refined.fuel": "Brandstof: ",
- "message.tardis_refined.fuel_offline": "Offline brandstof",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake niet betrokken",
"message.tardis_refined.handbrake_engaged": "Handbrake betrokken",
"message.tardis_refined.handbrake_warning": "Schip is in vlucht. Klik op de linkermuisknop om deel te nemen",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Sleutel gekoppeld aan %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Kan TARDIS op dit moment niet oproepen",
- "message.tardis_refined.landing_pad_unlocked": "Opgegeven TARDIS heeft het landingssignaal geweigerd",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Een draak voorkomt dat u naar het einde komt",
"message.tardis_refined.no_flight_transitive": "Kan de handrem status niet veranderen terwijl je in transitive flight bent",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Ingeschakelde bijtanken",
"message.tardis_refined.refuel_stopped": "Gestopt bijtanken",
"message.tardis_refined.root_plant_cut_open": "Hoot dekt de ingang",
"message.tardis_refined.selected": "Geselecteerd: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS is opgeroepen en is onderweg",
- "message.tardis_refined.tooltip_in_flight": "In vlucht",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Voorgeladen waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint naam",
"monitor.waypoints.new_waypoint": "Nieuw waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Fabriek",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Groei",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Optillen",
"shell.tardis_refined.mystic": "Mystiek",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Politie doos",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Cadeau",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Verkoop Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Boomhom",
"sound.artron_pillar_active.subtitle": "Artron pilaar geactiveerd",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console vermogen aan",
"sound.corridor_teleporter.subtitle": "Teleporteerder opbouwen",
"sound.corridor_teleporter_success.subtitle": "Teleporter gebruikt",
"sound.destination_ding.subtitle": "TARDIS bereikt de bestemming",
"sound.flight_fail_start.subtitle": "Mislukking van TARDIS groanen",
"sound.gravity_tunnel.subtitle": "Zwaartekracht tunnel wind",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Patroon Manipulator activeert",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Ontwerp gegevens van schroevendraaier",
"sound.screwdriver_short.subtitle": "Screwdriver gebruikt",
"sound.static.subtitle": "Scherm statisch weergeven",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS vliegen",
"sound.tardis_takeoff.subtitle": "TARDIS opstijgen",
"sound.time_blast.subtitle": "Time Vortex bloeding",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Een amethist frequentiemanipulator",
- "tooltip.tardis_refined.tardis_list": "Sleutel instellen:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATIE",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Wilt u de aanstaande herconfiguratie annuleren?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATIE",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Annuleer Desktop Herschikking",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATIE IN PROGRES",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systemen zijn uitgeschakeld als een desktop-reconfiguratie zijn gepland.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATIE",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Geselecteerd: &s",
"ui.tardis_refined.monitor.main.destination": "Doelstelling",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "Geen waypoints opgeslagen!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATIE",
"ui.tardis_refined.monitor.waypoint_name": "Markeringspunt naam:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Ongeldige Y-waarde",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ongeldige Z waarde",
"ui.tardis_refined.monitor.waypoints.load": "Naar console verzenden",
- "ui.tardis_refined.monitor.waypoints.submit": "Bevestigen",
"ui.tardis_refined.monitor.waypoints.upload": "Uploaden",
"ui.tardis_refined.no_installed_subsystems": "Geen beschikbare sub-systemen",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATIE",
"ui.tardis_refined.upgrades": "Tardis Verbeteringen",
"ui.tardis_refined.upgrades.buy_ability": "Verbetering aanschaffen?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architectuur",
"upgrade.tardis_refined.architecture_system.description": "Schakelt TARDIS Architectuur upgrade in",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Verhoging",
"upgrade.tardis_refined.explorer_iii": "Verkenner III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Verhoging",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Verbeterde generatie I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Loopt bureaublad wachttijden tot 120 seconden",
"upgrade.tardis_refined.improved_generation_time_ii": "Verbeterde Generatie II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Laat het TARDIS toe om entiteiten in te voeren tijdens het materaliseren",
"upgrade.tardis_refined.navigation_system": "Navigatie systeem",
"upgrade.tardis_refined.navigation_system.description": "Staat upgrades toe tot het TARDIS navigatiesysteem",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Systeem Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Staat upgrades toe tot de TARDIS",
"upgrade.tardis_refined.waypoints": "Routepunten",
- "upgrade.tardis_refined.waypoints.description": "Laat de Pilot toe om opgeslagen locaties te maken"
+ "upgrade.tardis_refined.waypoints.description": "Laat de Pilot toe om opgeslagen locaties te maken",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/nl_nl.json b/common/src/main/resources/assets/tardis_refined/lang/nl_nl.json
index ad7c4ab5..c8f29c69 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/nl_nl.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/nl_nl.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Upgrade %s is op slot gezet voor %s",
"command.tardis_refined.upgrade.unlock": "Upgrade %s is ontgrendeld voor %s",
"config.tardis_refined.banned_dimensions": "Verboden dimensies",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Animaties afspelen voor inactieve bedieningspanelen",
"config.tardis_refined.control_names": "Namen van bedieningselementen weergeven?",
"config.tardis_refined.immersive_portals": "Immersive Portals compatibiliteit?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimensie",
"control.tardis_refined.door_toggle": "Deurschakelaar",
+ "control.tardis_refined.exterior_display": "Externe Weergave",
"control.tardis_refined.fast_return": "Snelle terugkeer",
"control.tardis_refined.fuel": "Brandstof",
- "control.tardis_refined.generic_control": "Schakelaar",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handrem",
"control.tardis_refined.increment": "Coördinaatstoenameknop",
"control.tardis_refined.monitor": "Computerterminal",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Richtingscontrole",
"control.tardis_refined.throttle": "Versneller",
+ "curios.identifier.timelord_sight": "AR Bril",
+ "death.attack.choke": "%s is aan giftige dampen ten onder gegaan",
+ "death.attack.choke.player": "%s is aan giftige dampen ten onder gegaan",
"death.attack.eye_of_harmony": "%s was gefrituurd door tijdwinden.",
"death.attack.eye_of_harmony.player": "%s was gefrituurd door tijdwinden.",
"entity.tardis_refined.console_control": "Bedieningselement",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Boormachine",
"item.tardis_refined.glasses": "AR-bril",
"item.tardis_refined.keychain": "Sleutelhanger",
+ "item.tardis_refined.mallet": "Hamer",
"item.tardis_refined.pattern_manipulator": "Vormbewerker",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "TARDIS-sleutel",
+ "item.tardis_refined.test_tube": "Reageerbuis",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Verlaat Externe Weergave",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Externe Weergave) Informatie Schakelen",
"message.tardis_refined.ascend_key": "Oscend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Maak uw selectie. Klik nogmaals met de rechtermuisknop om te bevestigen",
"message.tardis_refined.cannot_start_no_fuel": "Niet genoeg brandstof om te starten",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kan consoles niet wijzigen tijdens vlucht",
- "message.tardis_refined.console_config_not_in_flight": "Kan console blok niet updaten tijdens vlucht",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "HUIDIGE",
+ "message.tardis_refined.demands_payment": "Eist betaling",
"message.tardis_refined.descend_key": "Afval: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Niet genoeg brandstof om het herconfiguratieproces te starten",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "BESTEMMING",
+ "message.tardis_refined.dim_added_to_tardis": "%s toegevoegd aan Gegevensbank",
+ "message.tardis_refined.dim_already_saved": "Bevat al een monster",
+ "message.tardis_refined.dim_not_allowed": "Kan geen monster nemen van deze wereld",
+ "message.tardis_refined.dim_potential": "Monster genomen van %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Deur vergrendeld",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Deur ontgrendeld",
+ "message.tardis_refined.exit_external_view": "Verlaat Externe Weergave: ",
"message.tardis_refined.exterior_cooldown": "Je moet %s seconde(n) wachten",
- "message.tardis_refined.fuel": "Brandstof: ",
- "message.tardis_refined.fuel_offline": "Offline brandstof",
+ "message.tardis_refined.fuel": "Brandstof: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake niet betrokken",
"message.tardis_refined.handbrake_engaged": "Handbrake betrokken",
"message.tardis_refined.handbrake_warning": "Schip is in vlucht. Klik op de linkermuisknop om deel te nemen",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Sleutel gebonden aan %s",
"message.tardis_refined.key_cycled": "Hoofd-TARDIS: %s",
- "message.tardis_refined.landing_pad_transient": "Kan TARDIS op dit moment niet oproepen",
- "message.tardis_refined.landing_pad_unlocked": "Opgegeven TARDIS heeft het landingssignaal geweigerd",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Een draak voorkomt dat u naar het einde komt",
"message.tardis_refined.no_flight_transitive": "Kan de handrem status niet veranderen terwijl je in transitive flight bent",
+ "message.tardis_refined.pilot_time": "Je hebt nog %s met de piloot. Maak er het meeste van!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Herstel Voortgang: %s",
"message.tardis_refined.refuel_engaged": "Ingeschakelde bijtanken",
"message.tardis_refined.refuel_stopped": "Gestopt bijtanken",
"message.tardis_refined.root_plant_cut_open": "Hoot dekt de ingang",
"message.tardis_refined.selected": "Geselecteerd: %s",
+ "message.tardis_refined.submit": "Bevestigen",
"message.tardis_refined.tardis_on_the_way": "TARDIS is opgeroepen en is onderweg",
- "message.tardis_refined.tooltip_in_flight": "In vlucht",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Voorgeladen waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint naam",
"monitor.waypoints.new_waypoint": "Nieuw waypoint",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Standaard omhulsel",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Koraalgroei",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Gebakken",
+ "shell.tardis_refined.hieroglyph": "Oud Egyptisch praalgraf",
"shell.tardis_refined.lift": "Optillen",
"shell.tardis_refined.mystic": "Mystisch omhulsel",
"shell.tardis_refined.nuka": "Nuka-Cola automaat",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Politiehokje",
"shell.tardis_refined.portaloo": "Mobiel toilet",
"shell.tardis_refined.present": "Cadeau",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Verkoopautomaat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Boomhom",
"sound.artron_pillar_active.subtitle": "Artron pilaar geactiveerd",
+ "sound.cloister_bell.subtitle": "Cloister Bel",
"sound.console_power_on.subtitle": "Console vermogen aan",
"sound.corridor_teleporter.subtitle": "Teleporteerder opbouwen",
"sound.corridor_teleporter_success.subtitle": "Teleporter gebruikt",
"sound.destination_ding.subtitle": "TARDIS bereikt de bestemming",
"sound.flight_fail_start.subtitle": "Mislukking van TARDIS groanen",
"sound.gravity_tunnel.subtitle": "Zwaartekracht tunnel wind",
+ "sound.hum_aviatrax.subtitle": "TARDIS bromt",
+ "sound.hum_cave.subtitle": "TARDIS bromt",
+ "sound.hum_classic.subtitle": "TARDIS bromt",
+ "sound.hum_coral.subtitle": "TARDIS bromt",
+ "sound.hum_toyota.subtitle": "TARDIS bromt",
+ "sound.hum_victorian.subtitle": "TARDIS bromt",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Waarschuwing voor weinig brandstof",
+ "sound.mallet.subtitle": "Hamerslag",
"sound.pattern_manipulator.subtitle": "Vormbewerker activeert",
+ "sound.screwdriver_connect.subtitle": "Schroevendraaier verbonden",
"sound.screwdriver_discard.subtitle": "Ontwerp gegevens van schroevendraaier",
"sound.screwdriver_short.subtitle": "Screwdriver gebruikt",
"sound.static.subtitle": "Beeldschermruis",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS reist",
"sound.tardis_takeoff.subtitle": "TARDIS dematerialiseert",
"sound.time_blast.subtitle": "Tijdsmaalstroomsontploffing",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Een amethist frequentiemanipulator",
- "tooltip.tardis_refined.tardis_list": "Sleutelhanger:",
- "ui.tardis_refined.desktop_selection": "CONTROLEKAMERINSTELLINGEN",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Sleutel Ingesteld:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aMonster aan het Decoderen: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Opgeslagen Monster: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Geen Wereld Monster",
"ui.tardis_refined.monitor.cancel_desktop": "Wil je de komende verbouwing annuleren?",
- "ui.tardis_refined.monitor.desktop": "CONTROLEKAMERINSTELLINGEN",
+ "ui.tardis_refined.monitor.desktop": "BUREAUBLAD",
"ui.tardis_refined.monitor.desktop_cancel": "Verbouwing van controlekamer annuleren",
"ui.tardis_refined.monitor.desktop_cancel.title": "TAAK IN UITVOERING",
"ui.tardis_refined.monitor.desktop_cancel_description": "De systemen van de TARDIS zijn uitgeschakeld vanwege een geplande verbouwing van de controlekamer.",
- "ui.tardis_refined.monitor.external_shell": "OMHULSELINSTELLINGEN",
+ "ui.tardis_refined.monitor.external_shell": "EXTERIEUR INTELLINGEN",
"ui.tardis_refined.monitor.list.selection": "Geselecteerd: &s",
"ui.tardis_refined.monitor.main.destination": "Bestemming",
"ui.tardis_refined.monitor.main.gps": "Locatie",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTERTERMINAL",
"ui.tardis_refined.monitor.no.waypoints": "Er zijn geen opgeslagen wegpunten!",
+ "ui.tardis_refined.monitor.select.eject": "NOOD UITWERPEN",
+ "ui.tardis_refined.monitor.select.eject_fail": "Kan niet uitgeworpen worden tijdens vlucht",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "EXTERIEUR WEERGAVE",
"ui.tardis_refined.monitor.upload.coords": "COÖRDINAATNAVIGATIE",
"ui.tardis_refined.monitor.upload.waypoints": "WEGPUNTSNAVIGATIE",
"ui.tardis_refined.monitor.waypoint_name": "Wegpuntsnaam:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Ongeldige Y-waarde",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ongeldige Z waarde",
"ui.tardis_refined.monitor.waypoints.load": "Naar console verzenden",
- "ui.tardis_refined.monitor.waypoints.submit": "Bevestigen",
"ui.tardis_refined.monitor.waypoints.upload": "Uploaden",
"ui.tardis_refined.no_installed_subsystems": "Geen beschikbare sub-systemen",
- "ui.tardis_refined.shell_selection": "OMHULSELINSTELLINGEN",
"ui.tardis_refined.upgrades": "Tardis Verbeteringen",
"ui.tardis_refined.upgrades.buy_ability": "Verbetering aanschaffen?",
+ "ui.tardis_refined.villager_can_pilot": "Piloot?",
"upgrade.tardis_refined.architecture_system": "Architectuur",
"upgrade.tardis_refined.architecture_system.description": "Schakelt TARDIS Architectuur upgrade in",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Verhoging",
"upgrade.tardis_refined.explorer_iii": "Verkenner III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Verhoging",
+ "upgrade.tardis_refined.flight_system": "Vlucht Systeem",
+ "upgrade.tardis_refined.flight_system.description": "Staat upgraden van het TARDIS vluchtsysteem toe",
"upgrade.tardis_refined.improved_generation_time_i": "Verbeterde generatie I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Loopt bureaublad wachttijden tot 120 seconden",
"upgrade.tardis_refined.improved_generation_time_ii": "Verbeterde Generatie II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Laat het TARDIS toe om entiteiten in te voeren tijdens het materaliseren",
"upgrade.tardis_refined.navigation_system": "Navigatie systeem",
"upgrade.tardis_refined.navigation_system.description": "Staat upgrades toe tot het TARDIS navigatiesysteem",
+ "upgrade.tardis_refined.speed_i": "Snelheid I",
+ "upgrade.tardis_refined.speed_i.description": "Snelheid is 5x sneller",
+ "upgrade.tardis_refined.speed_ii": "Snelheid II",
+ "upgrade.tardis_refined.speed_ii.description": "Snelheid is 10x sneller",
+ "upgrade.tardis_refined.speed_iii": "Snelheid III",
+ "upgrade.tardis_refined.speed_iii.description": "Snelheid is 25x sneller",
+ "upgrade.tardis_refined.speed_iv": "Snelheid IV",
+ "upgrade.tardis_refined.speed_iv.description": "Snelheid is 50x sneller",
"upgrade.tardis_refined.tardis_xp": "Systeem Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Staat upgrades toe tot de TARDIS",
"upgrade.tardis_refined.waypoints": "Routepunten",
- "upgrade.tardis_refined.waypoints.description": "Laat de Pilot toe om opgeslagen locaties te maken"
+ "upgrade.tardis_refined.waypoints.description": "Laat de Pilot toe om opgeslagen locaties te maken",
+ "vortex.tardis_refined.agender_flag": "Vlag Agender",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dromen",
+ "vortex.tardis_refined.bisexual_flag": "Vlag Bi",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Wolken",
+ "vortex.tardis_refined.crystal_lagoon": "Kristallen Meer",
+ "vortex.tardis_refined.desert_mirage": "Woestijn Luchtspiegeling",
+ "vortex.tardis_refined.emerald_forest": "Bos der Smaragden",
+ "vortex.tardis_refined.flow": "Vloeiend",
+ "vortex.tardis_refined.gay_flag": "Vlag Gay",
+ "vortex.tardis_refined.lesbian_flag": "Vlag Lesbisch",
+ "vortex.tardis_refined.lgbt_rainbow": "LHBT Regenboog",
+ "vortex.tardis_refined.neon_pulse": "Pulserend Neon",
+ "vortex.tardis_refined.non_binary_flag": "Vlag Non-Binaire",
+ "vortex.tardis_refined.ocean_breeze": "Zeewind",
+ "vortex.tardis_refined.solar_flare": "Zonnevlam",
+ "vortex.tardis_refined.space": "Ruimte",
+ "vortex.tardis_refined.stars": "Sterren",
+ "vortex.tardis_refined.transgender_flag": "Vlag Transgender",
+ "vortex.tardis_refined.twilight_glow": "Schemergloed",
+ "vortex.tardis_refined.velvet_night": "Fluwelen Nacht",
+ "vortex.tardis_refined.waves": "Golven"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/no_no.json b/common/src/main/resources/assets/tardis_refined/lang/no_no.json
index dc5037c8..fca6dbd4 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/no_no.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/no_no.json
@@ -13,7 +13,7 @@
"block.tardis_refined.bulk_head_door": "Skottdør",
"block.tardis_refined.console_configuration": "Manøverbordskonfigurator",
"block.tardis_refined.corridor_teleporter": "Korridor Teleporterer",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
+ "block.tardis_refined.deepslate_zeiton_ore": "Sejtonmalm i dypskifer",
"block.tardis_refined.flight_detector": "Flydetektor",
"block.tardis_refined.fools_stone": "Bomens Stein",
"block.tardis_refined.gravity_well": "Tyngde vel",
@@ -25,11 +25,11 @@
"block.tardis_refined.tardis_door": "Tardisdør",
"block.tardis_refined.tardis_shell": "Tardis",
"block.tardis_refined.terraformer": "Terraformingsmaskin",
- "block.tardis_refined.zeiton_block": "Blokk for Zeiton",
- "block.tardis_refined.zeiton_fused_copper_block": "Zeiton Anslått Kobber Blokk",
- "block.tardis_refined.zeiton_fused_iron_block": "Zeiton Ansatt Jernblokk",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
+ "block.tardis_refined.zeiton_block": "Sejtonblokk",
+ "block.tardis_refined.zeiton_fused_copper_block": "Kobberblokk med sejtonramme",
+ "block.tardis_refined.zeiton_fused_iron_block": "Jernblokk med sejtonramme",
+ "block.tardis_refined.zeiton_lantern": "Sejtonlykt",
+ "block.tardis_refined.zeiton_ore": "Sejtonmalm",
"command.tardis_refined.create.in_progress": "Prøver å opprette Tardis %s, generasjon pågår",
"command.tardis_refined.create.success": "Opprettelsen av Tardis med id %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s er ikke en tardisdimensjon!",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Låst oppgradering %s for %s",
"command.tardis_refined.upgrade.unlock": "Opplåst oppgradering %s for %s",
"config.tardis_refined.banned_dimensions": "Forbudte dimensjoner",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Spille manøverbordsanimasjoner ved inaktivitet",
"config.tardis_refined.control_names": "Vise kontrollnavn?",
"config.tardis_refined.immersive_portals": "Kompatibilitet med Immersive Portals?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimensjon",
"control.tardis_refined.door_toggle": "Dørknapp",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Hurtigretur",
"control.tardis_refined.fuel": "Brensel",
- "control.tardis_refined.generic_control": "Bytt",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Håndbrems",
"control.tardis_refined.increment": "Inkrementkontroll",
"control.tardis_refined.monitor": "Terminal",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Retningskontroll",
"control.tardis_refined.throttle": "Håndbrems",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Kontroll",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Boremaskin",
"item.tardis_refined.glasses": "AR Briller",
"item.tardis_refined.keychain": "Nøkkelring",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Mønstermanipulator",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
+ "item.tardis_refined.raw_zeiton": "Sejtonerts",
"item.tardis_refined.tardis_key": "Tardisnøkkel",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.test_tube": "Test Tube",
+ "item.tardis_refined.zeiton_ingot": "Sejtonbarre",
+ "item.tardis_refined.zeiton_nugget": "Sejtonklump",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Stig: %s",
"message.tardis_refined.astral_manipulator_engaged": "Utvelgelsen din. Høyreklikk igjen for å bekrefte",
"message.tardis_refined.cannot_start_no_fuel": "Ikke nok drivstoff til å starte",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kan ikke endre konsoller mens du er i flukt",
- "message.tardis_refined.console_config_not_in_flight": "Kan ikke oppdatere konsoll-blokk mens i flyging",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "GJELDENDE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Synk: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Ikke nok drivstoff til å starte avstemningsprosessen",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "Destinasjon",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Du må vente %s sekund(er)",
- "message.tardis_refined.fuel": "Drivstoff: ",
- "message.tardis_refined.fuel_offline": "Drivstoff frakoblet",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Håndbrems demontert",
"message.tardis_refined.handbrake_engaged": "Håndbrems engasjert",
"message.tardis_refined.handbrake_warning": "Skipet er i flyvning. Venstreklikk på håndbremsen for å engasjere seg",
- "message.tardis_refined.hardware_offline": "Maskinvare frakoblet",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Nøkkel bundet til %s",
"message.tardis_refined.key_cycled": "Hovedtardis: %s",
- "message.tardis_refined.landing_pad_transient": "Kan ikke tilkalle TARDIS denne gangen",
- "message.tardis_refined.landing_pad_unlocked": "Spesifisert TARDIS avviste landingspanelsignalet",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "En drage forhindrer deg fra å gå til Slutten",
"message.tardis_refined.no_flight_transitive": "Kan ikke endre håndbremsetilstand mens du er i midlertidig flyging",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Aktivert påfylling",
"message.tardis_refined.refuel_stopped": "Stoppet påfylling",
"message.tardis_refined.root_plant_cut_open": "Hakker dekker inngang",
"message.tardis_refined.selected": "Valgt: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS er innkalt og er på vei",
- "message.tardis_refined.tooltip_in_flight": "I flukt",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Veipunkt navn",
"monitor.waypoints.new_waypoint": "Nytt veipunkt",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Standardskallet",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Korallvekst",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Eldegyptisk gravkapell",
"shell.tardis_refined.lift": "Løft",
"shell.tardis_refined.mystic": "Alveskap",
"shell.tardis_refined.nuka": "Nuka-Cola-automat",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Politiboks",
"shell.tardis_refined.portaloo": "Flyttbar utedo",
"shell.tardis_refined.present": "Gave",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Myntautomat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar aktivert",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Konsoll strøm på",
"sound.corridor_teleporter.subtitle": "Teleporterer bygging",
"sound.corridor_teleporter_success.subtitle": "Teleporterer brukt",
"sound.destination_ding.subtitle": "MAPIS når destinasjonen",
"sound.flight_fail_start.subtitle": "Fantastisk TARDIS-feil",
"sound.gravity_tunnel.subtitle": "Tyngdetunellvinder",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creeker",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Mønstermanipulator aktiveres",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Skru av kassering av data",
"sound.screwdriver_short.subtitle": "Skrådriver brukt",
"sound.static.subtitle": "Skjermbrus",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "Tardis reiser",
"sound.tardis_takeoff.subtitle": "Tardis forsvinner",
"sound.time_blast.subtitle": "Tidsvirveleksplosjon",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "En ametyst frekvensmanipulator",
- "tooltip.tardis_refined.tardis_list": "Nøkkelring:",
- "ui.tardis_refined.desktop_selection": "KONTROLLROMSKONFIGURASJON",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Ønsker du å avbryte den planlagte omkonfigurasjonen?",
- "ui.tardis_refined.monitor.desktop": "KONTROLLROMSKONFIGURASJON",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Avbryt kontrollromsomkonfigurasjonen",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERASJON PÅGÅR",
"ui.tardis_refined.monitor.desktop_cancel_description": "Tardissystemene er deaktivert på grunn av en planlagt kontrollromsomkonfigurasjon.",
- "ui.tardis_refined.monitor.external_shell": "SKALLKONFIGURASJON",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Nåværende: &s",
"ui.tardis_refined.monitor.main.destination": "Destinasjon",
"ui.tardis_refined.monitor.main.gps": "Beliggenhet",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "TERMINAL",
"ui.tardis_refined.monitor.no.waypoints": "Det finnes ikke noen lagrede veipunkter!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "KOORDINATNAVIGERING",
"ui.tardis_refined.monitor.upload.waypoints": "VEIPUNKTSNAVIGERING",
"ui.tardis_refined.monitor.waypoint_name": "Veipunktsnavn:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Ugyldig Y-verdi",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ugyldig Z-verdi",
"ui.tardis_refined.monitor.waypoints.load": "Send til konsoll",
- "ui.tardis_refined.monitor.waypoints.submit": "Send",
"ui.tardis_refined.monitor.waypoints.upload": "Last opp",
"ui.tardis_refined.no_installed_subsystems": "Ingen tilgjengelige delsystemer",
- "ui.tardis_refined.shell_selection": "SKALLKONFIGURASJON",
"ui.tardis_refined.upgrades": "Tardis Oppgraderinger",
"ui.tardis_refined.upgrades.buy_ability": "Kjøp oppgrader?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "arkitektur",
"upgrade.tardis_refined.architecture_system.description": "Aktiverer TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Kameleon krets",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 økning",
"upgrade.tardis_refined.explorer_iii": "Utforsker III",
"upgrade.tardis_refined.explorer_iii.description": "Økning i x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Forbedret generasjon I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Senker skrivebord vente ganger til 120 sekunder",
"upgrade.tardis_refined.improved_generation_time_ii": "Forbedret generasjon II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Tillater at TARDIS har enheter tilgjengelige mens materalisering pågår",
"upgrade.tardis_refined.navigation_system": "Navigasjons system",
"upgrade.tardis_refined.navigation_system.description": "Tillater oppgraderinger til TARDIS navigasjonssystem",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Systemoppgraderinger",
"upgrade.tardis_refined.tardis_xp.description": "Lar oppgraderinger til TARDIS",
"upgrade.tardis_refined.waypoints": "Veipunkter",
- "upgrade.tardis_refined.waypoints.description": "Lar Piloten opprette lagrede steder"
+ "upgrade.tardis_refined.waypoints.description": "Lar Piloten opprette lagrede steder",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/pl_pl.json b/common/src/main/resources/assets/tardis_refined/lang/pl_pl.json
index d6b72a58..2f8173e0 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/pl_pl.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/pl_pl.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Zablokowane ulepszenie %s dla %s",
"command.tardis_refined.upgrade.unlock": "Odblokowane ulepszenie %s dla %s",
"config.tardis_refined.banned_dimensions": "Niedozwolone Wymiary",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Odtwarzaj animacje bezczynności konsoli",
"config.tardis_refined.control_names": "Pokazuj nazwy elementów sterowanie?",
"config.tardis_refined.immersive_portals": "Kompatybilność z Immersive Portals?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Wymiar",
"control.tardis_refined.door_toggle": "Przełącznik Drzwi",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Szybki Powrót",
"control.tardis_refined.fuel": "Paliwo",
- "control.tardis_refined.generic_control": "Przełącznik",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Hamulec Ręczny",
"control.tardis_refined.increment": "Inkrementacja",
"control.tardis_refined.monitor": "Bank Pamięci",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Kierunek",
"control.tardis_refined.throttle": "Przepustnica",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s Został/ła usmażony/na Przez wiatry czasu.",
"death.attack.eye_of_harmony.player": "%s Został/ła usmażony/na Przez wiatry czasu.",
"entity.tardis_refined.console_control": "Ogólna Kontrola",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Wiertło Wzrostowe",
"item.tardis_refined.glasses": "Okulary Rzeczywistości rozszerzonej",
"item.tardis_refined.keychain": "Zestaw Kluczy Tardis",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Manipulator Wzorów",
"item.tardis_refined.raw_zeiton": "Surowy Zeiton",
"item.tardis_refined.tardis_key": "Klucz Tardis",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Sztabka Zeiton-u",
"item.tardis_refined.zeiton_nugget": "Okruch Zeiton-u",
"itemGroup.tardis_refined": "Wyrafinowany Tardis",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Idź do góry: %s",
"message.tardis_refined.astral_manipulator_engaged": "Proszę dokonać wyboru. Kliknij prawym przyciskiem myszy, aby potwierdzić",
"message.tardis_refined.cannot_start_no_fuel": "Za mało paliwa do uruchomienia",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Nie można zmienić konsoli podczas lotu",
- "message.tardis_refined.console_config_not_in_flight": "Nie można zaktualizować bloku konsoli podczas lotu",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "BIEŻĄCE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Idź do dołu: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Za mało paliwa, aby rozpocząć proces rekonfiguracji",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "PRZEZNACZENIE",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Musisz poczekać %s sekund",
- "message.tardis_refined.fuel": "Paliwo: ",
- "message.tardis_refined.fuel_offline": "Paliwo offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Hamulec ręczny wyłączony",
"message.tardis_refined.handbrake_engaged": "Włączony hamulec ręczny",
"message.tardis_refined.handbrake_warning": "Statek jest w locie. Kliknij lewym przyciskiem myszy na hamulec ręczny, aby się zaangażować",
- "message.tardis_refined.hardware_offline": "Sprzęt offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Klucz przypisany do %s",
"message.tardis_refined.key_cycled": "Główny: %s",
- "message.tardis_refined.landing_pad_transient": "Nie można przywołać TARDIS w tej chwili",
- "message.tardis_refined.landing_pad_unlocked": "Określony TARDIS odrzucił sygnał płytki do lądowania",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Smok zapobiega przechodzeniu do Kresu",
"message.tardis_refined.no_flight_transitive": "Nie można zmienić stanu hamulca ręcznego podczas lotu tranzytowego",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Włączone tankowanie",
"message.tardis_refined.refuel_stopped": "Zatrzymano tankowanie",
"message.tardis_refined.root_plant_cut_open": "Korzenie pokrywające wejście",
"message.tardis_refined.selected": "Wybrany: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS został wezwany i jest w drodze",
- "message.tardis_refined.tooltip_in_flight": "W locie",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Wstępnie załadowany punkt drogi: %s",
"monitor.waypoints.name.placeholder": "Nazwa punktu drogi",
"monitor.waypoints.new_waypoint": "Nowy punkt drogi",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Fabryczny",
"shell.tardis_refined.groening": "Greoning",
"shell.tardis_refined.growth": "Roślina",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglif",
"shell.tardis_refined.lift": "Winda",
"shell.tardis_refined.mystic": "Mistyczna",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Budka Policyjna",
"shell.tardis_refined.portaloo": "Toi Toi",
"shell.tardis_refined.present": "Prezent",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Automat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "Brzęczenie drzewa ARS",
"sound.artron_pillar_active.subtitle": "Aktywowano filar artronu",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Konsola włączona",
"sound.corridor_teleporter.subtitle": "Budynek teleportera",
"sound.corridor_teleporter_success.subtitle": "Używany teleporter",
"sound.destination_ding.subtitle": "TARDIS dociera do celu",
"sound.flight_fail_start.subtitle": "TARDIS zrzędzi w niepowodzeniu",
"sound.gravity_tunnel.subtitle": "Wiatr tunelu grawitacyjnego",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Utwory",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Manipulator Wzorów aktywuje się",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Dane dotyczące odrzutów śrubokrętów",
"sound.screwdriver_short.subtitle": "Narzędzia do wiercenia w kamieniu lub do wierceń ziemnych",
"sound.static.subtitle": "Szum na Ekranie",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS leci",
"sound.tardis_takeoff.subtitle": "TARDIS startuje",
"sound.time_blast.subtitle": "Wybuch wiru czasu",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Ametystowy manipulator częstotliwości",
- "tooltip.tardis_refined.tardis_list": "Zestaw Kluczy:",
- "ui.tardis_refined.desktop_selection": "KONFIGURACJA PULPITU",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Czy chcesz anulować nadchodzącą rekonfigurację?",
- "ui.tardis_refined.monitor.desktop": "KONFIGURACJA PULPITU",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Anuluj nadchodzącą rekonfigurację",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERACJA W TOKU",
"ui.tardis_refined.monitor.desktop_cancel_description": "System wyłączony, ponieważ zaplanowano rekonfigurację pulpitu.",
- "ui.tardis_refined.monitor.external_shell": "KONFIGURACJA POWŁOKI ZEWNĘTRZNEJ",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Obecnie wybrany: &s",
"ui.tardis_refined.monitor.main.destination": "Cel",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "BANK PAMIĘCI",
"ui.tardis_refined.monitor.no.waypoints": "Nie zapisano Punktów Trasy!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "Udźwiękowienie",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "NAWIGACJA WSPÓŁRZĘDNYMI",
"ui.tardis_refined.monitor.upload.waypoints": "NAWIGACJA PUNKTAMI TRASY",
"ui.tardis_refined.monitor.waypoint_name": "Nazwa Punktu Trasy:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Nieprawidłowa wartość Y",
"ui.tardis_refined.monitor.waypoints.issues.z": "Nieprawidłowa wartość Z",
"ui.tardis_refined.monitor.waypoints.load": "Wyślij do konsoli",
- "ui.tardis_refined.monitor.waypoints.submit": "Prześlij",
"ui.tardis_refined.monitor.waypoints.upload": "Prześlij",
"ui.tardis_refined.no_installed_subsystems": "Nie ma dostępnych podsystemów",
- "ui.tardis_refined.shell_selection": "KONFIGURACJA POWŁOKI ZEWNĘTRZNEJ",
"ui.tardis_refined.upgrades": "Ulepszenia Tardis",
"ui.tardis_refined.upgrades.buy_ability": "Kup Ulepszenie?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architektura",
"upgrade.tardis_refined.architecture_system.description": "Włącza ulepszenia architektury TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Obwód kameleona",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "Inkrementacja x2500",
"upgrade.tardis_refined.explorer_iii": "Eksplorator III",
"upgrade.tardis_refined.explorer_iii.description": "Inkrementacja x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Ulepszona Generacja I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Obniża czas oczekiwania na pulpit do 120 sekund",
"upgrade.tardis_refined.improved_generation_time_ii": "Ulepszona Generacja II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Pozwala bytom wejść do TARDIS w trakcie materializacji",
"upgrade.tardis_refined.navigation_system": "System nawigacji",
"upgrade.tardis_refined.navigation_system.description": "Pozwala na ulepszenia Systemu Nawigacji TARDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Ulepszenia systemu",
"upgrade.tardis_refined.tardis_xp.description": "Pozwala na Ulepszanie TARDIS",
"upgrade.tardis_refined.waypoints": "Punkty Trasy",
- "upgrade.tardis_refined.waypoints.description": "Pozwala Pilotowi na zapisywanie lokacji"
+ "upgrade.tardis_refined.waypoints.description": "Pozwala Pilotowi na zapisywanie lokacji",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/pt_br.json b/common/src/main/resources/assets/tardis_refined/lang/pt_br.json
index 495d9d5f..33b3ce85 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/pt_br.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/pt_br.json
@@ -25,9 +25,9 @@
"block.tardis_refined.tardis_door": "Porta da Tardis",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terraformador",
- "block.tardis_refined.zeiton_block": "Bloco de Zeitão",
- "block.tardis_refined.zeiton_fused_copper_block": "Bloco de cobre fundido com Zeitão",
- "block.tardis_refined.zeiton_fused_iron_block": "Bloco de ferro fundido com Zeitão",
+ "block.tardis_refined.zeiton_block": "Bloco de Zeiton",
+ "block.tardis_refined.zeiton_fused_copper_block": "Bloco de Cobre Fundido com Zeiton",
+ "block.tardis_refined.zeiton_fused_iron_block": "Bloco de Ferro fundido com Zeiton",
"block.tardis_refined.zeiton_lantern": "Lanterna de Zeitão",
"block.tardis_refined.zeiton_ore": "Minério de Zeitão",
"command.tardis_refined.create.in_progress": "Tentando criar Tardis %s, geração em progresso",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Melhoria bloqueada %s para %s",
"command.tardis_refined.upgrade.unlock": "Melhoria desbloqueada %s para %s",
"config.tardis_refined.banned_dimensions": "Dimensões Proibidas",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Reproduzir animações do Console",
"config.tardis_refined.control_names": "Renderizar nome dos Controles?",
"config.tardis_refined.immersive_portals": "Compatibilidade com Portais Imersivos?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimensão",
"control.tardis_refined.door_toggle": "Controle da Porta",
+ "control.tardis_refined.exterior_display": "Tela do Exterior",
"control.tardis_refined.fast_return": "Retorno Rápido",
"control.tardis_refined.fuel": "Combustível",
- "control.tardis_refined.generic_control": "Interruptor",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Freio de mão",
"control.tardis_refined.increment": "Aumentar",
"control.tardis_refined.monitor": "Terminal do computador",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direção",
"control.tardis_refined.throttle": "Acelerador",
+ "curios.identifier.timelord_sight": "Óculos RA",
+ "death.attack.choke": "%s foi submerso por fumaças tóxicas",
+ "death.attack.choke.player": "%s foi submerso por fumaças tóxicas",
"death.attack.eye_of_harmony": "%s foi fritada pelos Ventos Temporais.",
"death.attack.eye_of_harmony.player": "%s foi frita pelos Ventos Temporais.",
"entity.tardis_refined.console_control": "Controle Genérico",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Furadeira de Crescimento",
"item.tardis_refined.glasses": "Óculos RA",
"item.tardis_refined.keychain": "Chaveiro da Tardis",
+ "item.tardis_refined.mallet": "Marreta",
"item.tardis_refined.pattern_manipulator": "Manipulador de Padrão",
- "item.tardis_refined.raw_zeiton": "Zeitão bruto",
+ "item.tardis_refined.raw_zeiton": "Zeiton bruto",
"item.tardis_refined.tardis_key": "Chave da Tardis",
- "item.tardis_refined.zeiton_ingot": "Barra de Zeitão",
+ "item.tardis_refined.test_tube": "Tubo de Ensaio",
+ "item.tardis_refined.zeiton_ingot": "Barra de Zeiton",
"item.tardis_refined.zeiton_nugget": "Pepita de Zeiton",
- "itemGroup.tardis_refined": "TARDIS Refinada",
+ "itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Visão do Exterior",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Visão do Exterior) Ativar INFO.",
"message.tardis_refined.ascend_key": "Crescente: %s",
"message.tardis_refined.astral_manipulator_engaged": "Por favor, faça sua seleção. Clique com o botão direito novamente para confirmar",
"message.tardis_refined.cannot_start_no_fuel": "Não há combustível suficiente para começar",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Não é possível mudar o Console durante o vôo",
- "message.tardis_refined.console_config_not_in_flight": "Não é possível atualizar o Bloco do Console em vôo",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ATUAL",
+ "message.tardis_refined.demands_payment": "Demanda Pagamento",
"message.tardis_refined.descend_key": "Decrescente: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Não há combustível suficiente para iniciar o processo de reconfiguração",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINO",
+ "message.tardis_refined.dim_added_to_tardis": "Adicionado %s aos Bancos de Dados",
+ "message.tardis_refined.dim_already_saved": "Já contém uma amostra",
+ "message.tardis_refined.dim_not_allowed": "A dimensão não pode ter amostras",
+ "message.tardis_refined.dim_potential": "Adquirida %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Porta trancada",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Porta Destrancada",
+ "message.tardis_refined.exit_external_view": "Visão da saída: ",
"message.tardis_refined.exterior_cooldown": "Você deve esperar %s segundos",
- "message.tardis_refined.fuel": "Combustível: ",
- "message.tardis_refined.fuel_offline": "Combustível offline",
+ "message.tardis_refined.fuel": "Combustível: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Freio-de-mão engatado",
"message.tardis_refined.handbrake_engaged": "Freio-de-mão engatado",
"message.tardis_refined.handbrake_warning": "A nave está em voo. Clique com o botão esquerdo no Freio-de-mão para intervir",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Chave vinculada a %s",
"message.tardis_refined.key_cycled": "Principal: %s",
- "message.tardis_refined.landing_pad_transient": "Não é possível convocar TARDIS neste momento",
- "message.tardis_refined.landing_pad_unlocked": "A TARDIS especificada rejeitou o sinal da plataforma de pouso",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Um dragão impede que você avance para o The End",
"message.tardis_refined.no_flight_transitive": "Não é possível alterar o estado de Freio-de-mão enquanto estiver em vôo transitivo",
+ "message.tardis_refined.pilot_time": "Você ainda tem %s com seu piloto. Aproveite ao máximo!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Progresso de Recuperação: %s",
"message.tardis_refined.refuel_engaged": "Reabastecimento habilitado",
"message.tardis_refined.refuel_stopped": "Reabastecimento parado",
"message.tardis_refined.root_plant_cut_open": "As raízes cobrem a entrada",
"message.tardis_refined.selected": "Selecionado: %s",
+ "message.tardis_refined.submit": "Enviar",
"message.tardis_refined.tardis_on_the_way": "TARDIS foi convocada e está a caminho",
- "message.tardis_refined.tooltip_in_flight": "Em voo",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Waypoint pré-carregado: %s",
"monitor.waypoints.name.placeholder": "Nome do Waypoint",
"monitor.waypoints.new_waypoint": "Novo Waypoint",
@@ -117,28 +144,41 @@
"shell.tardis_refined.factory": "Fábrica",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Crescimento",
+ "shell.tardis_refined.half_baked": "Meio Cozido",
"shell.tardis_refined.hieroglyph": "Hieróglifo",
"shell.tardis_refined.lift": "Elevador",
"shell.tardis_refined.mystic": "Místico",
"shell.tardis_refined.nuka": "Nuka",
"shell.tardis_refined.pagoda": "Pagoda",
"shell.tardis_refined.pathfinder": "Desbravador",
- "shell.tardis_refined.phone_booth": "Cabine telefônica",
- "shell.tardis_refined.police_box": "Cabine Policial",
+ "shell.tardis_refined.phone_booth": "Cabine telefônica vermelha",
+ "shell.tardis_refined.police_box": "Cabine de polícia",
"shell.tardis_refined.portaloo": "Banheiro Químico",
"shell.tardis_refined.present": "Presente",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Maquina de vendas",
+ "sound.alarm.subtitle": "Alarme",
"sound.ars_hum.subtitle": "Zunido da árvore SRA",
"sound.artron_pillar_active.subtitle": "Pilar de Artron ativado",
+ "sound.cloister_bell.subtitle": "Sino de Claustro",
"sound.console_power_on.subtitle": "Energia do Console ativada",
"sound.corridor_teleporter.subtitle": "Construindo Teletransportador",
"sound.corridor_teleporter_success.subtitle": "Teletransportador usado",
"sound.destination_ding.subtitle": "TARDIS chega ao destino",
"sound.flight_fail_start.subtitle": "Gemidos de falha da TARDIS",
"sound.gravity_tunnel.subtitle": "Ventos do Túnel de gravidade",
+ "sound.hum_aviatrax.subtitle": "Zumbidos da TARDIS",
+ "sound.hum_cave.subtitle": "Zumbidos da TARDIS",
+ "sound.hum_classic.subtitle": "Zumbidos da TARDIS",
+ "sound.hum_coral.subtitle": "Zumbidos da TARDIS",
+ "sound.hum_toyota.subtitle": "Zumbidos da TARDIS",
+ "sound.hum_victorian.subtitle": "Zumbidos da TARDIS",
"sound.interior_creaks.subtitle": "Estalos",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Aviso de combustível baixo",
+ "sound.mallet.subtitle": "Marretada",
"sound.pattern_manipulator.subtitle": "Manipulador de Padrões ativado",
+ "sound.screwdriver_connect.subtitle": "Posição conectada a Chave de Fenda",
"sound.screwdriver_discard.subtitle": "Chave de fenda descarta dados",
"sound.screwdriver_short.subtitle": "Chave de fenda usada",
"sound.static.subtitle": "Estática da tela",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS voa",
"sound.tardis_takeoff.subtitle": "TARDIS decola",
"sound.time_blast.subtitle": "Explosão do Vórtice Temporal",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Um manipulador de frequência de Ametista",
- "tooltip.tardis_refined.tardis_list": "Conjunto de Chaves:",
- "ui.tardis_refined.desktop_selection": "CONFIGURAÇÃO DO DESKTOP",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Chave definida:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecodificando exemplo: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Exemplo salvo: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Sem amostra de dimensão",
"ui.tardis_refined.monitor.cancel_desktop": "Você gostaria de cancelar a próxima reconfiguração?",
- "ui.tardis_refined.monitor.desktop": "CONFIGURAÇÃO DO DESKTOP",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancelar reconfiguração do Desktop",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERAÇÃO EM ANDAMENTO",
"ui.tardis_refined.monitor.desktop_cancel_description": "Sistemas desativados como se uma reconfiguração no Desktop fosse programada.",
- "ui.tardis_refined.monitor.external_shell": "CONFIGURAÇÃO DO CASCO EXTERNO",
+ "ui.tardis_refined.monitor.external_shell": "CONFIGURAÇÃO DO EXTERIOR",
"ui.tardis_refined.monitor.list.selection": "Atualmente selecionado: &s",
"ui.tardis_refined.monitor.main.destination": "Destino",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTADOR",
"ui.tardis_refined.monitor.no.waypoints": "Nenhuma Marcação Salva!",
+ "ui.tardis_refined.monitor.select.eject": "EJEÇÃO DE EMERGENCIA",
+ "ui.tardis_refined.monitor.select.eject_fail": "Não é possível ejetar durante o voo",
"ui.tardis_refined.monitor.select.hum": "SOM AMBIENTE",
+ "ui.tardis_refined.monitor.shell_view": "VISÃO DO EXTERIOR",
"ui.tardis_refined.monitor.upload.coords": "COORDENADAS DE NAVEGAÇÃO",
"ui.tardis_refined.monitor.upload.waypoints": "NAVEGAÇÃO DE MARCAÇÃO",
"ui.tardis_refined.monitor.waypoint_name": "Nome do Waypoint:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Valor Y inválido",
"ui.tardis_refined.monitor.waypoints.issues.z": "Valor Z inválido",
"ui.tardis_refined.monitor.waypoints.load": "Enviar para o Console",
- "ui.tardis_refined.monitor.waypoints.submit": "Enviar",
"ui.tardis_refined.monitor.waypoints.upload": "Carregar",
"ui.tardis_refined.no_installed_subsystems": "Não há Subsistemas disponíveis",
- "ui.tardis_refined.shell_selection": "CONFIGURAÇÃO DO CASCO EXTERNO",
"ui.tardis_refined.upgrades": "Melhorias da TARDIS",
"ui.tardis_refined.upgrades.buy_ability": "Comprar Melhoria?",
+ "ui.tardis_refined.villager_can_pilot": "Piloto?",
"upgrade.tardis_refined.architecture_system": "Sitema de Arquitetura",
"upgrade.tardis_refined.architecture_system.description": "Permite melhorias à arquitetura da TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Circuito Camaleão",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "Aumentar 2500x",
"upgrade.tardis_refined.explorer_iii": "Explorador III",
"upgrade.tardis_refined.explorer_iii.description": "Aumentar 5000x",
+ "upgrade.tardis_refined.flight_system": "Sistema de voo",
+ "upgrade.tardis_refined.flight_system.description": "Permite melhorias ao Sistema de Voo da TARDIS",
"upgrade.tardis_refined.improved_generation_time_i": "Geração aprimorada I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Diminui o tempo de espera do Desktop para 120 segundos",
"upgrade.tardis_refined.improved_generation_time_ii": "Geração aprimorada II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Permite que entidades entrem na TARDIS ao materializar diretamente nelas",
"upgrade.tardis_refined.navigation_system": "Sistema de Navegação",
"upgrade.tardis_refined.navigation_system.description": "Permite melhorias ao sistema de navegação da TARDIS",
+ "upgrade.tardis_refined.speed_i": "Velocidade l",
+ "upgrade.tardis_refined.speed_i.description": "Velocidade de voo 5x mais rápida",
+ "upgrade.tardis_refined.speed_ii": "Velociade ll",
+ "upgrade.tardis_refined.speed_ii.description": "Velocidade de voo 10x mais rápida",
+ "upgrade.tardis_refined.speed_iii": "Velocidade lll",
+ "upgrade.tardis_refined.speed_iii.description": "Velocidade de voo 25x mais rápida",
+ "upgrade.tardis_refined.speed_iv": "Velocidade lV",
+ "upgrade.tardis_refined.speed_iv.description": "Velocidade de voo 50x mais rápida",
"upgrade.tardis_refined.tardis_xp": "Sistema de Melhorias",
"upgrade.tardis_refined.tardis_xp.description": "Permite melhorias à TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Permite que o piloto crie e salve localizações"
+ "upgrade.tardis_refined.waypoints.description": "Permite que o piloto crie e salve localizações",
+ "vortex.tardis_refined.agender_flag": "Bandeira Agênero",
+ "vortex.tardis_refined.aurora_dreams": "Sonhos Aurorais",
+ "vortex.tardis_refined.bisexual_flag": "Bandeira Bisexual",
+ "vortex.tardis_refined.candy_pop": "Doces Pop",
+ "vortex.tardis_refined.clouds": "Nuvens",
+ "vortex.tardis_refined.crystal_lagoon": "Lagoa Cristalina",
+ "vortex.tardis_refined.desert_mirage": "Miragem do deserto",
+ "vortex.tardis_refined.emerald_forest": "Floresta de Esmeraldas",
+ "vortex.tardis_refined.flow": "Corrente",
+ "vortex.tardis_refined.gay_flag": "Bandeira Gay",
+ "vortex.tardis_refined.lesbian_flag": "Bandeira Lésbica",
+ "vortex.tardis_refined.lgbt_rainbow": "Bandeira LGBT",
+ "vortex.tardis_refined.neon_pulse": "Pulso Néon",
+ "vortex.tardis_refined.non_binary_flag": "Bandeira Não Binária",
+ "vortex.tardis_refined.ocean_breeze": "Brisa Oceânica",
+ "vortex.tardis_refined.solar_flare": "Clarão Solar",
+ "vortex.tardis_refined.space": "Espaço",
+ "vortex.tardis_refined.stars": "Estrelas",
+ "vortex.tardis_refined.transgender_flag": "Bandeira Trans",
+ "vortex.tardis_refined.twilight_glow": "Brilho do Crepúsculo",
+ "vortex.tardis_refined.velvet_night": "Noite Aveludada",
+ "vortex.tardis_refined.waves": "Ondas"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/pt_pt.json b/common/src/main/resources/assets/tardis_refined/lang/pt_pt.json
index 1825b414..3e063076 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/pt_pt.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/pt_pt.json
@@ -1,113 +1,140 @@
{
- "argument.tardis_refined.desktop.invalid": "Área de trabalho de ID %s inválida",
- "argument.tardis_refined.shell.invalid": "Shell de ID %s inválido",
- "argument.tardis_refined.upgrade.invalid": "Atualização de ID %s inválida",
+ "argument.tardis_refined.desktop.invalid": "Interior de ID %s inválido",
+ "argument.tardis_refined.shell.invalid": "Casco de ID %s inválido",
+ "argument.tardis_refined.upgrade.invalid": "Melhoria de ID %s inválida",
"block.tardis_refined.air_lock_generator": "Gerador de Câmara de Descompressão",
"block.tardis_refined.ars_egg": "Ovo SRA",
"block.tardis_refined.ars_leaves": "Folhas SRA",
"block.tardis_refined.ars_leaves_fence": "Cerca SRA",
"block.tardis_refined.ars_leaves_slab": "Laje SRA",
- "block.tardis_refined.artron_pillar": "Pilar de Artron",
+ "block.tardis_refined.artron_pillar": "Pilar Artron",
"block.tardis_refined.artron_pillar_port": "Porto do Pilar Artron",
"block.tardis_refined.astral_manipulator": "Manipulador Astral",
"block.tardis_refined.bulk_head_door": "Porta de Anteparo",
- "block.tardis_refined.console_configuration": "Configurar Painel",
+ "block.tardis_refined.console_configuration": "Configurar Console",
"block.tardis_refined.corridor_teleporter": "Teletransportador de Corredor",
- "block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
- "block.tardis_refined.flight_detector": "Detetor de Voo",
- "block.tardis_refined.fools_stone": "Pedra de Bobo",
- "block.tardis_refined.gravity_well": "Poço de Gravidade",
+ "block.tardis_refined.deepslate_zeiton_ore": "Minério de Zeiton de Ardósia",
+ "block.tardis_refined.flight_detector": "Detector de Voo",
+ "block.tardis_refined.fools_stone": "Pedra de Tolo",
+ "block.tardis_refined.gravity_well": "Poço Gravitacional",
"block.tardis_refined.landing_pad": "Plataforma de Aterragem",
"block.tardis_refined.root_plant": "Planta Raiz",
"block.tardis_refined.root_shell": "Casco Raiz",
"block.tardis_refined.root_shell_door": "Porta Raiz",
- "block.tardis_refined.tardis_console": "Painel de Controle",
+ "block.tardis_refined.tardis_console": "Console",
"block.tardis_refined.tardis_door": "Porta da TARDIS",
"block.tardis_refined.tardis_shell": "TARDIS",
"block.tardis_refined.terraformer": "Terraformador",
"block.tardis_refined.zeiton_block": "Bloco de Zeiton",
- "block.tardis_refined.zeiton_fused_copper_block": "Bloco de cobre usado Zeiton",
- "block.tardis_refined.zeiton_fused_iron_block": "Bloco de ferro usado Zeiton",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
+ "block.tardis_refined.zeiton_fused_copper_block": "Bloco de Zeiton com Liga de Cobre",
+ "block.tardis_refined.zeiton_fused_iron_block": "Bloco de Zeiton com Liga de Ferro",
+ "block.tardis_refined.zeiton_lantern": "Lanterna Zeiton",
+ "block.tardis_refined.zeiton_ore": "Minério de Zeiton",
"command.tardis_refined.create.in_progress": "Tentando criar Tardis %s, geração em andamento",
- "command.tardis_refined.create.success": "Tardis criado com ajuda %s com sucesso",
+ "command.tardis_refined.create.success": "Tardis com id %s criada com sucesso",
"command.tardis_refined.dim_not_a_tardis": "§c%s não é uma Dimensão de TARDIS!",
"command.tardis_refined.export_desktop.fail": "§cFalha ao exportar interior %s!",
"command.tardis_refined.export_desktop.in_progress": "Gerando pacote de dados para o interior %s, isso pode levar um tempo dependendo do tamanho da estrutura...",
"command.tardis_refined.export_desktop.resource_pack": "§9Para definir a imagem de visualização do interior, por favor crie um Pacote de Recursos. Veja alguns exemplos de Pacotes de Recursos em: %s",
"command.tardis_refined.export_desktop.success": "§aInterior %s exportado com êxito para o pacote de dados %s! Utilize o comando %s para ver as mudanças.",
- "command.tardis_refined.level.point.add": "Adicionado %s pontos para %s, total de pontos são agora %s",
- "command.tardis_refined.level.point.get": "%s tem pontos %s aprimorar",
- "command.tardis_refined.level.point.set": "Definir pontos de melhoria para %s para %s",
+ "command.tardis_refined.level.point.add": "Adicionado %s pontos para %s, agora o total é de %s pontos",
+ "command.tardis_refined.level.point.get": "%s tem %s pontos de melhoria",
+ "command.tardis_refined.level.point.set": "Definir pontos de melhorias para %s para %s",
"command.tardis_refined.level.xp.add": "Adicionado %s XP para %s, XP total é agora %s",
- "command.tardis_refined.level.xp.get": "%s tem XP em %s",
- "command.tardis_refined.level.xp.set": "Defina XP para %s para %s",
+ "command.tardis_refined.level.xp.get": "%s tem %s XP",
+ "command.tardis_refined.level.xp.set": "Definir XP para %s para %s",
"command.tardis_refined.no_internal_door": "§cNenhuma Porta Interna encontrada na dimensão %s! Considere usar o comando de teleporte padrão %s",
- "command.tardis_refined.upgrade.lock": "Atualização bloqueada %s para %s",
- "command.tardis_refined.upgrade.unlock": "Atualização desbloqueada %s para %s",
+ "command.tardis_refined.upgrade.lock": "Melhoria de %s bloqueada para %s",
+ "command.tardis_refined.upgrade.unlock": "Melhoria de %s desbloqueada para %s",
"config.tardis_refined.banned_dimensions": "Dimensões Proibidas",
- "config.tardis_refined.console_idle_animations": "Reproduza animações de console ociosas",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
+ "config.tardis_refined.console_idle_animations": "Reproduzir animações de console",
"config.tardis_refined.control_names": "Renderizar o nome dos controles?",
- "config.tardis_refined.immersive_portals": "Compatibilidade com Portais Imersivos?",
+ "config.tardis_refined.immersive_portals": "Compatibilidade com Immersive Portals?",
"control.tardis_refined.cord_x": "X",
"control.tardis_refined.cord_y": "Y",
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimensão",
"control.tardis_refined.door_toggle": "Controle da Porta",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Retorno Rápido",
"control.tardis_refined.fuel": "Combustível",
- "control.tardis_refined.generic_control": "Interruptor",
- "control.tardis_refined.hand_brake": "Trapaça",
- "control.tardis_refined.increment": "Aumentar",
+ "control.tardis_refined.generic_control": "Switch",
+ "control.tardis_refined.hand_brake": "Freio de mão",
+ "control.tardis_refined.increment": "Incremento",
"control.tardis_refined.monitor": "Computador",
"control.tardis_refined.random": "Aleatorizar",
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direção",
"control.tardis_refined.throttle": "Manete",
- "death.attack.eye_of_harmony": "%s foi fritada por ventos do tempo.",
- "death.attack.eye_of_harmony.player": "%s foi fritada por ventos do tempo.",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
+ "death.attack.eye_of_harmony": "%s fritou pelos ventos do tempo.",
+ "death.attack.eye_of_harmony.player": "%s fritou pelos ventos do tempo.",
"entity.tardis_refined.console_control": "Controle Genérico",
"item.tardis_refined.amethyst_screwdriver": "Chave de Fenda Ametista",
"item.tardis_refined.drill": "Perfurador",
- "item.tardis_refined.glasses": "Óculos de AR",
+ "item.tardis_refined.glasses": "Óculos de R.A.",
"item.tardis_refined.keychain": "Jogo de Chaves da TARDIS",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Manipulador de Modelo",
- "item.tardis_refined.raw_zeiton": "Raw Zeiton",
+ "item.tardis_refined.raw_zeiton": "Zeiton Bruto",
"item.tardis_refined.tardis_key": "Chave da TARDIS",
- "item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
- "item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
+ "item.tardis_refined.test_tube": "Test Tube",
+ "item.tardis_refined.zeiton_ingot": "Barra de Zeiton",
+ "item.tardis_refined.zeiton_nugget": "Pepita de Zeiton",
"itemGroup.tardis_refined": "TARDIS Refinada",
- "message.tardis_refined.ascend_key": "Ascender: %s",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
+ "message.tardis_refined.ascend_key": "Subir: %s",
"message.tardis_refined.astral_manipulator_engaged": "Por favor, faça sua seleção. Clique com o botão direito novamente para confirmar",
- "message.tardis_refined.cannot_start_no_fuel": "Não há combustível suficiente para começar",
- "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Não é possível mudar consoles em vôo",
- "message.tardis_refined.console_config_not_in_flight": "Não é possível atualizar o bloco de console em vôo",
+ "message.tardis_refined.cannot_start_no_fuel": "Não há combustível suficiente para iniciar",
+ "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Não é possível mudar consoles em voo",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ATUAL",
- "message.tardis_refined.descend_key": "Descendente: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Não há combustível suficiente para iniciar o processo de reconfiguração",
+ "message.tardis_refined.demands_payment": "Demands payment",
+ "message.tardis_refined.descend_key": "Descer: %s",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINO",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Deve esperar %s segundos",
- "message.tardis_refined.fuel": "Combustível: ",
- "message.tardis_refined.fuel_offline": "Combustível offline",
- "message.tardis_refined.handbrake_disengaged": "Trapaceiro desengajado",
- "message.tardis_refined.handbrake_engaged": "Travamento engajado",
- "message.tardis_refined.handbrake_warning": "A nave está em voo. Clique com o botão esquerdo para encaixar",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
+ "message.tardis_refined.handbrake_disengaged": "Freio de mão desengatado",
+ "message.tardis_refined.handbrake_engaged": "Freio de mão engatado",
+ "message.tardis_refined.handbrake_warning": "A nave está em voo. Clique com o botão esquerdo no freio de mão para engatar",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Tecla Definida para %s",
"message.tardis_refined.key_cycled": "Principal: %s",
- "message.tardis_refined.landing_pad_transient": "Não é possível convocar TARDIS neste momento",
- "message.tardis_refined.landing_pad_unlocked": "O sinal TARDIS rejeitado pela especificação",
- "message.tardis_refined.no_end_dragon_prevents": "Um dragão impede que você avance para o The End",
- "message.tardis_refined.no_flight_transitive": "Não é possível alterar o estado de brake enquanto estiver em vôo transitivo",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
+ "message.tardis_refined.no_end_dragon_prevents": "Um dragão impede que você avance para o End",
+ "message.tardis_refined.no_flight_transitive": "Não é possível alterar o freio de mão enquanto estiver em voo",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Reabastecimento habilitado",
- "message.tardis_refined.refuel_stopped": "Reabastecimento parado",
- "message.tardis_refined.root_plant_cut_open": "Os raios cobrem a entrada",
+ "message.tardis_refined.refuel_stopped": "Reabastecimento interrompido",
+ "message.tardis_refined.root_plant_cut_open": "Raízes cobrem a entrada",
"message.tardis_refined.selected": "Selecionado: %s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS foi convocado e está a caminho",
- "message.tardis_refined.tooltip_in_flight": "Em vôo",
- "message.tardis_refined.waypoint_loaded": "Ponto pré-carregado: %s",
- "monitor.waypoints.name.placeholder": "Nome do waypoint",
+ "message.tardis_refined.submit": "Submit",
+ "message.tardis_refined.tardis_on_the_way": "TARDIS foi invocada e está a caminho",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
+ "message.tardis_refined.waypoint_loaded": "Waypoint pré-carregado: %s",
+ "monitor.waypoints.name.placeholder": "Nome do Waypoint",
"monitor.waypoints.new_waypoint": "Novo Waypoint",
"monitor.waypoints.taken": "Dados recuperados dos valores de destino",
"shell.tardis_refined.big_ben": "Big Ben",
@@ -117,52 +144,77 @@
"shell.tardis_refined.factory": "Fábrica",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Crescimento",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Hieróglifo",
"shell.tardis_refined.lift": "Elevador",
"shell.tardis_refined.mystic": "Místico",
"shell.tardis_refined.nuka": "Nuka",
"shell.tardis_refined.pagoda": "Pagoda",
"shell.tardis_refined.pathfinder": "Descobridor",
- "shell.tardis_refined.phone_booth": "Cabine Telefónica",
+ "shell.tardis_refined.phone_booth": "Cabine Telefônica",
"shell.tardis_refined.police_box": "Cabine Policial",
"shell.tardis_refined.portaloo": "Casa de Banho Portátil",
"shell.tardis_refined.present": "Presente",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Máquina de Venda Automática",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "Hum Árvore ARS",
- "sound.artron_pillar_active.subtitle": "Pilar de Artron ativado",
- "sound.console_power_on.subtitle": "Potência do console ligado",
- "sound.corridor_teleporter.subtitle": "Construindo Teletransportador",
- "sound.corridor_teleporter_success.subtitle": "Teletransportador usado",
- "sound.destination_ding.subtitle": "TARDIS chegou ao destino",
- "sound.flight_fail_start.subtitle": "Gangues TARDIS falhando",
- "sound.gravity_tunnel.subtitle": "Ventos da gravidade do túnel",
- "sound.interior_creaks.subtitle": "Trilhos",
+ "sound.artron_pillar_active.subtitle": "Pilar Artron ativado",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
+ "sound.console_power_on.subtitle": "Console ligado",
+ "sound.corridor_teleporter.subtitle": "Teleporte carregando",
+ "sound.corridor_teleporter_success.subtitle": "Teleporte usado",
+ "sound.destination_ding.subtitle": "TARDIS chega ao destino",
+ "sound.flight_fail_start.subtitle": "Grunhidos falhos da TARDIS",
+ "sound.gravity_tunnel.subtitle": "Ventos do túnel de gravidade",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
+ "sound.interior_creaks.subtitle": "Rangidos",
"sound.interior_voice.subtitle": "...?",
- "sound.pattern_manipulator.subtitle": "O Manipulador de Padrões ativa",
- "sound.screwdriver_discard.subtitle": "Data de descarte",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
+ "sound.pattern_manipulator.subtitle": "Manipulador de Modelo ativa",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
+ "sound.screwdriver_discard.subtitle": "Chave de fenda descarta dados",
"sound.screwdriver_short.subtitle": "Chave de fenda usada",
- "sound.static.subtitle": "Estática do ecrã da Tela",
- "sound.tardis_crash_land.subtitle": "TARDIS pousa batendo",
+ "sound.static.subtitle": "Tela mostra estática",
+ "sound.tardis_crash_land.subtitle": "TARDIS espatifa",
"sound.tardis_land.subtitle": "TARDIS pousa",
- "sound.tardis_misc_sparkle.subtitle": "TARDIS materializando",
+ "sound.tardis_misc_sparkle.subtitle": "TARDIS chegando",
"sound.tardis_single_fly.subtitle": "TARDIS voa",
"sound.tardis_takeoff.subtitle": "TARDIS decola",
- "sound.time_blast.subtitle": "Explosão do Vórtice Temporal",
- "tooltip.tardis_refined.screwdriver_description": "Um manipulador de frequência igual",
- "tooltip.tardis_refined.tardis_list": "Chave Definida:",
- "ui.tardis_refined.desktop_selection": "CONFIGURAÇÃO DO INTERIOR",
+ "sound.time_blast.subtitle": "Vórtice Temporal explode",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
+ "tooltip.tardis_refined.screwdriver_description": "Um manipulador ametista de frequência",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Gostaria de cancelar a próxima reconfiguração?",
- "ui.tardis_refined.monitor.desktop": "CONFIGURAÇÃO DO INTERIOR",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancelar Reconfiguração do Interior",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERAÇÃO EM ANDAMENTO",
"ui.tardis_refined.monitor.desktop_cancel_description": "Sistemas desativados devido a uma reconfiguração de Interior agendada.",
- "ui.tardis_refined.monitor.external_shell": "CONFIGURAÇÃO DO CASCO EXTERNO",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Selecionado atualmente: &s",
"ui.tardis_refined.monitor.main.destination": "Destino",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "DADOS DO COMPUTADOR",
"ui.tardis_refined.monitor.no.waypoints": "Sem Waypoints salvos!",
- "ui.tardis_refined.monitor.select.hum": "SOUNDIFICAÇÃO",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
+ "ui.tardis_refined.monitor.select.hum": "Ambientação sonora",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD. DE NAVEGAÇÃO",
"ui.tardis_refined.monitor.upload.waypoints": "NAV. DE WAIPOINT",
"ui.tardis_refined.monitor.waypoint_name": "Nome do Waypoint:",
@@ -173,45 +225,76 @@
"ui.tardis_refined.monitor.waypoints.issues": "Problemas:",
"ui.tardis_refined.monitor.waypoints.issues.name": "Nome de waypoint inválido",
"ui.tardis_refined.monitor.waypoints.issues.x": "Valor X inválido",
- "ui.tardis_refined.monitor.waypoints.issues.y": "Valor inválido Y",
- "ui.tardis_refined.monitor.waypoints.issues.z": "Valor de Z inválido",
+ "ui.tardis_refined.monitor.waypoints.issues.y": "Valor Y inválido",
+ "ui.tardis_refined.monitor.waypoints.issues.z": "Valor Z inválido",
"ui.tardis_refined.monitor.waypoints.load": "Enviar para o console",
- "ui.tardis_refined.monitor.waypoints.submit": "submeter",
"ui.tardis_refined.monitor.waypoints.upload": "Transferir",
"ui.tardis_refined.no_installed_subsystems": "Não há sub-sistemas disponíveis",
- "ui.tardis_refined.shell_selection": "CONFIGURAÇÃO DO CASCO EXTERNO",
- "ui.tardis_refined.upgrades": "Melhorias de Tardis",
- "ui.tardis_refined.upgrades.buy_ability": "Comprar o upgrade?",
+ "ui.tardis_refined.upgrades": "Melhorias da Tardis",
+ "ui.tardis_refined.upgrades.buy_ability": "Comprar melhoria?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Arquitetura",
- "upgrade.tardis_refined.architecture_system.description": "Habilita melhorias de arquitetura TARDIS",
- "upgrade.tardis_refined.chameleon_circuit_system": "Circuito de Camaleão",
- "upgrade.tardis_refined.chameleon_circuit_system.description": "Permite que o TARDIS altere a sua forma",
- "upgrade.tardis_refined.defense_system": "Sistema de defesa",
- "upgrade.tardis_refined.defense_system.description": "Permite protocolos de defesa",
+ "upgrade.tardis_refined.architecture_system.description": "Permite melhorias de arquitetura à TARDIS",
+ "upgrade.tardis_refined.chameleon_circuit_system": "Circuito Camaleão",
+ "upgrade.tardis_refined.chameleon_circuit_system.description": "Permite que a TARDIS altere sua forma",
+ "upgrade.tardis_refined.defense_system": "Sistema de Defesa",
+ "upgrade.tardis_refined.defense_system.description": "Permite Protocolos de Defesa",
"upgrade.tardis_refined.dimension_travel": "Viagem Inter-dimensional",
- "upgrade.tardis_refined.dimension_travel.description": "Permite o movimento TARDIS entre as dimensões",
+ "upgrade.tardis_refined.dimension_travel.description": "Permite que a TARDIS se mova entre as dimensões",
"upgrade.tardis_refined.explorer": "Explorador I",
- "upgrade.tardis_refined.explorer.description": "x1000 incremento",
+ "upgrade.tardis_refined.explorer.description": "Incremento 1000x",
"upgrade.tardis_refined.explorer_ii": "Explorador II",
- "upgrade.tardis_refined.explorer_ii.description": "Incremento x2500",
+ "upgrade.tardis_refined.explorer_ii.description": "Incremento 2500x",
"upgrade.tardis_refined.explorer_iii": "Explorador III",
- "upgrade.tardis_refined.explorer_iii.description": "x5000 Incremento",
+ "upgrade.tardis_refined.explorer_iii.description": "Incremento 5000x",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Geração Melhorada I",
- "upgrade.tardis_refined.improved_generation_time_i.description": "Diminui o tempo de espera na área de trabalho para 120 segundos",
+ "upgrade.tardis_refined.improved_generation_time_i.description": "Diminui o tempo de espera do Interior para 120 segundos",
"upgrade.tardis_refined.improved_generation_time_ii": "Geração Melhorada II",
- "upgrade.tardis_refined.improved_generation_time_ii.description": "Diminui o tempo de espera na área de trabalho para 60 segundos",
+ "upgrade.tardis_refined.improved_generation_time_ii.description": "Diminui o tempo de espera do Interior para 60 segundos",
"upgrade.tardis_refined.improved_generation_time_iii": "Geração Melhorada III",
- "upgrade.tardis_refined.improved_generation_time_iii.description": "Diminui o tempo de espera na área de trabalho para 10 segundos",
- "upgrade.tardis_refined.inside_architecture": "Reconfiguração de Desktop",
- "upgrade.tardis_refined.inside_architecture.description": "Permite que o Piloto altere a aparência do desktop TARDIS",
- "upgrade.tardis_refined.landing_pad": "Alabarda de Destino",
- "upgrade.tardis_refined.landing_pad.description": "Permite que o TARDIS seja convocado para uma plataforma de destino",
- "upgrade.tardis_refined.materialize_around": "Materializar em torno",
- "upgrade.tardis_refined.materialize_around.description": "Permite que o TARDIS tenha entidades entrando enquanto materaliza",
- "upgrade.tardis_refined.navigation_system": "Sistema de navegação",
- "upgrade.tardis_refined.navigation_system.description": "Permite atualizar para o Sistema de Navegação TARDIS",
- "upgrade.tardis_refined.tardis_xp": "Atualizações do sistema",
- "upgrade.tardis_refined.tardis_xp.description": "Permite atualizações ao TARDIS",
- "upgrade.tardis_refined.waypoints": "Pontos",
- "upgrade.tardis_refined.waypoints.description": "Permite que o Piloto crie locais salvos"
+ "upgrade.tardis_refined.improved_generation_time_iii.description": "Diminui o tempo de espera do Interior para 10 segundos",
+ "upgrade.tardis_refined.inside_architecture": "Reconfiguração de Interior",
+ "upgrade.tardis_refined.inside_architecture.description": "Permite que o Piloto altere a aparência do Interior da TARDIS",
+ "upgrade.tardis_refined.landing_pad": "Plataforma de Aterrissagem",
+ "upgrade.tardis_refined.landing_pad.description": "Permite que a TARDIS seja invocada para uma plataforma de aterrissagem",
+ "upgrade.tardis_refined.materialize_around": "Materializar ao redor",
+ "upgrade.tardis_refined.materialize_around.description": "Permite que entidades entrem na TARDIS enquanto ela materializa",
+ "upgrade.tardis_refined.navigation_system": "Sistema de Navegação",
+ "upgrade.tardis_refined.navigation_system.description": "Permite fazer melhorias ao Sistema de Navegação da TARDIS",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
+ "upgrade.tardis_refined.tardis_xp": "Melhorias do Sistema",
+ "upgrade.tardis_refined.tardis_xp.description": "Permite fazer melhorias à TARDIS",
+ "upgrade.tardis_refined.waypoints": "Waypoints",
+ "upgrade.tardis_refined.waypoints.description": "Permite que o Piloto salve locais",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/ru_ru.json b/common/src/main/resources/assets/tardis_refined/lang/ru_ru.json
index dee4d39d..71011817 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/ru_ru.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/ru_ru.json
@@ -12,9 +12,9 @@
"block.tardis_refined.astral_manipulator": "Астральный манипулятор",
"block.tardis_refined.bulk_head_door": "Шлюз",
"block.tardis_refined.console_configuration": "Конфигуратор консоли",
- "block.tardis_refined.corridor_teleporter": "Коридор Телепортер",
- "block.tardis_refined.deepslate_zeiton_ore": "Зейтонная глубинная руда",
- "block.tardis_refined.flight_detector": "Датчик полёта",
+ "block.tardis_refined.corridor_teleporter": "Коридорый Телепорт",
+ "block.tardis_refined.deepslate_zeiton_ore": "Зейтононосный глубинный сланец",
+ "block.tardis_refined.flight_detector": "Детектор полета",
"block.tardis_refined.fools_stone": "Золото дураков",
"block.tardis_refined.gravity_well": "Гравитационный лифт",
"block.tardis_refined.landing_pad": "Посадочная площадка",
@@ -25,11 +25,11 @@
"block.tardis_refined.tardis_door": "Дверь ТАРДИС",
"block.tardis_refined.tardis_shell": "ТАРДИС",
"block.tardis_refined.terraformer": "Терраформер",
- "block.tardis_refined.zeiton_block": "Зейтоный блок",
- "block.tardis_refined.zeiton_fused_copper_block": "Медный зейтоный блок",
- "block.tardis_refined.zeiton_fused_iron_block": "Железный зейтоный блок",
- "block.tardis_refined.zeiton_lantern": "Зейтоный фонарь",
- "block.tardis_refined.zeiton_ore": "Зейтоная руда",
+ "block.tardis_refined.zeiton_block": "Зейтоновый блок",
+ "block.tardis_refined.zeiton_fused_copper_block": "Медный зейтоновый блок",
+ "block.tardis_refined.zeiton_fused_iron_block": "Железный зейтоновый блок",
+ "block.tardis_refined.zeiton_lantern": "Зейтоновый фонарь",
+ "block.tardis_refined.zeiton_ore": "Зейтоновая руда",
"command.tardis_refined.create.in_progress": "Попытка создания ТАРДИС %s, идет генерация",
"command.tardis_refined.create.success": "Создание ТАРДИС завершено с ID: %s ",
"command.tardis_refined.dim_not_a_tardis": "§c%s это не измерение ТАРДИС!",
@@ -47,17 +47,20 @@
"command.tardis_refined.upgrade.lock": "Заблокировано улучшение %s для %s",
"command.tardis_refined.upgrade.unlock": "Разблокировано улучшение %s для %s",
"config.tardis_refined.banned_dimensions": "Чёрный список измерений",
- "config.tardis_refined.console_idle_animations": "Воспроизвести анимацию консоли",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
+ "config.tardis_refined.console_idle_animations": "Воспроизводить анимацию ожидания консоли",
"config.tardis_refined.control_names": "Отображать названия элементов управления?",
- "config.tardis_refined.immersive_portals": "Поддержка Immersive Portals?",
+ "config.tardis_refined.immersive_portals": "Совместимость с Immersive Portals?",
"control.tardis_refined.cord_x": "X",
"control.tardis_refined.cord_y": "Y",
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Измерение",
"control.tardis_refined.door_toggle": "Управление дверью",
+ "control.tardis_refined.exterior_display": "Дисплей экстерьера",
"control.tardis_refined.fast_return": "Быстрый возврат",
"control.tardis_refined.fuel": "Топливо",
- "control.tardis_refined.generic_control": "Кнопка",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Ручной тормоз",
"control.tardis_refined.increment": "Регулятор XYZ",
"control.tardis_refined.monitor": "Монитор",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Направление",
"control.tardis_refined.throttle": "Дроссель",
+ "curios.identifier.timelord_sight": "Очки дополненной реальности",
+ "death.attack.choke": "%s задохнулся токсичными парами",
+ "death.attack.choke.player": "%s задохнулся токсичными парами",
"death.attack.eye_of_harmony": "%s был сожжён ветрами времени.",
"death.attack.eye_of_harmony.player": "%s был сожжён ветрами времени.",
"entity.tardis_refined.console_control": "Часть управления",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Бур",
"item.tardis_refined.glasses": "Очки смешанной реальности",
"item.tardis_refined.keychain": "Ключи от ТАРДИС",
+ "item.tardis_refined.mallet": "Киянка",
"item.tardis_refined.pattern_manipulator": "Манипулятор варианта",
"item.tardis_refined.raw_zeiton": "Рудной зейтон",
"item.tardis_refined.tardis_key": "Ключ ТАРДИС",
+ "item.tardis_refined.test_tube": "Пробирка",
"item.tardis_refined.zeiton_ingot": "Зейтоный слиток",
"item.tardis_refined.zeiton_nugget": "Кусочек зейтона",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Покинуть обзор внешнего вида",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Внешний вид) Переключить информацию",
"message.tardis_refined.ascend_key": "Возникновение: %s",
- "message.tardis_refined.astral_manipulator_engaged": "Пожалуйста, сделайте свой выбор. Нажмите правой кнопкой еще раз для подтверждения",
+ "message.tardis_refined.astral_manipulator_engaged": "Пожалуйста, сделайте свой выбор. ПКМ еще раз для подтверждения",
"message.tardis_refined.cannot_start_no_fuel": "Недостаточно топлива для запуска",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Нельзя изменить консоли во время полета",
- "message.tardis_refined.console_config_not_in_flight": "Невозможно обновить консольный блок во время полета",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ТЕКУЩИЙ",
+ "message.tardis_refined.demands_payment": "Требует оплаты",
"message.tardis_refined.descend_key": "По убыванию: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Недостаточно топлива для начала процесса реконфигурации",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "МЕСТО НАЗНАЧЕНИЯ",
+ "message.tardis_refined.dim_added_to_tardis": "Добавлено в банки данных: %s",
+ "message.tardis_refined.dim_already_saved": "Пробирка уже содержит образец",
+ "message.tardis_refined.dim_not_allowed": "Это измерение запрещено",
+ "message.tardis_refined.dim_potential": "Образец собран",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Дверь заперта",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Дверь открыта",
+ "message.tardis_refined.exit_external_view": "Покинуть обзор внешнего вида:",
"message.tardis_refined.exterior_cooldown": "Вы должны подождать %s секунд",
- "message.tardis_refined.fuel": "Топливо: ",
- "message.tardis_refined.fuel_offline": "Топливо отключено",
+ "message.tardis_refined.fuel": "Топливо: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Ручной тормоз выключен",
"message.tardis_refined.handbrake_engaged": "Ручной тормоз занят",
"message.tardis_refined.handbrake_warning": "Корабль находится в полете. Щелкните левой кнопкой мыши для включения",
- "message.tardis_refined.hardware_offline": "Аппаратное оффлайн",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Ключ, связан с %s",
"message.tardis_refined.key_cycled": "Основной: %s",
- "message.tardis_refined.landing_pad_transient": "В настоящее время нельзя вызвать ТАРДИС",
- "message.tardis_refined.landing_pad_unlocked": "Указанный TARDIS отклонил сигнал посадочной площадки",
- "message.tardis_refined.no_end_dragon_prevents": "Дракон не дает вам прогресса до конца",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
+ "message.tardis_refined.no_end_dragon_prevents": "Дракон не даёт вам попасть в Край",
"message.tardis_refined.no_flight_transitive": "Невозможно изменить состояние рукового тормоза во время переходного полета",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Процесс восстановления%s",
"message.tardis_refined.refuel_engaged": "Включена заправка",
"message.tardis_refined.refuel_stopped": "Остановленная заправка",
"message.tardis_refined.root_plant_cut_open": "Корни закрывают вход",
"message.tardis_refined.selected": "Выбрано: %s",
+ "message.tardis_refined.submit": "Подтвердить",
"message.tardis_refined.tardis_on_the_way": "TARDIS был вызван и находится на пути",
- "message.tardis_refined.tooltip_in_flight": "В полете",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Приготовлено путевая точка: %s",
"monitor.waypoints.name.placeholder": "Имя точки",
"monitor.waypoints.new_waypoint": "Новая путевая точка",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Фабричный",
"shell.tardis_refined.groening": "Грейнинг",
"shell.tardis_refined.growth": "Кокан",
+ "shell.tardis_refined.half_baked": "Незавершённая",
"shell.tardis_refined.hieroglyph": "Иероглиф",
"shell.tardis_refined.lift": "Лифт",
"shell.tardis_refined.mystic": "Мистический",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Полицейская будка",
"shell.tardis_refined.portaloo": "Биотуалет",
"shell.tardis_refined.present": "Подарок",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Торговый автомат",
+ "sound.alarm.subtitle": "Тревога",
"sound.ars_hum.subtitle": "Шум дерева АРС",
"sound.artron_pillar_active.subtitle": "Артрон активирован",
+ "sound.cloister_bell.subtitle": "Набат Обители",
"sound.console_power_on.subtitle": "Включение консоли",
"sound.corridor_teleporter.subtitle": "Создание телепортера",
"sound.corridor_teleporter_success.subtitle": "Использован телепортер",
"sound.destination_ding.subtitle": "ТАРДИС достигает места назначения",
"sound.flight_fail_start.subtitle": "Стоны неудачного взлёта",
"sound.gravity_tunnel.subtitle": "Гравитация туннеля ветра",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Крики",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Осталось мало топлива",
+ "sound.mallet.subtitle": "Удар киянкой",
"sound.pattern_manipulator.subtitle": "Использование Манипулятора варианта",
+ "sound.screwdriver_connect.subtitle": "Позиция выбрана",
"sound.screwdriver_discard.subtitle": "Отбрасывать данные драйвера Screwdriver",
"sound.screwdriver_short.subtitle": "Драйвер отвертки использован",
"sound.static.subtitle": "Звук переключения",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "ТАРДИС летит",
"sound.tardis_takeoff.subtitle": "ТАРДИС взлетает",
"sound.time_blast.subtitle": "Волна Временной воронки",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Аметистовый частотный манипулятор",
- "tooltip.tardis_refined.tardis_list": "Набор Ключей:",
- "ui.tardis_refined.desktop_selection": "КОНФИГУРАЦИЯ РАБОЧЕГО СТОЛА",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Набор ключей:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aДекодирование образца: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Сохранённый образец: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Без образца",
"ui.tardis_refined.monitor.cancel_desktop": "Хотите ли вы отменить предстоящую реконфигурацию?",
- "ui.tardis_refined.monitor.desktop": "КОНФИГУРАЦИЯ РАБОЧЕГО СТОЛА",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Отмена реконфигурации рабочего стола",
"ui.tardis_refined.monitor.desktop_cancel.title": "ОПЕРАЦИЯ В ПРОЦЕССЕ",
"ui.tardis_refined.monitor.desktop_cancel_description": "Системы отключены, так как запланирована реконфигурация рабочего стола.",
- "ui.tardis_refined.monitor.external_shell": "КОНФИГУРАЦИЯ МАСКИРОВКИ ",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Сейчас выбран: &s",
"ui.tardis_refined.monitor.main.destination": "Место назначения",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "ВОРОНКА",
"ui.tardis_refined.monitor.main_title": "МОНИТОР",
"ui.tardis_refined.monitor.no.waypoints": "Нет сохранённых точек назначения!",
+ "ui.tardis_refined.monitor.select.eject": "АВАРИЙНЫЙ ВЫХОД",
+ "ui.tardis_refined.monitor.select.eject_fail": "Невозможно покинуть во время полёта",
"ui.tardis_refined.monitor.select.hum": "Гул интерьера",
+ "ui.tardis_refined.monitor.shell_view": "ВНЕШНИЙ ВИД",
"ui.tardis_refined.monitor.upload.coords": "НАВИГАЦИЯ ПО КООРДИНАТАМ",
"ui.tardis_refined.monitor.upload.waypoints": "НАВИГАЦИЯ ПО ТОЧКАМ НАЗНАЧЕНИЯ",
"ui.tardis_refined.monitor.waypoint_name": "Название точки назначения:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Недопустимое значение Y",
"ui.tardis_refined.monitor.waypoints.issues.z": "Недопустимое значение Z",
"ui.tardis_refined.monitor.waypoints.load": "Отправить в консоль",
- "ui.tardis_refined.monitor.waypoints.submit": "Подтвердить",
"ui.tardis_refined.monitor.waypoints.upload": "Загрузить",
"ui.tardis_refined.no_installed_subsystems": "Нет доступных подсистем",
- "ui.tardis_refined.shell_selection": "КОНФИГУРАЦИЯ МАСКИРОВКИ",
"ui.tardis_refined.upgrades": "Улучшения ТАРДИС",
"ui.tardis_refined.upgrades.buy_ability": "Открыть улучшение?",
+ "ui.tardis_refined.villager_can_pilot": "Пилот?",
"upgrade.tardis_refined.architecture_system": "Архитектура",
"upgrade.tardis_refined.architecture_system.description": "Позволяет улучшать архитектуру ТАРДИС",
"upgrade.tardis_refined.chameleon_circuit_system": "Система маскировки",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 регулятор XYZ",
"upgrade.tardis_refined.explorer_iii": "Исследователь lll",
"upgrade.tardis_refined.explorer_iii.description": "x5000 регулятор XYZ",
+ "upgrade.tardis_refined.flight_system": "Система полёта",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Улучшенное поколение Ур.1",
"upgrade.tardis_refined.improved_generation_time_i.description": "Опустить время ожидания до 120 секунд",
"upgrade.tardis_refined.improved_generation_time_ii": "Улучшенное поколение Ур.2",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Позволяет ТАРДИС перемещать существ внутрь себя, во время материализации на месте их нахождения",
"upgrade.tardis_refined.navigation_system": "Системы навигации",
"upgrade.tardis_refined.navigation_system.description": "Улучшает навигационную систему ТРАДИС",
+ "upgrade.tardis_refined.speed_i": "Скорость I",
+ "upgrade.tardis_refined.speed_i.description": "Скорость полёта в 5 раз быстрее",
+ "upgrade.tardis_refined.speed_ii": "Скорость II",
+ "upgrade.tardis_refined.speed_ii.description": "Скорость полёта в 10 раз быстрее",
+ "upgrade.tardis_refined.speed_iii": "Скорость III",
+ "upgrade.tardis_refined.speed_iii.description": "Скорость полёта в 25 раз быстрее",
+ "upgrade.tardis_refined.speed_iv": "Скорость IV",
+ "upgrade.tardis_refined.speed_iv.description": "Скорость полёта в 50 раз быстрее",
"upgrade.tardis_refined.tardis_xp": "Система улучшений",
"upgrade.tardis_refined.tardis_xp.description": "Разрешает улучшать ТАРДИС",
"upgrade.tardis_refined.waypoints": "Точки назначения",
- "upgrade.tardis_refined.waypoints.description": "Разрешает Пилоту сохранять точки назначения"
+ "upgrade.tardis_refined.waypoints.description": "Разрешает Пилоту сохранять точки назначения",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Конфетный",
+ "vortex.tardis_refined.clouds": "Облака",
+ "vortex.tardis_refined.crystal_lagoon": "Кристальная лагуна",
+ "vortex.tardis_refined.desert_mirage": "Пустынный",
+ "vortex.tardis_refined.emerald_forest": "Изумрудный",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Солнечная вспышка",
+ "vortex.tardis_refined.space": "Космос",
+ "vortex.tardis_refined.stars": "Звёзды",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/sq_al.json b/common/src/main/resources/assets/tardis_refined/lang/sq_al.json
index e2cbd687..f3deb83d 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/sq_al.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/sq_al.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "Banned Dimensions",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "Render control names?",
"config.tardis_refined.immersive_portals": "Immersive Portals Compatibility?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Door Toggle",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Fast Return",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Direction",
"control.tardis_refined.throttle": "Throttle",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "Generic Control",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Growth Drill",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Pattern Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Key",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "You must wait %s seconds",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Key Bound to %s",
"message.tardis_refined.key_cycled": "Main: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "Selected: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Factory",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Police Box",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Pattern Manipulator activates",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "Key Set:",
- "ui.tardis_refined.desktop_selection": "DESKTOP CONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Would you like to cancel the upcoming reconfiguration?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP CONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Cancel Desktop Reconfiguration",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION IN PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "Systems disabled as a Desktop reconfiguration has been scheduled.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNAL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Currently selected: &s",
"ui.tardis_refined.monitor.main.destination": "Destination",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "COMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "EXTERNAL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/sv_fi.json b/common/src/main/resources/assets/tardis_refined/lang/sv_fi.json
index d1eea63e..a748f338 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/sv_fi.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/sv_fi.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Låst uppgradering %s för %s",
"command.tardis_refined.upgrade.unlock": "Upplåst uppgradering %s för %s",
"config.tardis_refined.banned_dimensions": "Förbjudna dimensioner",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Spela inaktiv konsolanimationer",
"config.tardis_refined.control_names": "Rendera kontrollnamn?",
"config.tardis_refined.immersive_portals": "Kompatibilitet mellan portaler?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Ö",
"control.tardis_refined.dimension": "Dimension",
"control.tardis_refined.door_toggle": "Växla dörr",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Snabb retur",
"control.tardis_refined.fuel": "Bränsle",
- "control.tardis_refined.generic_control": "Växla",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handbroms",
"control.tardis_refined.increment": "Ökning",
"control.tardis_refined.monitor": "Dator bank",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Riktning",
"control.tardis_refined.throttle": "Trottel",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s stektes av tidsvindar.",
"death.attack.eye_of_harmony.player": "%s stektes av tidsvindar.",
"entity.tardis_refined.console_control": "Generisk kontroll",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "Tillväxt Borr",
"item.tardis_refined.glasses": "AR Glasögon",
"item.tardis_refined.keychain": "Tardis Keyset",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Mönster Manipulator",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Tardis Nyckel",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Raffinerad",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Stig: %s",
"message.tardis_refined.astral_manipulator_engaged": "Vänligen gör ditt val. Högerklicka igen för att bekräfta",
"message.tardis_refined.cannot_start_no_fuel": "Inte tillräckligt med bränsle för att starta",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kan inte ändra konsoler under flygningen",
- "message.tardis_refined.console_config_not_in_flight": "Kan inte uppdatera konsolblocket under flygning",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "NUVARANDE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Fall: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Inte tillräckligt med bränsle för att starta omkonfigureringsprocessen",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Du måste vänta %s sekunder",
- "message.tardis_refined.fuel": "Bränsle: ",
- "message.tardis_refined.fuel_offline": "Bränsle offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbroms frånkopplad",
"message.tardis_refined.handbrake_engaged": "Handbroms engagerad",
"message.tardis_refined.handbrake_warning": "Fartyget är i flyg. Vänsterklicka på handbromsen för att engagera",
- "message.tardis_refined.hardware_offline": "Hårdvara offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Nyckel bunden till %s",
"message.tardis_refined.key_cycled": "Huvud: %s",
- "message.tardis_refined.landing_pad_transient": "Kan inte kalla på TARDIS just nu",
- "message.tardis_refined.landing_pad_unlocked": "Angivna TARDIS avvisade landningsblock signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "En drake hindrar dig från att gå vidare till slutet",
"message.tardis_refined.no_flight_transitive": "Kan inte ändra handbromstillståndet under transitiv flygning",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Aktiverad tankning",
"message.tardis_refined.refuel_stopped": "Stoppad tankning",
"message.tardis_refined.root_plant_cut_open": "Rötterna täcker ingången",
"message.tardis_refined.selected": "Valda: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS har kallats och är på väg",
- "message.tardis_refined.tooltip_in_flight": "Under flygning",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Förladdad waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint-namn",
"monitor.waypoints.new_waypoint": "Ny waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "Fabrik",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Tillväxt",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lyft",
"shell.tardis_refined.mystic": "Mystisk",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Polis låda",
"shell.tardis_refined.portaloo": "Portaloo",
"shell.tardis_refined.present": "Nuvarande",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Varuautomat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Träd Hum",
"sound.artron_pillar_active.subtitle": "Artronpelare aktiverad",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Konsolens ström på",
"sound.corridor_teleporter.subtitle": "Teleporter bygger upp",
"sound.corridor_teleporter_success.subtitle": "Teleporter som används",
"sound.destination_ding.subtitle": "TARDIS når destinationen",
"sound.flight_fail_start.subtitle": "Misslyckande TARDIS sur",
"sound.gravity_tunnel.subtitle": "Gravity tunnelvindar",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Mönster Manipulator aktiverar",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Skruvmejsel kassera data",
"sound.screwdriver_short.subtitle": "Skruvmejsel används",
"sound.static.subtitle": "Skärmen visas statisk",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flugor",
"sound.tardis_takeoff.subtitle": "TARDIS startar",
"sound.time_blast.subtitle": "Tid Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "En ametist frekvens manipulator",
- "tooltip.tardis_refined.tardis_list": "Nyckeluppsättning:",
- "ui.tardis_refined.desktop_selection": "DESKTOP KONFIGURATION",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Vill du avbryta den kommande omkonfigureringen?",
- "ui.tardis_refined.monitor.desktop": "DESKTOP KONFIGURATION",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Avbryt omkonfigurering av skrivbordet",
"ui.tardis_refined.monitor.desktop_cancel.title": "OPERATION I PROGRESS",
"ui.tardis_refined.monitor.desktop_cancel_description": "System inaktiverade som en omkonfigurering av skrivbordet har schemalagts.",
- "ui.tardis_refined.monitor.external_shell": "EXTERNELL SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Vald nu: &s",
"ui.tardis_refined.monitor.main.destination": "Mål",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "KOMPUTER BANK",
"ui.tardis_refined.monitor.no.waypoints": "Inga waypoints sparade!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Namn:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Ogiltigt Y-värde",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ogiltigt Z-värde",
"ui.tardis_refined.monitor.waypoints.load": "Skicka till konsolen",
- "ui.tardis_refined.monitor.waypoints.submit": "Skicka",
"ui.tardis_refined.monitor.waypoints.upload": "Ladda upp",
"ui.tardis_refined.no_installed_subsystems": "Inga tillgängliga delsystem",
- "ui.tardis_refined.shell_selection": "EXTERNELL SHELL CONFIGURATION",
"ui.tardis_refined.upgrades": "Tardis Uppgraderingar",
"ui.tardis_refined.upgrades.buy_ability": "Köp uppgradering?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Arkitektur",
"upgrade.tardis_refined.architecture_system.description": "Aktiverar TARDIS Arkitektur Uppgraderingar",
"upgrade.tardis_refined.chameleon_circuit_system": "Kameleonkretsen",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 ökning",
"upgrade.tardis_refined.explorer_iii": "Utforskaren III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 ökning",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Förbättrad Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Sänker skrivbordet väntetider till 120 sekunder",
"upgrade.tardis_refined.improved_generation_time_ii": "Förbättrad Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Tillåter TARDIS att få entiteter att komma in medan materalisering",
"upgrade.tardis_refined.navigation_system": "Navigeringssystem",
"upgrade.tardis_refined.navigation_system.description": "Tillåter uppgraderingar till TARDIS navigationssystem",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Systemets uppgraderingar",
"upgrade.tardis_refined.tardis_xp.description": "Tillåter uppgraderingar till TARDIS",
"upgrade.tardis_refined.waypoints": "Vägpunkter",
- "upgrade.tardis_refined.waypoints.description": "Tillåter piloten att skapa sparade platser"
+ "upgrade.tardis_refined.waypoints.description": "Tillåter piloten att skapa sparade platser",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/sv_se.json b/common/src/main/resources/assets/tardis_refined/lang/sv_se.json
index c5e7c7bb..f08df688 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/sv_se.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/sv_se.json
@@ -13,7 +13,7 @@
"block.tardis_refined.bulk_head_door": "Skottdörr",
"block.tardis_refined.console_configuration": "Manöverbordsinställare",
"block.tardis_refined.corridor_teleporter": "Korridor Teleporter",
- "block.tardis_refined.deepslate_zeiton_ore": "Djupskifferinbäddad zinkmalm",
+ "block.tardis_refined.deepslate_zeiton_ore": "Djupskifferinbäddad zeitonmalm",
"block.tardis_refined.flight_detector": "Färdsensor",
"block.tardis_refined.fools_stone": "Kattsten",
"block.tardis_refined.gravity_well": "Tyngdkraftsbrunn",
@@ -26,8 +26,8 @@
"block.tardis_refined.tardis_shell": "Tardis",
"block.tardis_refined.terraformer": "Terraformeringsmaskin",
"block.tardis_refined.zeiton_block": "Zeitonblock",
- "block.tardis_refined.zeiton_fused_copper_block": "Zeiton-kopparlegeringsblock",
- "block.tardis_refined.zeiton_fused_iron_block": "Zeiton-järnlegeringsblock",
+ "block.tardis_refined.zeiton_fused_copper_block": "Kopparblock med zeitonram",
+ "block.tardis_refined.zeiton_fused_iron_block": "Järnblock med zeitonram",
"block.tardis_refined.zeiton_lantern": "Zeitonlykta",
"block.tardis_refined.zeiton_ore": "Zeitonmalm",
"command.tardis_refined.create.in_progress": "Försöker att skapa Tardis %s. Var god vänta...",
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Låste uppgraderingen %s för %s",
"command.tardis_refined.upgrade.unlock": "Låste upp uppgraderingen %s för %s",
"config.tardis_refined.banned_dimensions": "Förbjudna dimensioner",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Vill du spela animationer för overksamma manöverbord?",
"config.tardis_refined.control_names": "Vill du att kontrollnamn ska visas?",
"config.tardis_refined.immersive_portals": "Vill du sätta på Immersive Portals-kompatibilitet?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Världsväxel",
"control.tardis_refined.door_toggle": "Dörrknapp",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Snabbretur",
"control.tardis_refined.fuel": "Bränsle",
- "control.tardis_refined.generic_control": "Knapp",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Handbroms",
"control.tardis_refined.increment": "Koordinatökningsstyrare",
"control.tardis_refined.monitor": "Datorterminal",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "Plats",
"control.tardis_refined.rotate": "Riktningsväxel",
"control.tardis_refined.throttle": "Hastighetsreglage",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s blev stekt av tidsvindar.",
"death.attack.eye_of_harmony.player": "%s blev stekt av tidsvindar.",
"entity.tardis_refined.console_control": "Styrorgan",
@@ -72,43 +78,64 @@
"item.tardis_refined.drill": "Borrmaskin",
"item.tardis_refined.glasses": "Förstärkt verklighetsglasögon",
"item.tardis_refined.keychain": "Nyckelring",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "Mönsterändrare",
"item.tardis_refined.raw_zeiton": "Råzeiton",
"item.tardis_refined.tardis_key": "Tardisnyckel",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeitontacka",
"item.tardis_refined.zeiton_nugget": "Zeitonklimp",
"itemGroup.tardis_refined": "TARDIS Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Stig: %s",
"message.tardis_refined.astral_manipulator_engaged": "Vänligen gör ditt val. Högerklicka igen för att bekräfta",
"message.tardis_refined.cannot_start_no_fuel": "Inte tillräckligt med bränsle för att starta",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Kan inte ändra konsoler under flygningen",
- "message.tardis_refined.console_config_not_in_flight": "Kan inte uppdatera konsolblocket under flygning",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "NUVARANDE",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Sjunk: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Inte tillräckligt med bränsle för att starta omkonfigureringsprocessen",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Du måste vänta %s sekund(er)",
- "message.tardis_refined.fuel": "Bränsle: ",
- "message.tardis_refined.fuel_offline": "Bränsle offline",
- "message.tardis_refined.handbrake_disengaged": "Handbroms frånkopplad",
- "message.tardis_refined.handbrake_engaged": "Handbroms engagerad",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
+ "message.tardis_refined.handbrake_disengaged": "Handbroms urkopplad",
+ "message.tardis_refined.handbrake_engaged": "Handbroms ikopplad",
"message.tardis_refined.handbrake_warning": "Fartyget är i flyg. Vänsterklicka på handbromsen för att engagera",
- "message.tardis_refined.hardware_offline": "Hårdvara offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Nyckel bunden till %s",
"message.tardis_refined.key_cycled": "Huvudtardis: %s",
- "message.tardis_refined.landing_pad_transient": "Kan inte kalla på TARDIS just nu",
- "message.tardis_refined.landing_pad_unlocked": "Angivna TARDIS avvisade landningsblock signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "En drake hindrar dig från att gå vidare till slutet",
"message.tardis_refined.no_flight_transitive": "Kan inte ändra handbromstillståndet under transitiv flygning",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Aktiverad tankning",
"message.tardis_refined.refuel_stopped": "Stoppad tankning",
"message.tardis_refined.root_plant_cut_open": "Rötterna täcker ingången",
"message.tardis_refined.selected": "Utvald: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS har kallats och är på väg",
- "message.tardis_refined.tooltip_in_flight": "I färdsgång",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Förladdad waypoint: %s",
- "monitor.waypoints.name.placeholder": "Waypoint-namn",
- "monitor.waypoints.new_waypoint": "Ny waypoint",
+ "monitor.waypoints.name.placeholder": "Vägpunktsnamn",
+ "monitor.waypoints.new_waypoint": "Ny vägpunkt",
"monitor.waypoints.taken": "Data hämtade från destinationsvärden",
"shell.tardis_refined.big_ben": "Big Ben",
"shell.tardis_refined.briefcase": "Portfölj",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Standardskalet",
"shell.tardis_refined.groening": "Groening",
"shell.tardis_refined.growth": "Korallväxt",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Fornegyptiskt gravhus",
"shell.tardis_refined.lift": "Hiss",
"shell.tardis_refined.mystic": "Alviskt skåp",
"shell.tardis_refined.nuka": "Nuka-Cola-automat",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Poliskiosk",
"shell.tardis_refined.portaloo": "Bajamaja",
"shell.tardis_refined.present": "Gåvolåda",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Varuautomat",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Träd Hum",
"sound.artron_pillar_active.subtitle": "Artronpelare aktiverad",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Konsolens ström på",
"sound.corridor_teleporter.subtitle": "Teleporter bygger upp",
"sound.corridor_teleporter_success.subtitle": "Teleporter som används",
"sound.destination_ding.subtitle": "TARDIS når destinationen",
"sound.flight_fail_start.subtitle": "Misslyckande TARDIS sur",
"sound.gravity_tunnel.subtitle": "Gravity tunnelvindar",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "Mönsterändrare aktiveras",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Skruvmejsel kassera data",
"sound.screwdriver_short.subtitle": "Skruvmejsel används",
"sound.static.subtitle": "Skärmbrus",
@@ -148,40 +188,51 @@
"sound.tardis_single_fly.subtitle": "Tardis färdas",
"sound.tardis_takeoff.subtitle": "Tardis avländer",
"sound.time_blast.subtitle": "Tid Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "En ametist frekvens manipulator",
- "tooltip.tardis_refined.tardis_list": "Nyckelring:",
- "ui.tardis_refined.desktop_selection": "KONTROLLRUMSINSTÄLLNING",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "Vill du avbryta den schemalagda ombyggningen?",
- "ui.tardis_refined.monitor.desktop": "KONTROLLRUMSINSTÄLLNING",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "Avbryt",
"ui.tardis_refined.monitor.desktop_cancel.title": "PÅGÅENDE UPPGIFT",
"ui.tardis_refined.monitor.desktop_cancel_description": "Tardissystemen har avstängts på grund av en schemalagd ombyggning.",
- "ui.tardis_refined.monitor.external_shell": "SKALINSTÄLLNING",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Nuvarande: &s",
"ui.tardis_refined.monitor.main.destination": "Slutdestination",
"ui.tardis_refined.monitor.main.gps": "Plats",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "DATORTERMINAL",
"ui.tardis_refined.monitor.no.waypoints": "Det finns inga sparade vägpunkter!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "LJUDBILD",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "KOORDINATNAVIGERING",
"ui.tardis_refined.monitor.upload.waypoints": "VÄGPUNKTSNAVIGERING",
"ui.tardis_refined.monitor.waypoint_name": "Vägpunktsnamn:",
"ui.tardis_refined.monitor.waypoints": "VÄGPUNKTER",
- "ui.tardis_refined.monitor.waypoints.create": "Ny waypoint",
- "ui.tardis_refined.monitor.waypoints.delete": "Ta bort waypoint",
- "ui.tardis_refined.monitor.waypoints.edit": "Redigera waypoint",
+ "ui.tardis_refined.monitor.waypoints.create": "Ny vägpunkt",
+ "ui.tardis_refined.monitor.waypoints.delete": "Radera vägpunkt",
+ "ui.tardis_refined.monitor.waypoints.edit": "Redigera vägpunkt",
"ui.tardis_refined.monitor.waypoints.issues": "Problem:",
"ui.tardis_refined.monitor.waypoints.issues.name": "Ogiltigt vägpunktsnamn",
"ui.tardis_refined.monitor.waypoints.issues.x": "Ogiltigt x-värde",
"ui.tardis_refined.monitor.waypoints.issues.y": "Ogiltigt y-värde",
"ui.tardis_refined.monitor.waypoints.issues.z": "Ogiltigt z-värde",
"ui.tardis_refined.monitor.waypoints.load": "Skicka till konsolen",
- "ui.tardis_refined.monitor.waypoints.submit": "Lämna in",
"ui.tardis_refined.monitor.waypoints.upload": "Ladda upp",
"ui.tardis_refined.no_installed_subsystems": "Det finns inga tillgängliga delsystem",
- "ui.tardis_refined.shell_selection": "SKALINSTÄLLNING",
"ui.tardis_refined.upgrades": "Tardisuppgraderingar",
"ui.tardis_refined.upgrades.buy_ability": "Köp uppgradering?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Arkitektur",
"upgrade.tardis_refined.architecture_system.description": "Aktiverar TARDIS Arkitektur Uppgraderingar",
"upgrade.tardis_refined.chameleon_circuit_system": "Kameleontkrets",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 ökning",
"upgrade.tardis_refined.explorer_iii": "Utforskaren III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 ökning",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Förbättrad Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Sänker skrivbordet väntetider till 120 sekunder",
"upgrade.tardis_refined.improved_generation_time_ii": "Förbättrad Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Tillåter TARDIS att få entiteter att komma in medan materalisering",
"upgrade.tardis_refined.navigation_system": "Navigeringssystem",
"upgrade.tardis_refined.navigation_system.description": "Tillåter uppgraderingar till TARDIS navigationssystem",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "Systemuppgraderingar",
"upgrade.tardis_refined.tardis_xp.description": "Låser upp uppgraderingar",
"upgrade.tardis_refined.waypoints": "Vägpunkter",
- "upgrade.tardis_refined.waypoints.description": "Tillåter piloten att spara platser"
+ "upgrade.tardis_refined.waypoints.description": "Tillåter piloten att spara platser",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/th_th.json b/common/src/main/resources/assets/tardis_refined/lang/th_th.json
index 975d6493..a854e575 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/th_th.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/th_th.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "ล็อคการอัปเกรด %s ของ %s",
"command.tardis_refined.upgrade.unlock": "ปลดล็อคการอัปเกรด %s ของ %s",
"config.tardis_refined.banned_dimensions": "มิติต้องห้าม",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "เล่นแอนิเมชันบนแผงควบคุมเมื่อไม่ได้ใช้งาน",
"config.tardis_refined.control_names": "แสดงชื่อปุ่มบนแผงควบคุม?",
"config.tardis_refined.immersive_portals": "ความเข้ากันได้ของส่วนเสริม Immersive Portals?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "มิติ",
"control.tardis_refined.door_toggle": "สวิตช์ประตู",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "กลับพิกัดเดิม",
"control.tardis_refined.fuel": "เชื้อเพลิง",
- "control.tardis_refined.generic_control": "สลับ",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "เบรกมือ",
"control.tardis_refined.increment": "ตัวคูณ",
"control.tardis_refined.monitor": "จอมอนิเตอร์",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "ทิศทาง",
"control.tardis_refined.throttle": "คันบังคับ",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s ถูกพัดโดยสายลมแห่งกาลเวลา",
"death.attack.eye_of_harmony.player": "%s ถูกพัดโดยสายลมแห่งกาลเวลา",
"entity.tardis_refined.console_control": "การควบคุมทั่วไป",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "เครื่องเจาะปะการัง",
"item.tardis_refined.glasses": "แว่น AR",
"item.tardis_refined.keychain": "ชุดกุญแจทาร์ดิส",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "เครื่องปรับแต่งลวดลาย",
"item.tardis_refined.raw_zeiton": "ไซตอนดิบ",
"item.tardis_refined.tardis_key": "กุญแจทาร์ดิส",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "แท่งไซตอน",
"item.tardis_refined.zeiton_nugget": "เศษไซตอน",
"itemGroup.tardis_refined": "TARDIS Refined",
- "message.tardis_refined.ascend_key": "ขึ้นไปยัง: %s",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
+ "message.tardis_refined.ascend_key": "ขึ้น: %s",
"message.tardis_refined.astral_manipulator_engaged": "โปรดเลือก คลิกขวาอีกครั้งเพื่อยืนยัน",
"message.tardis_refined.cannot_start_no_fuel": "เชื้อเพลิงในการเดินเครื่องไม่เพียงพอ",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "ไม่สามารถเปลี่ยนแผงควบคุมได้ ในขณะที่กำลังบินอยู่",
- "message.tardis_refined.console_config_not_in_flight": "ไม่สามารถอัปเดตแผงควบคุมได้ ในขณะที่กำลังบินอยู่",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "ปัจจุบัน",
- "message.tardis_refined.descend_key": "ลงไปที่: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "เชื้อเพลิงที่มีอยู่ไม่เพียงพอที่จะเริ่มการตั้งค่าใหม่",
+ "message.tardis_refined.demands_payment": "Demands payment",
+ "message.tardis_refined.descend_key": "ลง: %s",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "ปลายทาง",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "คุณต้องรออีก %s วินาที",
- "message.tardis_refined.fuel": "เชื้อเพลิง: ",
- "message.tardis_refined.fuel_offline": "เชื้อเพลิงออฟไลน์",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "ปลดเบรกมือแล้ว",
"message.tardis_refined.handbrake_engaged": "ล็อกด้วยเบรกมือแล้ว",
"message.tardis_refined.handbrake_warning": "ยานกำลังบินอยู่ คลิกซ้ายที่เบรกมือเพื่อล็อก",
- "message.tardis_refined.hardware_offline": "ฮาร์ดแวร์ออฟไลน์",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "กุญแจได้ผูกกับ %s",
"message.tardis_refined.key_cycled": "หลัก: %s",
- "message.tardis_refined.landing_pad_transient": "ไม่สามารถเรียกทาร์ดิสได้ในขณะนี้",
- "message.tardis_refined.landing_pad_unlocked": "ทาร์ดิสได้ปฏิเสธสัญญาณของฐานลงจอด",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "มังกรได้ขัดขวางคุณไม่ให้เข้าสู่ดิเอนด์",
"message.tardis_refined.no_flight_transitive": "ไม่สามารถเปลี่ยนสถานะของเบรกมือได้ ในขณะที่กำลังเคลื่อนย้ายอยู่",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "เปิดใช้งาน การเติมเชื้อเพลิง",
"message.tardis_refined.refuel_stopped": "ปิดใช้งาน การเติมเชื้อเพลิง",
"message.tardis_refined.root_plant_cut_open": "รากได้ปกคลุมทางเข้าออก",
"message.tardis_refined.selected": "เลือก: %s แล้ว",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "ทาร์ดิสได้ตอบรับแล้ว และกำลังเดินทางไป",
- "message.tardis_refined.tooltip_in_flight": "กำลังบินอยู่",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "พิกัดที่โหลดไว้ล่วงหน้า: %s",
"monitor.waypoints.name.placeholder": "ชื่อพิกัด",
"monitor.waypoints.new_waypoint": "พิกัดใหม่",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "ดั้งเดิม",
"shell.tardis_refined.groening": "กรีนนิ่ง",
"shell.tardis_refined.growth": "ปะการัง",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "อียิปต์โบราณ",
"shell.tardis_refined.lift": "ลิฟท์",
"shell.tardis_refined.mystic": "ลึกลับ",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "ตู้โทรศัพท์ตำรวจ",
"shell.tardis_refined.portaloo": "ห้องน้ำสาธารณะ",
"shell.tardis_refined.present": "กล่องของขวัญ",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "เครื่องจำหน่ายสินค้า",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "เสียงฮัมจากต้น ARS",
"sound.artron_pillar_active.subtitle": "เสาอาร์ทรอนถูกเปิดใช้งาน",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "เสียงเปิดระบบ",
"sound.corridor_teleporter.subtitle": "เทเลพอร์ตกำลังก่อตัว",
"sound.corridor_teleporter_success.subtitle": "เทเลพอร์ตถูกใช้แล้ว",
"sound.destination_ding.subtitle": "ทาร์ดิสถึงที่หมายแล้ว",
"sound.flight_fail_start.subtitle": "การขึ้นบินล้มเหลว",
"sound.gravity_tunnel.subtitle": "ลมอุโมงค์แรงโน้มถ่วง",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "เอี๊ยด",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "เปิดใช้งาน เครื่องปรับแต่งลวดลาย",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "ไขควงละทิ้งข้อมูล",
"sound.screwdriver_short.subtitle": "ไขควงถูกใช้งาน",
"sound.static.subtitle": "เสียงจากจอแสดงผล",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "ทาร์ดิสกำลังบิน",
"sound.tardis_takeoff.subtitle": "ทาร์ดิสเริ่มออกบิน",
"sound.time_blast.subtitle": "ห้วงเวลาเกิดการระเบิด",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "เครื่องควบคุมความถี่อเมทิสต์",
- "tooltip.tardis_refined.tardis_list": "คีย์ไอดี:",
- "ui.tardis_refined.desktop_selection": "ตั้งค่าเดสก์ท็อป",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "คุณต้องการยกเลิกการตั้งค่าภายในใหม่หรือไม่?",
- "ui.tardis_refined.monitor.desktop": "ตั้งค่าเดสก์ท็อป",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "ยกเลิกการตั้งค่าเดสก์ท็อปใหม่",
"ui.tardis_refined.monitor.desktop_cancel.title": "กำลังดำเนินการ",
"ui.tardis_refined.monitor.desktop_cancel_description": "การทำงานของระบบถูกปิด เนื่องจากมีการตั้งค่าเดสก์ท็อปใหม่.",
- "ui.tardis_refined.monitor.external_shell": "การตั้งค่าโครงสร้างภายนอก",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "กำลังเลือก: &s",
"ui.tardis_refined.monitor.main.destination": "พิกัดปลายทาง",
"ui.tardis_refined.monitor.main.gps": "พิกัดปัจจุบัน",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "จอมอนิเตอร์",
"ui.tardis_refined.monitor.no.waypoints": "ไม่พบพิกัดที่บันทึกไว้!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "ทัศนียภาพของเสียง",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "พิกัดที่กำหนดเอง",
"ui.tardis_refined.monitor.upload.waypoints": "การนำทางด้วยพิกัดที่บันทึก",
"ui.tardis_refined.monitor.waypoint_name": "ชื่อพิกัด:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "ค่า Y ไม่ถูกต้อง",
"ui.tardis_refined.monitor.waypoints.issues.z": "ค่า Z ไม่ถูกต้อง",
"ui.tardis_refined.monitor.waypoints.load": "ส่งไปที่แผงควบคุม",
- "ui.tardis_refined.monitor.waypoints.submit": "ตกลง",
"ui.tardis_refined.monitor.waypoints.upload": "อัปโหลด",
"ui.tardis_refined.no_installed_subsystems": "ไม่พบระบบย่อยในขณะนี้",
- "ui.tardis_refined.shell_selection": "การตั้งค่าโครงสร้างภายนอก",
"ui.tardis_refined.upgrades": "อัปเกรดทาร์ดิส",
"ui.tardis_refined.upgrades.buy_ability": "จัดซื้อการอัปเกรด?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "โครงสร้าง",
"upgrade.tardis_refined.architecture_system.description": "เปิดใช้งานการอัปเกรดโครงสร้างของทาร์ดิส",
"upgrade.tardis_refined.chameleon_circuit_system": "วงจรกิ้งก่า",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "ตัวคูณเพิ่มขึ้น x2500",
"upgrade.tardis_refined.explorer_iii": "การสำรวจ 3",
"upgrade.tardis_refined.explorer_iii.description": "ตัวคูณเพิ่มขึ้น x5000",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "ปรับปรุงต้นกำเนิด 1",
"upgrade.tardis_refined.improved_generation_time_i.description": "ลดเวลาในการรอเดสก์ท็อปลงเหลือ 120 วินาที",
"upgrade.tardis_refined.improved_generation_time_ii": "ปรับปรุงต้นกำเนิด 2",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "อนุญาตให้ทาร์ดิสสามารถนำสิ่งมีชีวิตเข้าไปได้ ในขณะที่กำลังก่อร่างวัตถุ",
"upgrade.tardis_refined.navigation_system": "ระบบนำทาง",
"upgrade.tardis_refined.navigation_system.description": "อนุญาตให้ระบบนำทางของทาร์ดิสสามารถอัปเกรดได้",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "ระบบอัปเกรด",
"upgrade.tardis_refined.tardis_xp.description": "อนุญาตให้ทาร์ดิสสามารถอัปเกรดได้",
"upgrade.tardis_refined.waypoints": "การบันทึกพิกัด",
- "upgrade.tardis_refined.waypoints.description": "อนุญาตให้ผู้ใช้สามารถสร้างจุดบันทึกพิกัดได้"
+ "upgrade.tardis_refined.waypoints.description": "อนุญาตให้ผู้ใช้สามารถสร้างจุดบันทึกพิกัดได้",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/tok.json b/common/src/main/resources/assets/tardis_refined/lang/tok.json
index ce79c13a..88cc00ad 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/tok.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/tok.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "ma pi ken ala",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Play idle console animations",
"config.tardis_refined.control_names": "sina ken ala ken lukin e nimi pi ilo pana?",
"config.tardis_refined.immersive_portals": "ante ni li pona ala pona tawa ante Immersive Portals?",
@@ -55,6 +57,7 @@
"control.tardis_refined.cord_z": "ilo ante pi nasin Z",
"control.tardis_refined.dimension": "ma",
"control.tardis_refined.door_toggle": "mi open li open ala e lupa",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "ilo pi kama sin",
"control.tardis_refined.fuel": "Fuel",
"control.tardis_refined.generic_control": "Switch",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "nasin",
"control.tardis_refined.throttle": "ilo tawa",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "ilo",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "ilo pakala pi kiwen Growth taso",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "poki pi ilo open Tardis",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "ilo pi ante sitelen",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "ilo open Tardis",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Ascend: %s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "sina o awen e ilo tenpo %s",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "%s li wile taso e ilo open ni",
"message.tardis_refined.key_cycled": "suli nanpa wan: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "wile: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "selo Factory",
"shell.tardis_refined.groening": "selo Groening",
"shell.tardis_refined.growth": "selo Growth",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "selo Mystic",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "selo Police Box",
"shell.tardis_refined.portaloo": "selo Portaloo",
"shell.tardis_refined.present": "selo Present",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "selo Vending Machine",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "ilo pi ante sitelen li open",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "Screen display static",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS flies",
"sound.tardis_takeoff.subtitle": "TARDIS takes off",
"sound.time_blast.subtitle": "Time Vortex blast",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "wan Tardis:",
- "ui.tardis_refined.desktop_selection": "ANTE INSA",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "sina wile ala wile awen e ante kama?",
- "ui.tardis_refined.monitor.desktop": "ANTE INSA",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "o awen e ante insa",
"ui.tardis_refined.monitor.desktop_cancel.title": "INSA LI ANTE",
"ui.tardis_refined.monitor.desktop_cancel_description": "insa li kama ante la sina ken ala kepeken.",
- "ui.tardis_refined.monitor.external_shell": "ANTE SELO",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "wile li ni: &s",
"ui.tardis_refined.monitor.main.destination": "ma pini",
"ui.tardis_refined.monitor.main.gps": "ilo GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "POKI NANPA",
"ui.tardis_refined.monitor.no.waypoints": "No Waypoints Saved!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "COORD NAVIGATION",
"ui.tardis_refined.monitor.upload.waypoints": "WAYPOINT NAVIGATION",
"ui.tardis_refined.monitor.waypoint_name": "Waypoint Name:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "ANTE SELO",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "Waypoints",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/uk_ua.json b/common/src/main/resources/assets/tardis_refined/lang/uk_ua.json
index ecf8f569..9a370876 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/uk_ua.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/uk_ua.json
@@ -1,22 +1,22 @@
{
- "argument.tardis_refined.desktop.invalid": "Невірний ID стола %s",
- "argument.tardis_refined.shell.invalid": "Некоректна продажу ID %s",
- "argument.tardis_refined.upgrade.invalid": "Invalid Upgrade of ID %s",
+ "argument.tardis_refined.desktop.invalid": "Невірний робочий стіл з ID %s",
+ "argument.tardis_refined.shell.invalid": "Невірна оболонка з ID %s",
+ "argument.tardis_refined.upgrade.invalid": "Недійсне оновлення з ID %s",
"block.tardis_refined.air_lock_generator": "Генератор шлюзу",
"block.tardis_refined.ars_egg": "Яйце AРС",
"block.tardis_refined.ars_leaves": "Листя АРС",
"block.tardis_refined.ars_leaves_fence": "Паркан АРС",
"block.tardis_refined.ars_leaves_slab": "Плита АРС",
- "block.tardis_refined.artron_pillar": "Артрон-Колор",
- "block.tardis_refined.artron_pillar_port": "Артрон-Піллар-Порт",
+ "block.tardis_refined.artron_pillar": "Артронна колона",
+ "block.tardis_refined.artron_pillar_port": "Порт Артронної колони",
"block.tardis_refined.astral_manipulator": "Астральний маніпулятор",
- "block.tardis_refined.bulk_head_door": "Основні двері",
+ "block.tardis_refined.bulk_head_door": "Шлюз",
"block.tardis_refined.console_configuration": "Конфігуратор консолі",
- "block.tardis_refined.corridor_teleporter": "Телепорт коридора",
+ "block.tardis_refined.corridor_teleporter": "Коридорний телепорт",
"block.tardis_refined.deepslate_zeiton_ore": "Deepslate Zeiton Ore",
"block.tardis_refined.flight_detector": "Детектор польоту",
"block.tardis_refined.fools_stone": "Камінь дурня",
- "block.tardis_refined.gravity_well": "Гравітація",
+ "block.tardis_refined.gravity_well": "Гравітаційний колодязь",
"block.tardis_refined.landing_pad": "Приземлювальний майданчик",
"block.tardis_refined.root_plant": "Коренева рослина",
"block.tardis_refined.root_shell": "Коренева оболонка",
@@ -28,10 +28,10 @@
"block.tardis_refined.zeiton_block": "Блок Зейтона",
"block.tardis_refined.zeiton_fused_copper_block": "Зейтон плавилий мідний блок",
"block.tardis_refined.zeiton_fused_iron_block": "Зейтон залізо-блок",
- "block.tardis_refined.zeiton_lantern": "Zeiton Lantern",
- "block.tardis_refined.zeiton_ore": "Zeiton Ore",
- "command.tardis_refined.create.in_progress": "Спроба створення Tardis %s- покоління в прогресі",
- "command.tardis_refined.create.success": "Tardis успішно створений з id %s",
+ "block.tardis_refined.zeiton_lantern": "Зейтоновий ліхтар",
+ "block.tardis_refined.zeiton_ore": "Зейтонова руда",
+ "command.tardis_refined.create.in_progress": "Спроба створення Tardis %s, генерування",
+ "command.tardis_refined.create.success": "ТАРДІС успішно створена з id %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s не є виміром ТАРДІС!",
"command.tardis_refined.export_desktop.fail": "§cНе вдалося експортувати робочий стіл %s!",
"command.tardis_refined.export_desktop.in_progress": "Генерація пакета даних для робочого столу %s, це може зайняти деякий час залежно від розміру структури...",
@@ -39,14 +39,16 @@
"command.tardis_refined.export_desktop.success": "§aУспішно експортовано робочий стіл %s до пакета даних %s! Використовуйте команду %s, щоб побачити зміни.",
"command.tardis_refined.level.point.add": "Додано %s балів за %s, всього тепер %s",
"command.tardis_refined.level.point.get": "%s має бали покращені %s",
- "command.tardis_refined.level.point.set": "Set upgrade points for %s to %s",
+ "command.tardis_refined.level.point.set": "Встановлено очки оновлення для %s до %s",
"command.tardis_refined.level.xp.add": "Додано %s XP для %s, всього XP тепер %s",
- "command.tardis_refined.level.xp.get": "%s has %s XP",
+ "command.tardis_refined.level.xp.get": "%s має %s досвіду",
"command.tardis_refined.level.xp.set": "Установка XP для %s в %s",
"command.tardis_refined.no_internal_door": "§cНе знайдено внутрішніх дверей у вимірі %s! Розгляньте можливість використання типової команди телепорту %s",
"command.tardis_refined.upgrade.lock": "Оновлення %s для %s закрите",
"command.tardis_refined.upgrade.unlock": "Розблоковано покращення %s для %s",
"config.tardis_refined.banned_dimensions": "Заборонені виміри",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "Відтворити анімації консолі в режимі очікування",
"config.tardis_refined.control_names": "Вивести назви елементів управління?",
"config.tardis_refined.immersive_portals": "Сумісність з імерсивними порталами?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "Вимір",
"control.tardis_refined.door_toggle": "Перемикач дверей",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "Швидке повернення",
"control.tardis_refined.fuel": "Паливо",
- "control.tardis_refined.generic_control": "Перемкнути",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "Ручне гальмо",
"control.tardis_refined.increment": "Приріст",
"control.tardis_refined.monitor": "Монітор",
@@ -65,47 +68,71 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "Напрямок",
"control.tardis_refined.throttle": "Тяга",
- "death.attack.eye_of_harmony": "%s was fried by time winds.",
- "death.attack.eye_of_harmony.player": "%s was fried by time winds.",
+ "curios.identifier.timelord_sight": "AR-окуляри",
+ "death.attack.choke": "%s задихнувся токсичними випарами",
+ "death.attack.choke.player": "%s задихнувся токсичними випарами",
+ "death.attack.eye_of_harmony": "%s був підсмажений вітрами часу.",
+ "death.attack.eye_of_harmony.player": "%s був підсмажений вітрами часу.",
"entity.tardis_refined.console_control": "Загальний контроль",
"item.tardis_refined.amethyst_screwdriver": "Викрутка аметиста",
"item.tardis_refined.drill": "Дриль вирощування",
"item.tardis_refined.glasses": "ПОВІДОМЛЕННЯ",
"item.tardis_refined.keychain": "Набір ключів ТАРДІС",
+ "item.tardis_refined.mallet": "Молот",
"item.tardis_refined.pattern_manipulator": "Маніпулятор шаблонів",
"item.tardis_refined.raw_zeiton": "Raw Zeiton",
"item.tardis_refined.tardis_key": "Ключ ТАРДІС",
+ "item.tardis_refined.test_tube": "Пробірка",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "Tardis Refined",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "Збільшення: %s",
"message.tardis_refined.astral_manipulator_engaged": "Будь ласка, зробіть вашу вибірку. Натисніть правою кнопкою миші, щоб підтвердити",
"message.tardis_refined.cannot_start_no_fuel": "Недостатньо палива для початку",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Неможливо змінити консолі в польоті",
- "message.tardis_refined.console_config_not_in_flight": "Неможливо оновити блок консолі в польоті",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "Поточний",
- "message.tardis_refined.descend_key": "Descend: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Недостатньо палива для запуску процесу реконфігурації",
+ "message.tardis_refined.demands_payment": "Вимагає оплати",
+ "message.tardis_refined.descend_key": "Спуститися: %s",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "МІСЦЕ ПРИЗНАЧЕННЯ",
+ "message.tardis_refined.dim_added_to_tardis": "%s додано до банку даних",
+ "message.tardis_refined.dim_already_saved": "Вже містить зразок",
+ "message.tardis_refined.dim_not_allowed": "З цього виміру не можливо взяти зразок",
+ "message.tardis_refined.dim_potential": "Проаналізовано %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Двері замкнені",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Двері відімкнені",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "Ви повинні зачекати %s сек.",
- "message.tardis_refined.fuel": "Паливо: ",
- "message.tardis_refined.fuel_offline": "Паливо в автономному режимі",
+ "message.tardis_refined.fuel": "Паливо: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Рукозапис не задіяно",
"message.tardis_refined.handbrake_engaged": "Взято портативний гальм",
"message.tardis_refined.handbrake_warning": "Корабель знаходиться у польоті. Ліва кнопка миші на гальмі, щоб залучити",
- "message.tardis_refined.hardware_offline": "Апаратне відключення",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "Ключ прив’язаний до: %s",
"message.tardis_refined.key_cycled": "Основний: %s",
- "message.tardis_refined.landing_pad_transient": "Неможливо викликати TARDIS зараз",
- "message.tardis_refined.landing_pad_unlocked": "Вказаний TARDIS відхилив сигнал pad",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "Дракон заважає тобі прогресувати до кінця",
"message.tardis_refined.no_flight_transitive": "Неможливо змінити стан рукопашного гальма під час передавального польоту",
+ "message.tardis_refined.pilot_time": "В тебе ще є %s з твоїм пілотом. Скористайся ними сповна!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Прогрес відновлення: %s",
"message.tardis_refined.refuel_engaged": "Ввімкнено релюелювання",
"message.tardis_refined.refuel_stopped": "Відміна припинена",
"message.tardis_refined.root_plant_cut_open": "Корені для входу",
"message.tardis_refined.selected": "Вибрано: %s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS було викликано і вже на шляху",
- "message.tardis_refined.tooltip_in_flight": "В польоті",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Попередньо завантажена точка: %s",
"monitor.waypoints.name.placeholder": "Назва точки",
"monitor.waypoints.new_waypoint": "Нова Шляхова Точка",
@@ -117,7 +144,8 @@
"shell.tardis_refined.factory": "Фабрика",
"shell.tardis_refined.groening": "Ґрейнінґ",
"shell.tardis_refined.growth": "Вирощування",
- "shell.tardis_refined.hieroglyph": "Hieroglyph",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "Давньоєгипетський мавзолей",
"shell.tardis_refined.lift": "Ліфт",
"shell.tardis_refined.mystic": "Містичний",
"shell.tardis_refined.nuka": "Нюка",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "Поліцейська будка",
"shell.tardis_refined.portaloo": "Портало",
"shell.tardis_refined.present": "Дарунок",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "Торговий автомат",
+ "sound.alarm.subtitle": "Тривога",
"sound.ars_hum.subtitle": "ARS-деревовидний гум",
"sound.artron_pillar_active.subtitle": "Артрон активовано стовп",
+ "sound.cloister_bell.subtitle": "Монастирський дзвін",
"sound.console_power_on.subtitle": "Консольна енергія ввімкнена",
"sound.corridor_teleporter.subtitle": "Вибудування телепортера",
"sound.corridor_teleporter_success.subtitle": "Використаний телепорт",
"sound.destination_ding.subtitle": "TARDIS досягає місця призначення",
"sound.flight_fail_start.subtitle": "При відмові від торгів TARDIS",
"sound.gravity_tunnel.subtitle": "Гравітаційний тунель",
+ "sound.hum_aviatrax.subtitle": "Гомін ТАРДІС",
+ "sound.hum_cave.subtitle": "Гомін ТАРДІС",
+ "sound.hum_classic.subtitle": "Гомін ТАРДІС",
+ "sound.hum_coral.subtitle": "Гомін ТАРДІС",
+ "sound.hum_toyota.subtitle": "Гомін ТАРДІС",
+ "sound.hum_victorian.subtitle": "Гомін ТАРДІС",
"sound.interior_creaks.subtitle": "Крекс",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Попередження про низький рівень палива",
+ "sound.mallet.subtitle": "Удар молотом",
"sound.pattern_manipulator.subtitle": "Активується маніпулятор шаблонів",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Записати дані для викрутки",
"sound.screwdriver_short.subtitle": "Викрутка використовується",
"sound.static.subtitle": "Екран статичний",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS літає",
"sound.tardis_takeoff.subtitle": "TARDIS злітає",
"sound.time_blast.subtitle": "Вибух часового вихору",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "Маніпулятор-частоти",
- "tooltip.tardis_refined.tardis_list": "Набір ключів:",
- "ui.tardis_refined.desktop_selection": "КОНФІГУРАЦІЯ РОБОЧОГО СТОЛУ",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§аРозшифрування зразка: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Збережено зразок: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7Відсутній зразок виміру",
"ui.tardis_refined.monitor.cancel_desktop": "Бажаєте скасувати майбутню зміну конфігурації?",
- "ui.tardis_refined.monitor.desktop": "КОНФІГУРАЦІЯ РОБОЧОГО СТОЛУ",
+ "ui.tardis_refined.monitor.desktop": "Робочий стіл",
"ui.tardis_refined.monitor.desktop_cancel": "Скасувати зміну конфігурації робочого столу",
"ui.tardis_refined.monitor.desktop_cancel.title": "ОПЕРАЦІЯ У ПРОГРЕСІ",
"ui.tardis_refined.monitor.desktop_cancel_description": "Системи вимкнено, оскільки заплановано зміну конфігурації робочого столу.",
- "ui.tardis_refined.monitor.external_shell": "КОНФІГУРАЦІЯ ВНУТРІШНЬОЇ ОБОЛОНКИ",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "Наразі вибрано: &s",
"ui.tardis_refined.monitor.main.destination": "Пункт призначення",
"ui.tardis_refined.monitor.main.gps": "GPS",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "МОНІТОР",
"ui.tardis_refined.monitor.no.waypoints": "Жодних точок не збережено!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "ЗАМОВЛЕННЯ",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "НАВІГАЦІЯ ПО КООРДИНАТАХ",
"ui.tardis_refined.monitor.upload.waypoints": "НАВІГАЦІЯ ПО ТОЧКАХ",
"ui.tardis_refined.monitor.waypoint_name": "Назва точки:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Неприпустиме значення Y",
"ui.tardis_refined.monitor.waypoints.issues.z": "Неправильне значення Z",
"ui.tardis_refined.monitor.waypoints.load": "Надіслати в консоль",
- "ui.tardis_refined.monitor.waypoints.submit": "Ввести",
"ui.tardis_refined.monitor.waypoints.upload": "Вивантажити",
"ui.tardis_refined.no_installed_subsystems": "Немає доступних підсистем",
- "ui.tardis_refined.shell_selection": "КОНФІГУРАЦІЯ ВНУТРІШНЬОЇ ОБОЛОНКИ",
"ui.tardis_refined.upgrades": "Оновлення Тардіса",
"ui.tardis_refined.upgrades.buy_ability": "Придбати оновлення?",
+ "ui.tardis_refined.villager_can_pilot": "Пілот?",
"upgrade.tardis_refined.architecture_system": "Архітектура",
"upgrade.tardis_refined.architecture_system.description": "Дозволяє Покращення Архітектури TARDIS",
"upgrade.tardis_refined.chameleon_circuit_system": "Хамелеонна Схема",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "приріст x2500",
"upgrade.tardis_refined.explorer_iii": "Експлорер-III",
"upgrade.tardis_refined.explorer_iii.description": "Приріст x5000",
+ "upgrade.tardis_refined.flight_system": "Системи польоту",
+ "upgrade.tardis_refined.flight_system.description": "Дозволяє оновлювати систему польоту TARDIS",
"upgrade.tardis_refined.improved_generation_time_i": "Поліпшене покоління I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Знижує час очікування стільниці до 120 секунд",
"upgrade.tardis_refined.improved_generation_time_ii": "Покращене Покоління II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Дозволяє TARDIS вводити об'єкти під час формування матриці",
"upgrade.tardis_refined.navigation_system": "Система навігації",
"upgrade.tardis_refined.navigation_system.description": "Дозволяє оновлення до системи навігації TARDIS",
+ "upgrade.tardis_refined.speed_i": "Швидкість I",
+ "upgrade.tardis_refined.speed_i.description": "Швидкість польоту у 5 разів більша",
+ "upgrade.tardis_refined.speed_ii": "Швидкість II",
+ "upgrade.tardis_refined.speed_ii.description": "Швидкість польоту у 10 разів більша",
+ "upgrade.tardis_refined.speed_iii": "Швидкість III",
+ "upgrade.tardis_refined.speed_iii.description": "Швидкість польоту у 25 разів більша",
+ "upgrade.tardis_refined.speed_iv": "Швидкість IV",
+ "upgrade.tardis_refined.speed_iv.description": "Швидкість польоту у 50 разів більша",
"upgrade.tardis_refined.tardis_xp": "Оновлення системи",
"upgrade.tardis_refined.tardis_xp.description": "Дозволяє оновлення до TARDIS",
"upgrade.tardis_refined.waypoints": "Точки",
- "upgrade.tardis_refined.waypoints.description": "Дозволяє Пілоту створити збережені місця"
+ "upgrade.tardis_refined.waypoints.description": "Дозволяє Пілоту створити збережені місця",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/zh_cn.json b/common/src/main/resources/assets/tardis_refined/lang/zh_cn.json
index c23fd390..f5192f05 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/zh_cn.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/zh_cn.json
@@ -4,170 +4,222 @@
"argument.tardis_refined.upgrade.invalid": "ID为“%s”的升级无效",
"block.tardis_refined.air_lock_generator": "气闸生成器",
"block.tardis_refined.ars_egg": "ARS蛋",
- "block.tardis_refined.ars_leaves": "ARS叶",
+ "block.tardis_refined.ars_leaves": "ARS树叶",
"block.tardis_refined.ars_leaves_fence": "ARS栅栏",
"block.tardis_refined.ars_leaves_slab": "ARS台阶",
- "block.tardis_refined.artron_pillar": "亚创柱",
- "block.tardis_refined.artron_pillar_port": "接口的亚创柱",
+ "block.tardis_refined.artron_pillar": "阿特隆之柱",
+ "block.tardis_refined.artron_pillar_port": "阿特隆之柱端口",
"block.tardis_refined.astral_manipulator": "星体操纵器",
"block.tardis_refined.bulk_head_door": "舱壁门",
- "block.tardis_refined.console_configuration": "操作面板配置器",
+ "block.tardis_refined.console_configuration": "控制台配置器",
"block.tardis_refined.corridor_teleporter": "走廊传送器",
"block.tardis_refined.deepslate_zeiton_ore": "深层泽顿矿石",
- "block.tardis_refined.flight_detector": "飞行探测器",
- "block.tardis_refined.fools_stone": "愚人石头",
+ "block.tardis_refined.flight_detector": "旅行检测器",
+ "block.tardis_refined.fools_stone": "愚人石",
"block.tardis_refined.gravity_well": "重力井",
- "block.tardis_refined.landing_pad": "着陆场",
+ "block.tardis_refined.landing_pad": "着陆台",
"block.tardis_refined.root_plant": "TARDIS珊瑚",
"block.tardis_refined.root_shell": "珊瑚外壳",
"block.tardis_refined.root_shell_door": "珊瑚外壳门",
- "block.tardis_refined.tardis_console": "操作面板",
+ "block.tardis_refined.tardis_console": "控制台",
"block.tardis_refined.tardis_door": "TARDIS的门",
"block.tardis_refined.tardis_shell": "TARDIS",
- "block.tardis_refined.terraformer": "地球化器",
+ "block.tardis_refined.terraformer": "地形改造器",
"block.tardis_refined.zeiton_block": "泽顿块",
"block.tardis_refined.zeiton_fused_copper_block": "泽顿熔融铜块",
"block.tardis_refined.zeiton_fused_iron_block": "泽顿熔融铁块",
"block.tardis_refined.zeiton_lantern": "泽顿灯笼",
"block.tardis_refined.zeiton_ore": "泽顿矿石",
- "command.tardis_refined.create.in_progress": "尝试生成TARDIS“%s”,请您稍候",
- "command.tardis_refined.create.success": "成功生成ID为“%s”的TARDIS",
+ "command.tardis_refined.create.in_progress": "正在创建 Tardis %s,请稍等",
+ "command.tardis_refined.create.success": "成功创建 Tardis,ID为 %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s不是TARDIS维度!",
"command.tardis_refined.export_desktop.fail": "§c导出控制室%s失败!",
- "command.tardis_refined.export_desktop.in_progress": "为控制室%s创建一个数据包。这可能需要一些时间,取决于该结构的大小…",
- "command.tardis_refined.export_desktop.resource_pack": "§9要选择控制室的预览图像,请创建一个资源包。请看%s的一些资源包的例子。",
+ "command.tardis_refined.export_desktop.in_progress": "正在为控制室 %s 生成数据包,根据结构大小可能需要一些时间…",
+ "command.tardis_refined.export_desktop.resource_pack": "§9要定义控制室的预览图像,请创建一个资源包。这里有一些作为示例的资源包:%s",
"command.tardis_refined.export_desktop.success": "§a成功地将控制室%s导出到数据包%s!使用%s命令来查看变化。",
- "command.tardis_refined.level.point.add": "已给予%2$s %1$s点,总计%3$s点",
- "command.tardis_refined.level.point.get": "%s拥有%s点升级值",
- "command.tardis_refined.level.point.set": "已将%1$s的升级值设为%2$s",
- "command.tardis_refined.level.xp.add": "已给予%2$s %1$s点经验,总计%3$s点",
+ "command.tardis_refined.level.point.add": "为 %s 增加了 %s 的升级点数,现在总点数为 %s",
+ "command.tardis_refined.level.point.get": "%s 拥有 %s 的升级点数",
+ "command.tardis_refined.level.point.set": "已将 %s 的升级点数设置为 %s",
+ "command.tardis_refined.level.xp.add": "为 %s 增加了 %s 的经验值,现在总经验值为 %s",
"command.tardis_refined.level.xp.get": "%s拥有%s点经验值",
- "command.tardis_refined.level.xp.set": "已将%1$s的经验值设为%2$s",
- "command.tardis_refined.no_internal_door": "§c在维度%s中没有发现内门!使用%s命令进入内部。",
- "command.tardis_refined.upgrade.lock": "已为%2$s上锁了升级%1$s",
- "command.tardis_refined.upgrade.unlock": "已为%2$s解锁了升级%1$s",
+ "command.tardis_refined.level.xp.set": "已将 %s 的经验值设置为 %s",
+ "command.tardis_refined.no_internal_door": "§c在维度 %s 中未找到内门!请考虑使用默认传送命令 %s",
+ "command.tardis_refined.upgrade.lock": "已为 %s 锁定了升级 %s",
+ "command.tardis_refined.upgrade.unlock": "已为 %s 解锁了升级 %s",
"config.tardis_refined.banned_dimensions": "禁止的维度",
- "config.tardis_refined.console_idle_animations": "播放空闲的操作面板动画",
- "config.tardis_refined.control_names": "显示控制名称?",
- "config.tardis_refined.immersive_portals": "Immersive Portals的兼容性?",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
+ "config.tardis_refined.console_idle_animations": "播放控制台待机动画",
+ "config.tardis_refined.control_names": "显示控件名称?",
+ "config.tardis_refined.immersive_portals": "沉浸式传送门(Immersive Portals)的兼容性?",
"control.tardis_refined.cord_x": "X",
"control.tardis_refined.cord_y": "Y",
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "维度",
- "control.tardis_refined.door_toggle": "门按钮",
- "control.tardis_refined.fast_return": "快速返回按钮",
+ "control.tardis_refined.door_toggle": "门开关",
+ "control.tardis_refined.exterior_display": "Exterior Display",
+ "control.tardis_refined.fast_return": "快速返回",
"control.tardis_refined.fuel": "燃料",
- "control.tardis_refined.generic_control": "开关",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "手刹",
- "control.tardis_refined.increment": "坐标增量按钮",
- "control.tardis_refined.monitor": "电脑",
- "control.tardis_refined.random": "坐标随机按钮",
- "control.tardis_refined.read_out": "当前位置",
- "control.tardis_refined.rotate": "方向控制",
+ "control.tardis_refined.increment": "坐标增量器",
+ "control.tardis_refined.monitor": "计算机库",
+ "control.tardis_refined.random": "坐标随机器",
+ "control.tardis_refined.read_out": "GPS",
+ "control.tardis_refined.rotate": "方向",
"control.tardis_refined.throttle": "油门",
- "death.attack.eye_of_harmony": "%s被时间的风烧死了",
- "death.attack.eye_of_harmony.player": "%s被时间的风烧死了",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
+ "death.attack.eye_of_harmony": "%s 被时间风暴烧焦。",
+ "death.attack.eye_of_harmony.player": "%s 被时间风暴烧焦。",
"entity.tardis_refined.console_control": "控制按钮",
- "item.tardis_refined.amethyst_screwdriver": "紫水晶螺丝起子",
+ "item.tardis_refined.amethyst_screwdriver": "紫水晶螺丝刀",
"item.tardis_refined.drill": "生长石钻",
- "item.tardis_refined.glasses": "增强现实眼镜",
- "item.tardis_refined.keychain": "钥匙圈",
+ "item.tardis_refined.glasses": "AR 眼镜",
+ "item.tardis_refined.keychain": "Tardis 密钥集",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "设计更改器",
"item.tardis_refined.raw_zeiton": "粗泽顿",
"item.tardis_refined.tardis_key": "TARDIS钥匙",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "泽顿锭",
"item.tardis_refined.zeiton_nugget": "泽顿粒",
- "itemGroup.tardis_refined": "改良的TARDIS",
+ "itemGroup.tardis_refined": "TARDIS 精炼版",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "上升:%s",
- "message.tardis_refined.astral_manipulator_engaged": "请选择您的选区。右击再次确认",
+ "message.tardis_refined.astral_manipulator_engaged": "请进行区域选择,再次右键以确认",
"message.tardis_refined.cannot_start_no_fuel": "没有足够的燃料启动",
- "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "飞行时无法更改控制台",
- "message.tardis_refined.console_config_not_in_flight": "飞行时无法更新控制台块",
- "message.tardis_refined.current": "解答",
+ "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "旅行时无法更改控制台",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
+ "message.tardis_refined.current": "当前位置",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "下降:%s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "没有足够的燃料来启动重新配置进程",
- "message.tardis_refined.destination": "目标",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
+ "message.tardis_refined.destination": "目标位置",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "你必须等待%s秒",
- "message.tardis_refined.fuel": "燃料: ",
- "message.tardis_refined.fuel_offline": "燃料离线了",
- "message.tardis_refined.handbrake_disengaged": "手制脱离接触",
- "message.tardis_refined.handbrake_engaged": "手握手套装",
- "message.tardis_refined.handbrake_warning": "飞船正在飞行中。左键单击手动来使用",
- "message.tardis_refined.hardware_offline": "硬件脱机",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
+ "message.tardis_refined.handbrake_disengaged": "关闭手刹",
+ "message.tardis_refined.handbrake_engaged": "启用手刹",
+ "message.tardis_refined.handbrake_warning": "TARDIS正在旅行,左键点击以紧急刹车",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "钥匙绑定至%s",
- "message.tardis_refined.key_cycled": "主要:%s",
- "message.tardis_refined.landing_pad_transient": "此时无法召唤TARDIS",
- "message.tardis_refined.landing_pad_unlocked": "指定的TARDIS 拒绝着陆键盘信号",
- "message.tardis_refined.no_end_dragon_prevents": "拖拽阻止您向末地移动",
- "message.tardis_refined.no_flight_transitive": "暂时飞行时无法更改手制状态",
- "message.tardis_refined.refuel_engaged": "已启用加电",
- "message.tardis_refined.refuel_stopped": "停止加油中",
- "message.tardis_refined.root_plant_cut_open": "根屋顶掩盖入门",
+ "message.tardis_refined.key_cycled": "当前ID:%s",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
+ "message.tardis_refined.no_end_dragon_prevents": "一条龙阻止你前往末地",
+ "message.tardis_refined.no_flight_transitive": "起飞或降落时无法使用手刹",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
+ "message.tardis_refined.refuel_engaged": "已开始加油",
+ "message.tardis_refined.refuel_stopped": "已停止加油",
+ "message.tardis_refined.root_plant_cut_open": "珊瑚覆盖了入口",
"message.tardis_refined.selected": "已选择:%s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS 已被传唤,正在进行中。",
- "message.tardis_refined.tooltip_in_flight": "旅行中",
- "message.tardis_refined.waypoint_loaded": "预装的航点: %s",
+ "message.tardis_refined.submit": "Submit",
+ "message.tardis_refined.tardis_on_the_way": "TARDIS已被召唤,正在赶来的路上",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
+ "message.tardis_refined.waypoint_loaded": "预加载的航点:%s",
"monitor.waypoints.name.placeholder": "航点名称",
"monitor.waypoints.new_waypoint": "新航点",
- "monitor.waypoints.taken": "从目标值检索到的数据",
+ "monitor.waypoints.taken": "目的地坐标将被保存",
"shell.tardis_refined.big_ben": "大本钟",
- "shell.tardis_refined.briefcase": "皮包",
- "shell.tardis_refined.castle": "蘑菇城堡",
- "shell.tardis_refined.drifter": "浪人的外观",
- "shell.tardis_refined.factory": "默认的外观",
- "shell.tardis_refined.groening": "格勒宁",
- "shell.tardis_refined.growth": "珊瑚生长",
- "shell.tardis_refined.hieroglyph": "圣书体",
+ "shell.tardis_refined.briefcase": "手提箱",
+ "shell.tardis_refined.castle": "城堡",
+ "shell.tardis_refined.drifter": "流浪者",
+ "shell.tardis_refined.factory": "默认外观",
+ "shell.tardis_refined.groening": "格罗宁",
+ "shell.tardis_refined.growth": "珊瑚",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "象形字",
"shell.tardis_refined.lift": "电梯",
- "shell.tardis_refined.mystic": "神秘的柜子",
- "shell.tardis_refined.nuka": "核子可乐自动贩卖机",
+ "shell.tardis_refined.mystic": "神秘",
+ "shell.tardis_refined.nuka": "核子",
"shell.tardis_refined.pagoda": "宝塔",
"shell.tardis_refined.pathfinder": "开拓者",
- "shell.tardis_refined.phone_booth": "红色电话亭",
+ "shell.tardis_refined.phone_booth": "电话亭",
"shell.tardis_refined.police_box": "警察电话亭",
- "shell.tardis_refined.portaloo": "流动厕所",
+ "shell.tardis_refined.portaloo": "移动厕所",
"shell.tardis_refined.present": "礼物",
- "shell.tardis_refined.vending": "自动售货机",
+ "shell.tardis_refined.shulker": "Half Baked",
+ "shell.tardis_refined.vending": "售货机",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS树:嗡嗡作响",
- "sound.artron_pillar_active.subtitle": "亚创柱:激活",
- "sound.console_power_on.subtitle": "操作面板:激活",
- "sound.corridor_teleporter.subtitle": "传送器建设",
- "sound.corridor_teleporter_success.subtitle": "已使用传送器",
+ "sound.artron_pillar_active.subtitle": "阿特隆之柱:激活",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
+ "sound.console_power_on.subtitle": "控制台:开机",
+ "sound.corridor_teleporter.subtitle": "走廊传送器:启动中",
+ "sound.corridor_teleporter_success.subtitle": "传送已完成",
"sound.destination_ding.subtitle": "TARDIS:到达目的地",
- "sound.flight_fail_start.subtitle": "垂死的TARDIS:呻吟",
+ "sound.flight_fail_start.subtitle": "TARDIS:呻吟",
"sound.gravity_tunnel.subtitle": "重力隧道风",
- "sound.interior_creaks.subtitle": "克里克",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
+ "sound.interior_creaks.subtitle": "嘎吱声",
"sound.interior_voice.subtitle": "…?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "设计更改器:激活",
- "sound.screwdriver_discard.subtitle": "屏幕驱动丢弃数据",
- "sound.screwdriver_short.subtitle": "屏幕驱动程序已使用",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
+ "sound.screwdriver_discard.subtitle": "螺丝刀:删除数据",
+ "sound.screwdriver_short.subtitle": "使用螺丝刀",
"sound.static.subtitle": "显示屏:噪声",
"sound.tardis_crash_land.subtitle": "TARDIS:迫降",
- "sound.tardis_land.subtitle": "TARDIS:重新显现",
+ "sound.tardis_land.subtitle": "TARDIS:着陆",
"sound.tardis_misc_sparkle.subtitle": "TARDIS:到达",
"sound.tardis_single_fly.subtitle": "TARDIS:旅行",
- "sound.tardis_takeoff.subtitle": "TARDIS:非物质化",
+ "sound.tardis_takeoff.subtitle": "TARDIS:起飞",
"sound.time_blast.subtitle": "时空涡旋:爆炸",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "紫水晶频率操纵器",
- "tooltip.tardis_refined.tardis_list": "钥匙圈:",
- "ui.tardis_refined.desktop_selection": "控制室配置",
- "ui.tardis_refined.monitor.cancel_desktop": "你想取消预定的控制室重新装修吗?",
- "ui.tardis_refined.monitor.desktop": "控制室配置",
- "ui.tardis_refined.monitor.desktop_cancel": "取消控制室的重新装修",
- "ui.tardis_refined.monitor.desktop_cancel.title": "作业正在进行中!",
- "ui.tardis_refined.monitor.desktop_cancel_description": "由于预定的控制室重新装修,TARDIS系统已被禁用。",
- "ui.tardis_refined.monitor.external_shell": "外观配置",
- "ui.tardis_refined.monitor.list.selection": "已选择:&s",
- "ui.tardis_refined.monitor.main.destination": "目的地",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
+ "ui.tardis_refined.monitor.cancel_desktop": "你要取消预定的装修吗?",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
+ "ui.tardis_refined.monitor.desktop_cancel": "取消控制室装修",
+ "ui.tardis_refined.monitor.desktop_cancel.title": "装修正在进行中!",
+ "ui.tardis_refined.monitor.desktop_cancel_description": "系统已禁用,因为已计划进行控制室装修。",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.list.selection": "当前选择:&s",
+ "ui.tardis_refined.monitor.main.destination": "目标位置",
"ui.tardis_refined.monitor.main.gps": "当前位置",
- "ui.tardis_refined.monitor.main_title": "电脑",
- "ui.tardis_refined.monitor.no.waypoints": "没有保存的航点",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
+ "ui.tardis_refined.monitor.main_title": "计算机库",
+ "ui.tardis_refined.monitor.no.waypoints": "没有保存的航点!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "声景",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "坐标导航",
"ui.tardis_refined.monitor.upload.waypoints": "航点导航",
"ui.tardis_refined.monitor.waypoint_name": "航点名称:",
"ui.tardis_refined.monitor.waypoints": "航点",
- "ui.tardis_refined.monitor.waypoints.create": "新航点",
+ "ui.tardis_refined.monitor.waypoints.create": "新建航点",
"ui.tardis_refined.monitor.waypoints.delete": "删除航点",
"ui.tardis_refined.monitor.waypoints.edit": "编辑航点",
"ui.tardis_refined.monitor.waypoints.issues": "问题:",
@@ -176,42 +228,73 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "无效的Y值",
"ui.tardis_refined.monitor.waypoints.issues.z": "无效的Z值",
"ui.tardis_refined.monitor.waypoints.load": "发送到控制台",
- "ui.tardis_refined.monitor.waypoints.submit": "提交",
"ui.tardis_refined.monitor.waypoints.upload": "上传",
"ui.tardis_refined.no_installed_subsystems": "没有可用的子系统",
- "ui.tardis_refined.shell_selection": "外观配置",
- "ui.tardis_refined.upgrades": "TARDIS的升级",
- "ui.tardis_refined.upgrades.buy_ability": "购买升级?",
- "upgrade.tardis_refined.architecture_system": "建築",
- "upgrade.tardis_refined.architecture_system.description": "解锁建筑升级",
+ "ui.tardis_refined.upgrades": "TARDIS升级",
+ "ui.tardis_refined.upgrades.buy_ability": "确定升级?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
+ "upgrade.tardis_refined.architecture_system": "建筑系统",
+ "upgrade.tardis_refined.architecture_system.description": "允许对TARDIS建筑系统进行升级",
"upgrade.tardis_refined.chameleon_circuit_system": "变色龙电路",
"upgrade.tardis_refined.chameleon_circuit_system.description": "允许TARDIS改变外观",
"upgrade.tardis_refined.defense_system": "防御系统",
- "upgrade.tardis_refined.defense_system.description": "解锁防御协议",
+ "upgrade.tardis_refined.defense_system.description": "允许对TARDIS防御系统进行升级",
"upgrade.tardis_refined.dimension_travel": "跨维度旅行",
- "upgrade.tardis_refined.dimension_travel.description": "允许TARDIS在不同维度之间旅行。",
- "upgrade.tardis_refined.explorer": "探险者一级",
- "upgrade.tardis_refined.explorer.description": "解锁×1000增量",
- "upgrade.tardis_refined.explorer_ii": "探险者二级",
- "upgrade.tardis_refined.explorer_ii.description": "解锁×2500增量",
- "upgrade.tardis_refined.explorer_iii": "探险者三级",
- "upgrade.tardis_refined.explorer_iii.description": "解锁×5000增量",
- "upgrade.tardis_refined.improved_generation_time_i": "改进了第一代版",
- "upgrade.tardis_refined.improved_generation_time_i.description": "将桌面等待时间降低到120秒",
- "upgrade.tardis_refined.improved_generation_time_ii": "第二代改进",
- "upgrade.tardis_refined.improved_generation_time_ii.description": "将桌面等待时间降低到60秒",
- "upgrade.tardis_refined.improved_generation_time_iii": "改进第三代环境",
- "upgrade.tardis_refined.improved_generation_time_iii.description": "将桌面等待时间降低到10秒",
- "upgrade.tardis_refined.inside_architecture": "控制室的重新装修",
- "upgrade.tardis_refined.inside_architecture.description": "解锁控制室重新装修系统",
- "upgrade.tardis_refined.landing_pad": "着陆场",
- "upgrade.tardis_refined.landing_pad.description": "允许将TARDIS召唤到着陆场",
- "upgrade.tardis_refined.materialize_around": "材质化",
- "upgrade.tardis_refined.materialize_around.description": "允许TARDIS在生产时输入实体",
+ "upgrade.tardis_refined.dimension_travel.description": "允许TARDIS在不同维度之间旅行",
+ "upgrade.tardis_refined.explorer": "探索者 I",
+ "upgrade.tardis_refined.explorer.description": "解锁x1000坐标增量",
+ "upgrade.tardis_refined.explorer_ii": "探索者 II",
+ "upgrade.tardis_refined.explorer_ii.description": "解锁x2500坐标增量",
+ "upgrade.tardis_refined.explorer_iii": "探索者 III",
+ "upgrade.tardis_refined.explorer_iii.description": "解锁x5000坐标增量",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
+ "upgrade.tardis_refined.improved_generation_time_i": "改进生成 I",
+ "upgrade.tardis_refined.improved_generation_time_i.description": "将控制室的装修时间降低至120秒",
+ "upgrade.tardis_refined.improved_generation_time_ii": "改进生成 II",
+ "upgrade.tardis_refined.improved_generation_time_ii.description": "将控制室的装修时间降低至60秒",
+ "upgrade.tardis_refined.improved_generation_time_iii": "改进生成 III",
+ "upgrade.tardis_refined.improved_generation_time_iii.description": "将控制室的装修时间降低至10秒",
+ "upgrade.tardis_refined.inside_architecture": "控制室重新装修",
+ "upgrade.tardis_refined.inside_architecture.description": "允许驾驶员更改TARDIS控制室的样式",
+ "upgrade.tardis_refined.landing_pad": "着陆台",
+ "upgrade.tardis_refined.landing_pad.description": "允许TARDIS被召唤到着陆台",
+ "upgrade.tardis_refined.materialize_around": "物质化转换",
+ "upgrade.tardis_refined.materialize_around.description": "当TARDIS正在降落时,允许与其重叠的实体直接进入内部",
"upgrade.tardis_refined.navigation_system": "导航系统",
- "upgrade.tardis_refined.navigation_system.description": "解锁导航系统升级",
+ "upgrade.tardis_refined.navigation_system.description": "允许对TARDIS导航系统进行升级",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "系统升级",
- "upgrade.tardis_refined.tardis_xp.description": "解锁TARDIS的升级",
+ "upgrade.tardis_refined.tardis_xp.description": "允许对TARDIS进行升级",
"upgrade.tardis_refined.waypoints": "航点",
- "upgrade.tardis_refined.waypoints.description": "允许导航员将位置保存到电脑中"
+ "upgrade.tardis_refined.waypoints.description": "允许驾驶员将航点保存到计算机库中",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/zh_hk.json b/common/src/main/resources/assets/tardis_refined/lang/zh_hk.json
index 44d25f42..2a6d2e56 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/zh_hk.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/zh_hk.json
@@ -47,6 +47,8 @@
"command.tardis_refined.upgrade.lock": "Locked upgrade %s for %s",
"command.tardis_refined.upgrade.unlock": "Unlocked upgrade %s for %s",
"config.tardis_refined.banned_dimensions": "禁止嘅維度",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
"config.tardis_refined.console_idle_animations": "播放空閒嘅操作面板動畫",
"config.tardis_refined.control_names": "顯示控制按掣名稱?",
"config.tardis_refined.immersive_portals": "Immersive Portals 嘅兼容性?",
@@ -55,9 +57,10 @@
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "維度控制",
"control.tardis_refined.door_toggle": "門按掣",
+ "control.tardis_refined.exterior_display": "Exterior Display",
"control.tardis_refined.fast_return": "快速返按掣",
"control.tardis_refined.fuel": "燃料",
- "control.tardis_refined.generic_control": "掣",
+ "control.tardis_refined.generic_control": "Switch",
"control.tardis_refined.hand_brake": "手掣",
"control.tardis_refined.increment": "座標增量按掣",
"control.tardis_refined.monitor": "超級電腦",
@@ -65,6 +68,9 @@
"control.tardis_refined.read_out": "GPS",
"control.tardis_refined.rotate": "方向掣",
"control.tardis_refined.throttle": "油門",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
"death.attack.eye_of_harmony": "%s was fried by time winds.",
"death.attack.eye_of_harmony.player": "%s was fried by time winds.",
"entity.tardis_refined.console_control": "控制按掣",
@@ -72,40 +78,61 @@
"item.tardis_refined.drill": "生長石鑽",
"item.tardis_refined.glasses": "AR Glasses",
"item.tardis_refined.keychain": "鑰匙圈",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "設計更改器",
"item.tardis_refined.raw_zeiton": "粗時光水晶",
"item.tardis_refined.tardis_key": "TARDIS 鑰匙",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "Zeiton Ingot",
"item.tardis_refined.zeiton_nugget": "Zeiton Nugget",
"itemGroup.tardis_refined": "改良嘅 TARDIS",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
"message.tardis_refined.ascend_key": "上升:%s",
"message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
"message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
"message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
"message.tardis_refined.current": "CURRENT",
+ "message.tardis_refined.demands_payment": "Demands payment",
"message.tardis_refined.descend_key": "下降:%s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
"message.tardis_refined.destination": "DESTINATION",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "你必須等待 %s 秒",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
"message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
"message.tardis_refined.handbrake_engaged": "Handbrake engaged",
"message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
"message.tardis_refined.key_bound": "鑰匙綁定為 %s",
"message.tardis_refined.key_cycled": "主要:%s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
"message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
"message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
"message.tardis_refined.refuel_engaged": "Enabled refuelling",
"message.tardis_refined.refuel_stopped": "Stopped refuelling",
"message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
"message.tardis_refined.selected": "已選:%s",
+ "message.tardis_refined.submit": "Submit",
"message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "In flight",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
"message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
"monitor.waypoints.name.placeholder": "Waypoint name",
"monitor.waypoints.new_waypoint": "New Waypoint",
@@ -117,6 +144,7 @@
"shell.tardis_refined.factory": "預設外觀",
"shell.tardis_refined.groening": "格朗寧",
"shell.tardis_refined.growth": "珊瑚生長",
+ "shell.tardis_refined.half_baked": "Half Baked",
"shell.tardis_refined.hieroglyph": "Hieroglyph",
"shell.tardis_refined.lift": "Lift",
"shell.tardis_refined.mystic": "神秘的櫃子",
@@ -127,18 +155,30 @@
"shell.tardis_refined.police_box": "警察電話亭",
"shell.tardis_refined.portaloo": "流動廁所",
"shell.tardis_refined.present": "禮物",
+ "shell.tardis_refined.shulker": "Half Baked",
"shell.tardis_refined.vending": "汽水機",
+ "sound.alarm.subtitle": "Alarm",
"sound.ars_hum.subtitle": "ARS Tree Hum",
"sound.artron_pillar_active.subtitle": "Artron pillar activated",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
"sound.console_power_on.subtitle": "Console power on",
"sound.corridor_teleporter.subtitle": "Teleporter building up",
"sound.corridor_teleporter_success.subtitle": "Teleporter used",
"sound.destination_ding.subtitle": "TARDIS reaches destination",
"sound.flight_fail_start.subtitle": "Failing TARDIS groans",
"sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
"sound.interior_creaks.subtitle": "Creaks",
"sound.interior_voice.subtitle": "...?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
"sound.pattern_manipulator.subtitle": "設計更改器啟動",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
"sound.screwdriver_discard.subtitle": "Screwdriver discard data",
"sound.screwdriver_short.subtitle": "Screwdriver used",
"sound.static.subtitle": "螢幕雜訊",
@@ -148,21 +188,33 @@
"sound.tardis_single_fly.subtitle": "TARDIS 旅行",
"sound.tardis_takeoff.subtitle": "TARDIS 非物質化",
"sound.time_blast.subtitle": "時空漩渦爆炸",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "An amethyst frequency manipulator",
- "tooltip.tardis_refined.tardis_list": "鑰匙圈:",
- "ui.tardis_refined.desktop_selection": "控制室配置",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
"ui.tardis_refined.monitor.cancel_desktop": "你想取消預定的控制室重新裝修嗎?",
- "ui.tardis_refined.monitor.desktop": "控制室配置",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
"ui.tardis_refined.monitor.desktop_cancel": "取消控制室的重新裝修",
"ui.tardis_refined.monitor.desktop_cancel.title": "作業正在進行中!",
"ui.tardis_refined.monitor.desktop_cancel_description": "由於預定的控制室重新裝修,TARDIS系統已被禁用。",
- "ui.tardis_refined.monitor.external_shell": "外觀配置",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
"ui.tardis_refined.monitor.list.selection": "已選:&s",
"ui.tardis_refined.monitor.main.destination": "目的地",
"ui.tardis_refined.monitor.main.gps": "當前位置",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
"ui.tardis_refined.monitor.main_title": "超級電腦",
"ui.tardis_refined.monitor.no.waypoints": "未發現航點",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
"ui.tardis_refined.monitor.select.hum": "SOUNDSCAPE",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "座標導航",
"ui.tardis_refined.monitor.upload.waypoints": "航點導航",
"ui.tardis_refined.monitor.waypoint_name": "航點名稱:",
@@ -176,12 +228,11 @@
"ui.tardis_refined.monitor.waypoints.issues.y": "Invalid Y value",
"ui.tardis_refined.monitor.waypoints.issues.z": "Invalid Z value",
"ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "Submit",
"ui.tardis_refined.monitor.waypoints.upload": "Upload",
"ui.tardis_refined.no_installed_subsystems": "No available sub-systems",
- "ui.tardis_refined.shell_selection": "外觀配置",
"ui.tardis_refined.upgrades": "Tardis Upgrades",
"ui.tardis_refined.upgrades.buy_ability": "Purchase upgrade?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
"upgrade.tardis_refined.architecture_system": "Architecture",
"upgrade.tardis_refined.architecture_system.description": "Enables TARDIS Architecture Upgrades",
"upgrade.tardis_refined.chameleon_circuit_system": "Chameleon Circuit",
@@ -196,6 +247,8 @@
"upgrade.tardis_refined.explorer_ii.description": "x2500 Increment",
"upgrade.tardis_refined.explorer_iii": "Explorer III",
"upgrade.tardis_refined.explorer_iii.description": "x5000 Increment",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
"upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
"upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
"upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
@@ -210,8 +263,38 @@
"upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
"upgrade.tardis_refined.navigation_system": "Navigation System",
"upgrade.tardis_refined.navigation_system.description": "Allows upgrades to the TARDIS Navigation System",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "System Upgrades",
"upgrade.tardis_refined.tardis_xp.description": "Allows upgrades to the TARDIS",
"upgrade.tardis_refined.waypoints": "航點",
- "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations"
+ "upgrade.tardis_refined.waypoints.description": "Allows the Pilot to create saved locations",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/lang/zh_tw.json b/common/src/main/resources/assets/tardis_refined/lang/zh_tw.json
index 78946cd7..fe1eb726 100644
--- a/common/src/main/resources/assets/tardis_refined/lang/zh_tw.json
+++ b/common/src/main/resources/assets/tardis_refined/lang/zh_tw.json
@@ -1,217 +1,300 @@
{
- "argument.tardis_refined.desktop.invalid": "ID 為「%s」的控制室無效",
- "argument.tardis_refined.shell.invalid": "ID 為「%s」的外觀無效",
- "argument.tardis_refined.upgrade.invalid": "ID 為「%s」的升級無效",
+ "argument.tardis_refined.desktop.invalid": "ID為“%s”的控制室無效",
+ "argument.tardis_refined.shell.invalid": "ID為“%s”的外觀無效",
+ "argument.tardis_refined.upgrade.invalid": "ID為“%s”的升級無效",
"block.tardis_refined.air_lock_generator": "氣閘生成器",
- "block.tardis_refined.ars_egg": "ARS 蛋",
- "block.tardis_refined.ars_leaves": "ARS 葉",
- "block.tardis_refined.ars_leaves_fence": "ARS 柵欄",
- "block.tardis_refined.ars_leaves_slab": "ARS 半磚",
- "block.tardis_refined.artron_pillar": "亞創柱",
- "block.tardis_refined.artron_pillar_port": "接口的亞創柱",
+ "block.tardis_refined.ars_egg": "ARS蛋",
+ "block.tardis_refined.ars_leaves": "ARS樹葉",
+ "block.tardis_refined.ars_leaves_fence": "ARS柵欄",
+ "block.tardis_refined.ars_leaves_slab": "ARS半磚",
+ "block.tardis_refined.artron_pillar": "阿特隆之柱",
+ "block.tardis_refined.artron_pillar_port": "阿特隆之柱埠",
"block.tardis_refined.astral_manipulator": "星體操縱器",
"block.tardis_refined.bulk_head_door": "艙壁門",
- "block.tardis_refined.console_configuration": "操作面板設定器",
- "block.tardis_refined.corridor_teleporter": "Corridor Teleporter",
- "block.tardis_refined.deepslate_zeiton_ore": "深板岩澤頓礦",
- "block.tardis_refined.flight_detector": "飛行探測器",
- "block.tardis_refined.fools_stone": "愚人石頭",
+ "block.tardis_refined.console_configuration": "控制台配置器",
+ "block.tardis_refined.corridor_teleporter": "走廊傳送器",
+ "block.tardis_refined.deepslate_zeiton_ore": "深層澤頓礦石",
+ "block.tardis_refined.flight_detector": "旅行檢測器",
+ "block.tardis_refined.fools_stone": "愚人石",
"block.tardis_refined.gravity_well": "重力井",
- "block.tardis_refined.landing_pad": "著陸場",
+ "block.tardis_refined.landing_pad": "著陸台",
"block.tardis_refined.root_plant": "TARDIS 珊瑚",
"block.tardis_refined.root_shell": "珊瑚外殼",
"block.tardis_refined.root_shell_door": "珊瑚外殼門",
- "block.tardis_refined.tardis_console": "操作面板",
+ "block.tardis_refined.tardis_console": "控制台",
"block.tardis_refined.tardis_door": "TARDIS 的門",
"block.tardis_refined.tardis_shell": "TARDIS",
- "block.tardis_refined.terraformer": "地球化器",
+ "block.tardis_refined.terraformer": "地形改造器",
"block.tardis_refined.zeiton_block": "澤頓塊",
"block.tardis_refined.zeiton_fused_copper_block": "澤頓熔融銅塊",
"block.tardis_refined.zeiton_fused_iron_block": "澤頓熔融鐵塊",
"block.tardis_refined.zeiton_lantern": "澤頓燈籠",
- "block.tardis_refined.zeiton_ore": "澤頓礦",
- "command.tardis_refined.create.in_progress": "嘗試生成 TARDIS 「%s」,請您稍候",
- "command.tardis_refined.create.success": "成功生成 ID 為「%s」的 TARDIS",
+ "block.tardis_refined.zeiton_ore": "澤頓礦石",
+ "command.tardis_refined.create.in_progress": "正在創建 Tardis %s,請稍等",
+ "command.tardis_refined.create.success": "成功創建 Tardis,ID為 %s",
"command.tardis_refined.dim_not_a_tardis": "§c%s不是 TARDIS 維度!",
"command.tardis_refined.export_desktop.fail": "§c匯出控制室 %s 失敗!",
- "command.tardis_refined.export_desktop.in_progress": "為控制室 %s 創建一個數據包。這可能需要一些時間,取決於該結構的大小…",
- "command.tardis_refined.export_desktop.resource_pack": "§9要選擇控制室的預覽圖像,請創建一個資源包。請看 %s 的一些資源包的例子。",
- "command.tardis_refined.export_desktop.success": "§a成功地將控制室 %s 匯出到數據包%s!使用%s命令來查看變化。",
- "command.tardis_refined.level.point.add": "已給予 %2$s %1$s 點值,總共 %3$s 點值",
- "command.tardis_refined.level.point.get": "%s 擁有 %s 點值",
- "command.tardis_refined.level.point.set": "已將 %1$s 的升級值設定為 %2$s",
- "command.tardis_refined.level.xp.add": "已給予 %2$s %1$s 點經驗值,總共 %3$s 點經驗值",
- "command.tardis_refined.level.xp.get": "%s 擁有 %s 點經驗值",
- "command.tardis_refined.level.xp.set": "Set XP for %s to %s",
- "command.tardis_refined.no_internal_door": "§c在維度 %s 中沒有發現內門!使用 %s 命令進入內部。",
- "command.tardis_refined.upgrade.lock": "已為 %2$s 上鎖了升級 %1$s",
- "command.tardis_refined.upgrade.unlock": "已為 %2$s 解鎖了升級 %1$s",
+ "command.tardis_refined.export_desktop.in_progress": "正在為控制室 %s 生成資料包,根據結構大小可能需要一些時間…",
+ "command.tardis_refined.export_desktop.resource_pack": "§9要定義控制室的預覽圖像,請創建一個資源包。這裡有一些作為示例的資源包:%s",
+ "command.tardis_refined.export_desktop.success": "§a成功地將控制室%s匯出到資料包%s!使用%s命令來查看變化。",
+ "command.tardis_refined.level.point.add": "為 %s 增加了 %s 的升級點數,現在總點數為 %s",
+ "command.tardis_refined.level.point.get": "%s 擁有 %s 的升級點數",
+ "command.tardis_refined.level.point.set": "已將 %s 的升級點數設置為 %s",
+ "command.tardis_refined.level.xp.add": "為 %s 增加了 %s 的經驗值,現在總經驗值為 %s",
+ "command.tardis_refined.level.xp.get": "%s擁有%s點經驗值",
+ "command.tardis_refined.level.xp.set": "已將 %s 的經驗值設置為 %s",
+ "command.tardis_refined.no_internal_door": "§c在維度 %s 中未找到內門!請考慮使用默認傳送命令 %s",
+ "command.tardis_refined.upgrade.lock": "已為 %s 鎖定了升級 %s",
+ "command.tardis_refined.upgrade.unlock": "已為 %s 解鎖了升級 %s",
"config.tardis_refined.banned_dimensions": "禁止的維度",
- "config.tardis_refined.console_idle_animations": "播放空閒的操作面板動畫",
- "config.tardis_refined.control_names": "顯示控制名稱?",
- "config.tardis_refined.immersive_portals": "Immersive Portals 的兼容性?",
+ "config.tardis_refined.config_custom_shaders": "Use Custom Shaders",
+ "config.tardis_refined.config_render_vortex_in_door": "Render Vortex within interior door",
+ "config.tardis_refined.console_idle_animations": "播放控制台待機動畫",
+ "config.tardis_refined.control_names": "顯示控制項名稱?",
+ "config.tardis_refined.immersive_portals": "沉浸式傳送門(Immersive Portals)的相容性?",
"control.tardis_refined.cord_x": "X",
"control.tardis_refined.cord_y": "Y",
"control.tardis_refined.cord_z": "Z",
"control.tardis_refined.dimension": "維度",
- "control.tardis_refined.door_toggle": "門按鈕",
- "control.tardis_refined.fast_return": "快速返回按鈕",
+ "control.tardis_refined.door_toggle": "門開關",
+ "control.tardis_refined.exterior_display": "Exterior Display",
+ "control.tardis_refined.fast_return": "快速返回",
"control.tardis_refined.fuel": "燃料",
- "control.tardis_refined.generic_control": "開關",
- "control.tardis_refined.hand_brake": "手煞車",
- "control.tardis_refined.increment": "座標增量按鈕",
- "control.tardis_refined.monitor": "電腦",
+ "control.tardis_refined.generic_control": "Switch",
+ "control.tardis_refined.hand_brake": "手刹",
+ "control.tardis_refined.increment": "座標增量器",
+ "control.tardis_refined.monitor": "電腦庫",
"control.tardis_refined.random": "座標隨機按鈕",
- "control.tardis_refined.read_out": "當前位置",
- "control.tardis_refined.rotate": "方向控制",
+ "control.tardis_refined.read_out": "導航儀",
+ "control.tardis_refined.rotate": "方向",
"control.tardis_refined.throttle": "油門",
- "death.attack.eye_of_harmony": "%s 被時間的風燒死了",
- "death.attack.eye_of_harmony.player": "%s 被時間的風燒死了",
+ "curios.identifier.timelord_sight": "AR Glasses",
+ "death.attack.choke": "%s was overwhelmed by toxic fumes",
+ "death.attack.choke.player": "%s was overwhelmed by toxic fumes",
+ "death.attack.eye_of_harmony": "%s 被時間風暴燒焦。",
+ "death.attack.eye_of_harmony.player": "%s 被時間風暴燒焦。",
"entity.tardis_refined.console_control": "控制按鈕",
- "item.tardis_refined.amethyst_screwdriver": "紫水晶螺絲起子",
+ "item.tardis_refined.amethyst_screwdriver": "紫水晶螺絲刀",
"item.tardis_refined.drill": "生長石鑽",
- "item.tardis_refined.glasses": "擴張實境眼鏡",
- "item.tardis_refined.keychain": "鑰匙圈",
+ "item.tardis_refined.glasses": "AR 眼鏡",
+ "item.tardis_refined.keychain": "Tardis 金鑰集",
+ "item.tardis_refined.mallet": "Mallet",
"item.tardis_refined.pattern_manipulator": "設計更改器",
- "item.tardis_refined.raw_zeiton": "澤頓原礦",
+ "item.tardis_refined.raw_zeiton": "粗澤頓",
"item.tardis_refined.tardis_key": "TARDIS 鑰匙",
+ "item.tardis_refined.test_tube": "Test Tube",
"item.tardis_refined.zeiton_ingot": "澤頓錠",
"item.tardis_refined.zeiton_nugget": "澤頓粒",
- "itemGroup.tardis_refined": "改良的 TARDIS",
- "message.tardis_refined.ascend_key": "上升: %s",
- "message.tardis_refined.astral_manipulator_engaged": "Please make your selection. Right click again to confirm",
- "message.tardis_refined.cannot_start_no_fuel": "Not enough fuel to start",
- "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "Cannot change consoles whilst in flight",
- "message.tardis_refined.console_config_not_in_flight": "Cannot update console block whilst in flight",
- "message.tardis_refined.current": "CURRENT",
- "message.tardis_refined.descend_key": "下降: %s",
- "message.tardis_refined.desktop_cancel_not_enough_fuel": "Not enough fuel to start the reconfiguration process",
- "message.tardis_refined.destination": "DESTINATION",
+ "itemGroup.tardis_refined": "TARDIS 精煉版",
+ "keybind.tardis_refined.exit_exterior_view": "Exit Shell View",
+ "keybind.tardis_refined.toggle_info_exterior_view": "(Shell View) Toggle Info",
+ "message.tardis_refined.ascend_key": "上升:%s",
+ "message.tardis_refined.astral_manipulator_engaged": "請進行區域選擇,再次右鍵以確認",
+ "message.tardis_refined.cannot_start_no_fuel": "沒有足夠的燃料啟動",
+ "message.tardis_refined.cannot_switch_console_units_whilst_in_flight": "旅行時無法更改控制台",
+ "message.tardis_refined.console_config_not_in_flight": "§l§c[ERROR] §rCannot update console block whilst in flight",
+ "message.tardis_refined.current": "當前位置",
+ "message.tardis_refined.demands_payment": "Demands payment",
+ "message.tardis_refined.descend_key": "下降:%s",
+ "message.tardis_refined.desktop_cancel_not_enough_fuel": "§l§c[ERROR] §rNot enough fuel to start the reconfiguration process",
+ "message.tardis_refined.destination": "目標位置",
+ "message.tardis_refined.dim_added_to_tardis": "Added %s to Data Banks",
+ "message.tardis_refined.dim_already_saved": "Already contains a sample",
+ "message.tardis_refined.dim_not_allowed": "This dimension cannot be sampled",
+ "message.tardis_refined.dim_potential": "Sampled %s",
+ "message.tardis_refined.dimension": "Dimension: %s",
+ "message.tardis_refined.direction": "Direction: %s",
+ "message.tardis_refined.door_locked": "Door locked",
+ "message.tardis_refined.door_status": "Door: %s",
+ "message.tardis_refined.door_unlocked": "Door unlocked",
+ "message.tardis_refined.exit_external_view": "Exit Shell View: ",
"message.tardis_refined.exterior_cooldown": "你必須等待 %s 秒",
- "message.tardis_refined.fuel": "Fuel: ",
- "message.tardis_refined.fuel_offline": "Fuel offline",
- "message.tardis_refined.handbrake_disengaged": "Handbrake disengaged",
- "message.tardis_refined.handbrake_engaged": "Handbrake engaged",
- "message.tardis_refined.handbrake_warning": "Ship is in flight. Left click the handbrake to engage",
- "message.tardis_refined.hardware_offline": "Hardware offline",
- "message.tardis_refined.key_bound": "鑰匙綁定為「%s」",
- "message.tardis_refined.key_cycled": "主要: %s",
- "message.tardis_refined.landing_pad_transient": "Cannot summon TARDIS at this time",
- "message.tardis_refined.landing_pad_unlocked": "Specified TARDIS rejected landing pad signal",
- "message.tardis_refined.no_end_dragon_prevents": "A dragon prevents you from progressing to The End",
- "message.tardis_refined.no_flight_transitive": "Cannot change handbrake state whilst in transitive flight",
- "message.tardis_refined.refuel_engaged": "Enabled refuelling",
- "message.tardis_refined.refuel_stopped": "Stopped refuelling",
- "message.tardis_refined.root_plant_cut_open": "Roots cover the entrance",
+ "message.tardis_refined.fuel": "Fuel: %s",
+ "message.tardis_refined.fuel_offline": "§l§c[ERROR] §rFuel offline",
+ "message.tardis_refined.handbrake_disengaged": "關閉手刹",
+ "message.tardis_refined.handbrake_engaged": "啟用手刹",
+ "message.tardis_refined.handbrake_warning": "TARDIS正在旅行,左鍵點擊以緊急刹車",
+ "message.tardis_refined.hardware_offline": "§l§c[ERROR] §rInsufficient Power!",
+ "message.tardis_refined.key_bound": "鑰匙綁定至%s",
+ "message.tardis_refined.key_cycled": "當前ID:%s",
+ "message.tardis_refined.landing_pad_banned_dim": "§l§c[ERROR] §rYou cannot summon the TARDIS to this Dimension!",
+ "message.tardis_refined.landing_pad_transient": "§l§c[ERROR] §rCannot summon TARDIS at this time!",
+ "message.tardis_refined.landing_pad_unlocked": "§l§c[ERROR] §rSpecified TARDIS rejected landing pad signal",
+ "message.tardis_refined.lock_status": "Locked: %s",
+ "message.tardis_refined.no_end_dragon_prevents": "一條龍阻止你前往末地",
+ "message.tardis_refined.no_flight_transitive": "起飛或降落時無法使用手刹",
+ "message.tardis_refined.pilot_time": "You've still got %s with your pilot. Make the most of it!",
+ "message.tardis_refined.position": "Position: %s",
+ "message.tardis_refined.recovery_progress": "Recovery Progress: %s",
+ "message.tardis_refined.refuel_engaged": "已開始加油",
+ "message.tardis_refined.refuel_stopped": "已停止加油",
+ "message.tardis_refined.root_plant_cut_open": "珊瑚覆蓋了入口",
"message.tardis_refined.selected": "已選擇:%s",
- "message.tardis_refined.tardis_on_the_way": "TARDIS has been summoned and is on the way",
- "message.tardis_refined.tooltip_in_flight": "旅行中",
- "message.tardis_refined.waypoint_loaded": "Preloaded waypoint: %s",
- "monitor.waypoints.name.placeholder": "Waypoint name",
- "monitor.waypoints.new_waypoint": "New Waypoint",
- "monitor.waypoints.taken": "Data retrieved from destination values",
- "shell.tardis_refined.big_ben": "大笨鐘",
- "shell.tardis_refined.briefcase": "皮包",
- "shell.tardis_refined.castle": "蘑菇城堡",
- "shell.tardis_refined.drifter": "浪人的外觀",
- "shell.tardis_refined.factory": "默認的外觀",
- "shell.tardis_refined.groening": "格朗寧",
- "shell.tardis_refined.growth": "珊瑚生長",
- "shell.tardis_refined.hieroglyph": "聖書體",
+ "message.tardis_refined.submit": "Submit",
+ "message.tardis_refined.tardis_on_the_way": "TARDIS已被召喚,正在趕來的路上",
+ "message.tardis_refined.tardis_sleep_end": "The hums of the ship make you toss and turn. Your spawnpoint was not set here.",
+ "message.tardis_refined.waypoint_loaded": "預載入的航點:%s",
+ "monitor.waypoints.name.placeholder": "航點名稱",
+ "monitor.waypoints.new_waypoint": "新航點",
+ "monitor.waypoints.taken": "目的地座標將被保存",
+ "shell.tardis_refined.big_ben": "大本鐘",
+ "shell.tardis_refined.briefcase": "手提箱",
+ "shell.tardis_refined.castle": "城堡",
+ "shell.tardis_refined.drifter": "流浪者",
+ "shell.tardis_refined.factory": "默認外觀",
+ "shell.tardis_refined.groening": "格羅寧",
+ "shell.tardis_refined.growth": "珊瑚",
+ "shell.tardis_refined.half_baked": "Half Baked",
+ "shell.tardis_refined.hieroglyph": "象形字",
"shell.tardis_refined.lift": "電梯",
- "shell.tardis_refined.mystic": "神秘的櫃子",
- "shell.tardis_refined.nuka": "核子可樂自動販賣機",
+ "shell.tardis_refined.mystic": "神秘",
+ "shell.tardis_refined.nuka": "核子",
"shell.tardis_refined.pagoda": "寶塔",
"shell.tardis_refined.pathfinder": "開拓者",
- "shell.tardis_refined.phone_booth": "紅色電話亭",
- "shell.tardis_refined.police_box": "警察電話亭",
- "shell.tardis_refined.portaloo": "流動廁所",
+ "shell.tardis_refined.phone_booth": "電話亭",
+ "shell.tardis_refined.police_box": "員警電話亭",
+ "shell.tardis_refined.portaloo": "移動廁所",
"shell.tardis_refined.present": "禮物",
- "shell.tardis_refined.vending": "自動販賣機",
- "sound.ars_hum.subtitle": "ARS 樹嗡嗡作響",
- "sound.artron_pillar_active.subtitle": "亞創柱啟動",
- "sound.console_power_on.subtitle": "操作面板啟動",
- "sound.corridor_teleporter.subtitle": "Teleporter building up",
- "sound.corridor_teleporter_success.subtitle": "Teleporter used",
- "sound.destination_ding.subtitle": "TARDIS 到達目的地",
- "sound.flight_fail_start.subtitle": "垂死的 TARDIS 呻吟",
- "sound.gravity_tunnel.subtitle": "Gravity tunnel winds",
- "sound.interior_creaks.subtitle": "Creaks",
- "sound.interior_voice.subtitle": "...?",
- "sound.pattern_manipulator.subtitle": "設計更改器啟動",
- "sound.screwdriver_discard.subtitle": "Screwdriver discard data",
- "sound.screwdriver_short.subtitle": "Screwdriver used",
- "sound.static.subtitle": "顯示屏雜訊",
- "sound.tardis_crash_land.subtitle": "TARDIS 迫降",
- "sound.tardis_land.subtitle": "TARDIS 重新物質化",
- "sound.tardis_misc_sparkle.subtitle": "TARDIS 到達",
- "sound.tardis_single_fly.subtitle": "TARDIS 旅行",
- "sound.tardis_takeoff.subtitle": "TARDIS 非物質化",
- "sound.time_blast.subtitle": "時空漩渦爆炸",
+ "shell.tardis_refined.shulker": "Half Baked",
+ "shell.tardis_refined.vending": "售貨機",
+ "sound.alarm.subtitle": "Alarm",
+ "sound.ars_hum.subtitle": "ARS樹:嗡嗡作響",
+ "sound.artron_pillar_active.subtitle": "阿特隆之柱:啟動",
+ "sound.cloister_bell.subtitle": "Cloister Bell",
+ "sound.console_power_on.subtitle": "控制台:開機",
+ "sound.corridor_teleporter.subtitle": "走廊傳送器:啟動中",
+ "sound.corridor_teleporter_success.subtitle": "傳送已完成",
+ "sound.destination_ding.subtitle": "TARDIS:到達目的地",
+ "sound.flight_fail_start.subtitle": "TARDIS:呻吟",
+ "sound.gravity_tunnel.subtitle": "重力隧道風",
+ "sound.hum_aviatrax.subtitle": "TARDIS hums",
+ "sound.hum_cave.subtitle": "TARDIS hums",
+ "sound.hum_classic.subtitle": "TARDIS hums",
+ "sound.hum_coral.subtitle": "TARDIS hums",
+ "sound.hum_toyota.subtitle": "TARDIS hums",
+ "sound.hum_victorian.subtitle": "TARDIS hums",
+ "sound.interior_creaks.subtitle": "嘎吱聲",
+ "sound.interior_voice.subtitle": "…?",
+ "sound.low_fuel.subtitle": "Low fuel warning",
+ "sound.mallet.subtitle": "Mallet Hit",
+ "sound.pattern_manipulator.subtitle": "設計更改器:啟動",
+ "sound.screwdriver_connect.subtitle": "Screwdriver connected position",
+ "sound.screwdriver_discard.subtitle": "螺絲刀:刪除資料",
+ "sound.screwdriver_short.subtitle": "使用螺絲刀",
+ "sound.static.subtitle": "顯示幕:雜訊",
+ "sound.tardis_crash_land.subtitle": "TARDIS:迫降",
+ "sound.tardis_land.subtitle": "TARDIS:著陸",
+ "sound.tardis_misc_sparkle.subtitle": "TARDIS:到達",
+ "sound.tardis_single_fly.subtitle": "TARDIS:旅行",
+ "sound.tardis_takeoff.subtitle": "TARDIS:起飛",
+ "sound.time_blast.subtitle": "時空渦旋:爆炸",
+ "tardis_refined.display_source.destination": "GPS Destination",
+ "tardis_refined.display_source.door": "Door Status",
+ "tardis_refined.display_source.fuel": "Fuel",
+ "tardis_refined.display_source.gps": "GPS",
+ "tardis_refined.display_source.locked": "Lock Status",
+ "tardis_refined.display_source.tardis_bigdata": "Tardis Summary",
"tooltip.tardis_refined.screwdriver_description": "紫水晶頻率操縱器",
- "tooltip.tardis_refined.tardis_list": "鑰匙圈:",
- "ui.tardis_refined.desktop_selection": "控制室設定",
- "ui.tardis_refined.monitor.cancel_desktop": "你想取消預定的控制室重新裝修嗎?",
- "ui.tardis_refined.monitor.desktop": "控制室設定",
- "ui.tardis_refined.monitor.desktop_cancel": "取消控制室的重新裝修",
- "ui.tardis_refined.monitor.desktop_cancel.title": "作業正在進行中!",
- "ui.tardis_refined.monitor.desktop_cancel_description": "由於預定的控制室重新裝修,TARDIS 系統已被禁用。",
- "ui.tardis_refined.monitor.external_shell": "外觀設定",
- "ui.tardis_refined.monitor.list.selection": "已選擇:&s",
- "ui.tardis_refined.monitor.main.destination": "目的地",
- "ui.tardis_refined.monitor.main.gps": "當前位置",
- "ui.tardis_refined.monitor.main_title": "電腦",
- "ui.tardis_refined.monitor.no.waypoints": "沒有儲存的航點",
- "ui.tardis_refined.monitor.select.hum": "聲景",
+ "tooltip.tardis_refined.tardis_list": "§e< §6Key Set:§e >",
+ "tooltip.tardis_refined.tooltip_dim_progress": "§aDecoding Sample: %s",
+ "tooltip.tardis_refined.tooltip_dim_saved": "§6Saved Sample: %s",
+ "tooltip.tardis_refined.tooltip_no_dim_saved": "§7No Dimension Sample",
+ "ui.tardis_refined.monitor.cancel_desktop": "你要取消預定的裝修嗎?",
+ "ui.tardis_refined.monitor.desktop": "DESKTOP",
+ "ui.tardis_refined.monitor.desktop_cancel": "取消控制室裝修",
+ "ui.tardis_refined.monitor.desktop_cancel.title": "裝修正在進行中!",
+ "ui.tardis_refined.monitor.desktop_cancel_description": "系統已禁用,因為已計畫進行控制室裝修。",
+ "ui.tardis_refined.monitor.external_shell": "SHELL CONFIGURATION",
+ "ui.tardis_refined.monitor.list.selection": "當前選擇:&s",
+ "ui.tardis_refined.monitor.main.destination": "目標位置",
+ "ui.tardis_refined.monitor.main.gps": "導航儀",
+ "ui.tardis_refined.monitor.main.vortex": "VORTEX",
+ "ui.tardis_refined.monitor.main_title": "電腦庫",
+ "ui.tardis_refined.monitor.no.waypoints": "沒有保存的航點!",
+ "ui.tardis_refined.monitor.select.eject": "EMERGENCY EJECT",
+ "ui.tardis_refined.monitor.select.eject_fail": "Cannot eject whilst in flight",
+ "ui.tardis_refined.monitor.select.hum": "控制室聲景",
+ "ui.tardis_refined.monitor.shell_view": "SHELL VIEW",
"ui.tardis_refined.monitor.upload.coords": "座標導航",
"ui.tardis_refined.monitor.upload.waypoints": "航點導航",
"ui.tardis_refined.monitor.waypoint_name": "航點名稱:",
"ui.tardis_refined.monitor.waypoints": "航點",
- "ui.tardis_refined.monitor.waypoints.create": "New waypoint",
- "ui.tardis_refined.monitor.waypoints.delete": "Delete waypoint",
- "ui.tardis_refined.monitor.waypoints.edit": "Edit waypoint",
+ "ui.tardis_refined.monitor.waypoints.create": "新建航點",
+ "ui.tardis_refined.monitor.waypoints.delete": "刪除航點",
+ "ui.tardis_refined.monitor.waypoints.edit": "編輯航點",
"ui.tardis_refined.monitor.waypoints.issues": "問題:",
"ui.tardis_refined.monitor.waypoints.issues.name": "無效的航點名稱",
- "ui.tardis_refined.monitor.waypoints.issues.x": "無效的 X 數值",
- "ui.tardis_refined.monitor.waypoints.issues.y": "無效的 Y 數值",
- "ui.tardis_refined.monitor.waypoints.issues.z": "無效的 Z 數值",
- "ui.tardis_refined.monitor.waypoints.load": "Send to console",
- "ui.tardis_refined.monitor.waypoints.submit": "提交",
+ "ui.tardis_refined.monitor.waypoints.issues.x": "無效的X值",
+ "ui.tardis_refined.monitor.waypoints.issues.y": "無效的Y值",
+ "ui.tardis_refined.monitor.waypoints.issues.z": "無效的Z值",
+ "ui.tardis_refined.monitor.waypoints.load": "發送到控制台",
"ui.tardis_refined.monitor.waypoints.upload": "上傳",
"ui.tardis_refined.no_installed_subsystems": "沒有可用的子系統",
- "ui.tardis_refined.shell_selection": "外觀設定",
- "ui.tardis_refined.upgrades": "TARDIS 的升級",
- "ui.tardis_refined.upgrades.buy_ability": "購買升級?",
- "upgrade.tardis_refined.architecture_system": "建築",
+ "ui.tardis_refined.upgrades": "TARDIS升級",
+ "ui.tardis_refined.upgrades.buy_ability": "確定升級?",
+ "ui.tardis_refined.villager_can_pilot": "Pilot?",
+ "upgrade.tardis_refined.architecture_system": "建築系統",
"upgrade.tardis_refined.architecture_system.description": "解鎖建築升級",
"upgrade.tardis_refined.chameleon_circuit_system": "變色龍電路",
- "upgrade.tardis_refined.chameleon_circuit_system.description": "允許 TARDIS 轉變外觀",
+ "upgrade.tardis_refined.chameleon_circuit_system.description": "允許TARDIS改變外觀",
"upgrade.tardis_refined.defense_system": "防禦系統",
- "upgrade.tardis_refined.defense_system.description": "解鎖防禦協定",
+ "upgrade.tardis_refined.defense_system.description": "解鎖防禦協議",
"upgrade.tardis_refined.dimension_travel": "跨維度旅行",
- "upgrade.tardis_refined.dimension_travel.description": "允許 TARDIS 在不同維度之間旅行",
- "upgrade.tardis_refined.explorer": "探險家一級",
- "upgrade.tardis_refined.explorer.description": "解鎖 x1000 增量",
- "upgrade.tardis_refined.explorer_ii": "探險家二級",
- "upgrade.tardis_refined.explorer_ii.description": "解鎖 x2500 增量",
- "upgrade.tardis_refined.explorer_iii": "探險家三級",
- "upgrade.tardis_refined.explorer_iii.description": "解鎖 x5000 增量",
- "upgrade.tardis_refined.improved_generation_time_i": "Improved Generation I",
- "upgrade.tardis_refined.improved_generation_time_i.description": "Lowers desktop wait times to 120 seconds",
- "upgrade.tardis_refined.improved_generation_time_ii": "Improved Generation II",
- "upgrade.tardis_refined.improved_generation_time_ii.description": "Lowers desktop wait times to 60 seconds",
- "upgrade.tardis_refined.improved_generation_time_iii": "Improved Generation III",
- "upgrade.tardis_refined.improved_generation_time_iii.description": "Lowers desktop wait times to 10 seconds",
- "upgrade.tardis_refined.inside_architecture": "控制室的重新裝修",
- "upgrade.tardis_refined.inside_architecture.description": "解鎖控制室重新裝修系統",
- "upgrade.tardis_refined.landing_pad": "著陸場",
- "upgrade.tardis_refined.landing_pad.description": "允許將 TARDIS 召喚到著陸場",
- "upgrade.tardis_refined.materialize_around": "Materialize Around",
- "upgrade.tardis_refined.materialize_around.description": "Allows the TARDIS to have entities enter while materalizing",
+ "upgrade.tardis_refined.dimension_travel.description": "允許TARDIS在不同維度之間旅行",
+ "upgrade.tardis_refined.explorer": "探索者 I",
+ "upgrade.tardis_refined.explorer.description": "解鎖x1000座標增量",
+ "upgrade.tardis_refined.explorer_ii": "探索者 II",
+ "upgrade.tardis_refined.explorer_ii.description": "解鎖x2500座標增量",
+ "upgrade.tardis_refined.explorer_iii": "探索者 III",
+ "upgrade.tardis_refined.explorer_iii.description": "解鎖x5000座標增量",
+ "upgrade.tardis_refined.flight_system": "Flight System",
+ "upgrade.tardis_refined.flight_system.description": "Allows upgrades to the TARDIS Flight System",
+ "upgrade.tardis_refined.improved_generation_time_i": "改進生成 I",
+ "upgrade.tardis_refined.improved_generation_time_i.description": "將控制室的裝修時間降低至120秒",
+ "upgrade.tardis_refined.improved_generation_time_ii": "改進生成 II",
+ "upgrade.tardis_refined.improved_generation_time_ii.description": "將控制室的裝修時間降低至60秒",
+ "upgrade.tardis_refined.improved_generation_time_iii": "改進生成 III",
+ "upgrade.tardis_refined.improved_generation_time_iii.description": "將控制室的裝修時間降低至10秒",
+ "upgrade.tardis_refined.inside_architecture": "控制室重新裝修",
+ "upgrade.tardis_refined.inside_architecture.description": "允許駕駛員更改TARDIS控制室的樣式",
+ "upgrade.tardis_refined.landing_pad": "著陸台",
+ "upgrade.tardis_refined.landing_pad.description": "允許TARDIS被召喚到著陸台",
+ "upgrade.tardis_refined.materialize_around": "物質化轉換",
+ "upgrade.tardis_refined.materialize_around.description": "當TARDIS正在降落時,允許與其重疊的實體直接進入內部",
"upgrade.tardis_refined.navigation_system": "導航系統",
- "upgrade.tardis_refined.navigation_system.description": "解鎖導航系統升級",
+ "upgrade.tardis_refined.navigation_system.description": "解鎖導航升級",
+ "upgrade.tardis_refined.speed_i": "Speed I",
+ "upgrade.tardis_refined.speed_i.description": "Flight speed is 5x faster",
+ "upgrade.tardis_refined.speed_ii": "Speed II",
+ "upgrade.tardis_refined.speed_ii.description": "Flight speed is 10x faster",
+ "upgrade.tardis_refined.speed_iii": "Speed III",
+ "upgrade.tardis_refined.speed_iii.description": "Flight speed is 25x faster",
+ "upgrade.tardis_refined.speed_iv": "Speed IV",
+ "upgrade.tardis_refined.speed_iv.description": "Flight speed is 50x faster",
"upgrade.tardis_refined.tardis_xp": "系統升級",
- "upgrade.tardis_refined.tardis_xp.description": "解鎖 TARDIS 的升級",
+ "upgrade.tardis_refined.tardis_xp.description": "允許對TARDIS進行升級",
"upgrade.tardis_refined.waypoints": "航點",
- "upgrade.tardis_refined.waypoints.description": "允許導航員將位置儲存到電腦中"
+ "upgrade.tardis_refined.waypoints.description": "允許駕駛員將航點保存到電腦庫中",
+ "vortex.tardis_refined.agender_flag": "Agender Flag",
+ "vortex.tardis_refined.aurora_dreams": "Aurora Dreams",
+ "vortex.tardis_refined.bisexual_flag": "Bisexual Flag",
+ "vortex.tardis_refined.candy_pop": "Candy Pop",
+ "vortex.tardis_refined.clouds": "Clouds",
+ "vortex.tardis_refined.crystal_lagoon": "Crystal Lagoon",
+ "vortex.tardis_refined.desert_mirage": "Desert Mirage",
+ "vortex.tardis_refined.emerald_forest": "Emerald Forest",
+ "vortex.tardis_refined.flow": "Flow",
+ "vortex.tardis_refined.gay_flag": "Gay Flag",
+ "vortex.tardis_refined.lesbian_flag": "Lesbian Flag",
+ "vortex.tardis_refined.lgbt_rainbow": "LGBT Rainbow",
+ "vortex.tardis_refined.neon_pulse": "Neon Pulse",
+ "vortex.tardis_refined.non_binary_flag": "Non-Binary Flag",
+ "vortex.tardis_refined.ocean_breeze": "Ocean Breeze",
+ "vortex.tardis_refined.solar_flare": "Solar Flare",
+ "vortex.tardis_refined.space": "Space",
+ "vortex.tardis_refined.stars": "Stars",
+ "vortex.tardis_refined.transgender_flag": "Transgender Flag",
+ "vortex.tardis_refined.twilight_glow": "Twilight Glow",
+ "vortex.tardis_refined.velvet_night": "Velvet Night",
+ "vortex.tardis_refined.waves": "Waves"
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.png b/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.png
deleted file mode 100644
index ce6ee22a..00000000
Binary files a/common/src/main/resources/assets/tardis_refined/models/block/corridor_teleporter.png and /dev/null differ
diff --git a/common/src/main/resources/assets/tardis_refined/models/item/amethyst_screwdriver.json b/common/src/main/resources/assets/tardis_refined/models/item/amethyst_screwdriver.json
index 4237a8d9..af2e96af 100644
--- a/common/src/main/resources/assets/tardis_refined/models/item/amethyst_screwdriver.json
+++ b/common/src/main/resources/assets/tardis_refined/models/item/amethyst_screwdriver.json
@@ -1,917 +1,173 @@
{
- "credit": "Made with Blockbench",
- "texture_size": [
- 64,
- 64
- ],
- "textures": {
- "layer0": "tardis_refined:item/amethyst_screwdriver",
- "layer1": "tardis_refined:item/amethyst_screwdriver_glow"
- },
- "elements": [
- {
- "from": [
- 6.8,
- 6.8,
- 6.8
- ],
- "to": [
- 9.2,
- 9.2,
- 9.2
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 1.5,
- 3.25,
- 2,
- 3.75
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 3.5,
- 3,
- 4,
- 3.5
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 3.5,
- 3.5,
- 4,
- 4
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 1.5,
- 3.75,
- 2,
- 4.25
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 4.5,
- 0.5,
- 4,
- 0
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 4.5,
- 0.5,
- 4,
- 1
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "from": [
- 6.7,
- 9.1,
- 6.7
- ],
- "to": [
- 9.3,
- 10.7,
- 9.3
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 4,
- 3.5,
- 4.5,
- 3.75
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 4,
- 3.75,
- 4.5,
- 4
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 4,
- 4,
- 4.5,
- 4.25
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 1.5,
- 4.25,
- 2,
- 4.5
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 4.5,
- 1.5,
- 4,
- 1
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 4.5,
- 1.5,
- 4,
- 2
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "from": [
- 7.2,
- 14,
- 7.2
- ],
- "to": [
- 8.8,
- 20.6,
- 8.8
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 3,
- 3,
- 3.5,
- 4.75
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "east": {
- "uv": [
- 0,
- 3.25,
- 0.5,
- 5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "south": {
- "uv": [
- 0.5,
- 3.25,
- 1,
- 5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "west": {
- "uv": [
- 1,
- 3.25,
- 1.5,
- 5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "up": {
- "uv": [
- 4.5,
- 2.5,
- 4,
- 2
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "down": {
- "uv": [
- 4.5,
- 2.5,
- 4,
- 3
- ],
- "texture": "#layer1",
- "tintindex": 0
- }
- }
- },
- {
- "from": [
- 7,
- 1,
- 7
- ],
- "to": [
- 9,
- 14,
- 9
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 0,
- 0,
- 0.5,
- 3.25
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 0.5,
- 0,
- 1,
- 3.25
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 1,
- 0,
- 1.5,
- 3.25
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 1.5,
- 0,
- 2,
- 3.25
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 4.5,
- 3.5,
- 4,
- 3
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 4,
- 4,
- 3.5,
- 4.5
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "name": "tint",
- "from": [
- 7.2,
- 14,
- 7.2
- ],
- "to": [
- 8.8,
- 20.6,
- 8.8
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 3,
- 3,
- 3.5,
- 4.75
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 0,
- 3.25,
- 0.5,
- 5
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 0.5,
- 3.25,
- 1,
- 5
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 1,
- 3.25,
- 1.5,
- 5
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 4.5,
- 2.5,
- 4,
- 2
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 4.5,
- 2.5,
- 4,
- 3
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "from": [
- 7.5,
- 0,
- 7.5
- ],
- "to": [
- 8.5,
- 21.6,
- 8.5
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 2,
- 3,
- 2.25,
- 8.5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "east": {
- "uv": [
- 2.25,
- 3,
- 2.5,
- 8.5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "south": {
- "uv": [
- 2.5,
- 3,
- 2.75,
- 8.5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "west": {
- "uv": [
- 2.75,
- 3,
- 3,
- 8.5
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "up": {
- "uv": [
- 4.25,
- 4.5,
- 4,
- 4.25
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "down": {
- "uv": [
- 4.5,
- 4.25,
- 4.25,
- 4.5
- ],
- "texture": "#layer1",
- "tintindex": 0
- }
- }
- },
- {
- "from": [
- 7.5,
- 0,
- 7.5
- ],
- "to": [
- 8.5,
- 10.6,
- 8.5
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 0,
- -1,
- 0
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 2,
- 3,
- 2.25,
- 8.5
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 2.25,
- 3,
- 2.5,
- 8.5
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 2.5,
- 3,
- 2.75,
- 8.5
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 2.75,
- 3,
- 3,
- 8.5
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 4.25,
- 4.5,
- 4,
- 4.25
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 4.5,
- 4.25,
- 4.25,
- 4.5
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "from": [
- 8,
- 12.8,
- 6
- ],
- "to": [
- 8,
- 17.8,
- 10
- ],
- "rotation": {
- "angle": -45,
- "axis": "y",
- "origin": [
- 8,
- 13.3,
- 8
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 0,
- 0,
- 0,
- 1.25
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 2,
- 0,
- 3,
- 1.25
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 0,
- 0,
- 0,
- 1.25
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 2,
- 1.5,
- 3,
- 2.75
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 0,
- 1,
- 0,
- 0
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 0,
- 0,
- 0,
- 1
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "from": [
- 8,
- 12.8,
- 6
- ],
- "to": [
- 8,
- 17.8,
- 10
- ],
- "rotation": {
- "angle": 45,
- "axis": "y",
- "origin": [
- 8,
- 13.3,
- 8
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 0,
- 0,
- 0,
- 1.25
- ],
- "texture": "#layer0"
- },
- "east": {
- "uv": [
- 3,
- 0,
- 4,
- 1.25
- ],
- "texture": "#layer0"
- },
- "south": {
- "uv": [
- 0,
- 0,
- 0,
- 1.25
- ],
- "texture": "#layer0"
- },
- "west": {
- "uv": [
- 3,
- 1.5,
- 4,
- 2.75
- ],
- "texture": "#layer0"
- },
- "up": {
- "uv": [
- 0,
- 1,
- 0,
- 0
- ],
- "texture": "#layer0"
- },
- "down": {
- "uv": [
- 0,
- 0,
- 0,
- 1
- ],
- "texture": "#layer0"
- }
- }
- },
- {
- "from": [
- 7.5,
- 7.5,
- 6.75
- ],
- "to": [
- 8.5,
- 8.5,
- 7.75
- ],
- "faces": {
- "north": {
- "uv": [
- 2,
- 0.5,
- 2.25,
- 0.75
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "east": {
- "uv": [
- 2,
- 5.75,
- 2.25,
- 6
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "south": {
- "uv": [
- 2,
- 5.75,
- 2.25,
- 6
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "west": {
- "uv": [
- 2,
- 5.75,
- 2.25,
- 6
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "up": {
- "uv": [
- 2,
- 5.75,
- 2.25,
- 6
- ],
- "texture": "#layer1",
- "tintindex": 0
- },
- "down": {
- "uv": [
- 2,
- 5.75,
- 2.25,
- 6
- ],
- "texture": "#layer1",
- "tintindex": 0
- }
- }
- }
- ],
- "gui_light": "front",
- "display": {
- "thirdperson_righthand": {
- "translation": [
- 0,
- -0.25,
- 1
- ],
- "scale": [
- 0.3,
- 0.3,
- 0.3
- ]
- },
- "thirdperson_lefthand": {
- "translation": [
- 0,
- -0.25,
- 1
- ],
- "scale": [
- 0.3,
- 0.3,
- 0.3
- ]
- },
- "firstperson_righthand": {
- "rotation": [
- -31,
- 90,
- 25
- ],
- "translation": [
- 1.25,
- 1.6,
- 0.8
- ],
- "scale": [
- 0.45,
- 0.45,
- 0.45
- ]
- },
- "firstperson_lefthand": {
- "rotation": [
- -31,
- 90,
- 25
- ],
- "translation": [
- 1.25,
- 1.6,
- 0.8
- ],
- "scale": [
- 0.45,
- 0.45,
- 0.45
- ]
- },
- "ground": {
- "rotation": [
- 67,
- 0,
- 0
- ],
- "translation": [
- 0,
- 2,
- 0
- ],
- "scale": [
- 0.5,
- 0.5,
- 0.5
- ]
- },
- "gui": {
- "rotation": [
- 15,
- -36,
- 47
- ],
- "translation": [
- 0.75,
- -1.5,
- 0
- ],
- "scale": [
- 0.75,
- 0.75,
- 0.75
- ]
- },
- "head": {
- "rotation": [
- -50,
- 180,
- 0
- ],
- "translation": [
- 0,
- 5.25,
- -7.5
- ],
- "scale": [
- 0.5,
- 0.5,
- 0.5
- ]
- },
- "fixed": {
- "rotation": [
- 0,
- 180,
- -45
- ],
- "translation": [
- 1.75,
- -2,
- 0
- ]
- }
- }
+ "format_version": "1.21.6",
+ "credit": "Made with Blockbench",
+ "texture_size": [64, 64],
+ "textures": {
+ "layer0": "tardis_refined:item/amethyst_screwdriver",
+ "layer1": "tardis_refined:item/amethyst_screwdriver_glow"
+ },
+ "elements": [
+ {
+ "from": [6.8, 6.8, 6.8],
+ "to": [9.2, 9.2, 9.2],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [1.5, 3.25, 2, 3.75], "texture": "#layer0"},
+ "east": {"uv": [3.5, 3, 4, 3.5], "texture": "#layer0"},
+ "south": {"uv": [3.5, 3.5, 4, 4], "texture": "#layer0"},
+ "west": {"uv": [1.5, 3.75, 2, 4.25], "texture": "#layer0"},
+ "up": {"uv": [4.5, 0.5, 4, 0], "texture": "#layer0"},
+ "down": {"uv": [4.5, 0.5, 4, 1], "texture": "#layer0"}
+ }
+ },
+ {
+ "from": [6.7, 9.1, 6.7],
+ "to": [9.3, 10.7, 9.3],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [4, 3.5, 4.5, 3.75], "texture": "#layer0"},
+ "east": {"uv": [4, 3.75, 4.5, 4], "texture": "#layer0"},
+ "south": {"uv": [4, 4, 4.5, 4.25], "texture": "#layer0"},
+ "west": {"uv": [1.5, 4.25, 2, 4.5], "texture": "#layer0"},
+ "up": {"uv": [4.5, 1.5, 4, 1], "texture": "#layer0"},
+ "down": {"uv": [4.5, 1.5, 4, 2], "texture": "#layer0"}
+ }
+ },
+ {
+ "from": [7, 1, 7],
+ "to": [9, 14, 9],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [0, 0, 0.5, 3.25], "texture": "#layer0"},
+ "east": {"uv": [0.5, 0, 1, 3.25], "texture": "#layer0"},
+ "south": {"uv": [1, 0, 1.5, 3.25], "texture": "#layer0"},
+ "west": {"uv": [1.5, 0, 2, 3.25], "texture": "#layer0"},
+ "up": {"uv": [4.5, 3.5, 4, 3], "texture": "#layer0"},
+ "down": {"uv": [4, 4, 3.5, 4.5], "texture": "#layer0"}
+ }
+ },
+ {
+ "from": [7.5, 0, 7.5],
+ "to": [8.5, 21.6, 8.5],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [2, 3, 2.25, 8.5], "texture": "#layer1", "tintindex": 0},
+ "east": {"uv": [2.25, 3, 2.5, 8.5], "texture": "#layer1", "tintindex": 0},
+ "south": {"uv": [2.5, 3, 2.75, 8.5], "texture": "#layer1", "tintindex": 0},
+ "west": {"uv": [2.75, 3, 3, 8.5], "texture": "#layer1", "tintindex": 0},
+ "up": {"uv": [4.25, 4.5, 4, 4.25], "texture": "#layer1", "tintindex": 0},
+ "down": {"uv": [4.5, 4.25, 4.25, 4.5], "texture": "#layer1", "tintindex": 0}
+ }
+ },
+ {
+ "from": [7.5, 0, 7.5],
+ "to": [8.5, 10.6, 8.5],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [2, 3, 2.25, 8.5], "texture": "#layer0"},
+ "east": {"uv": [2.25, 3, 2.5, 8.5], "texture": "#layer0"},
+ "south": {"uv": [2.5, 3, 2.75, 8.5], "texture": "#layer0"},
+ "west": {"uv": [2.75, 3, 3, 8.5], "texture": "#layer0"},
+ "up": {"uv": [4.25, 4.5, 4, 4.25], "texture": "#layer0"},
+ "down": {"uv": [4.5, 4.25, 4.25, 4.5], "texture": "#layer0"}
+ }
+ },
+ {
+ "from": [8, 12.8, 6],
+ "to": [8, 17.8, 10],
+ "rotation": {"angle": -45, "axis": "y", "origin": [8, 13.3, 8]},
+ "faces": {
+ "east": {"uv": [2, 0, 3, 1.25], "texture": "#layer0"},
+ "west": {"uv": [2, 1.5, 3, 2.75], "texture": "#layer0"}
+ }
+ },
+ {
+ "from": [8, 12.8, 6],
+ "to": [8, 17.8, 10],
+ "rotation": {"angle": 45, "axis": "y", "origin": [8, 13.3, 8]},
+ "faces": {
+ "east": {"uv": [3, 0, 4, 1.25], "texture": "#layer0"},
+ "west": {"uv": [3, 1.5, 4, 2.75], "texture": "#layer0"}
+ }
+ },
+ {
+ "from": [7.5, 7.5, 6.75],
+ "to": [8.5, 8.5, 7.75],
+ "faces": {
+ "north": {"uv": [2, 0.5, 2.25, 0.75], "texture": "#layer1", "tintindex": 0},
+ "east": {"uv": [2, 5.75, 2.25, 6], "texture": "#layer1", "tintindex": 0},
+ "south": {"uv": [2, 5.75, 2.25, 6], "texture": "#layer1", "tintindex": 0},
+ "west": {"uv": [2, 5.75, 2.25, 6], "texture": "#layer1", "tintindex": 0},
+ "up": {"uv": [2, 5.75, 2.25, 6], "texture": "#layer1", "tintindex": 0},
+ "down": {"uv": [2, 5.75, 2.25, 6], "texture": "#layer1", "tintindex": 0}
+ }
+ },
+ {
+ "from": [7.2, 14, 7.2],
+ "to": [8.8, 20.6, 8.8],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [3, 3, 3.5, 4.75], "texture": "#layer1", "tintindex": 0},
+ "east": {"uv": [0, 3.25, 0.5, 5], "texture": "#layer1", "tintindex": 0},
+ "south": {"uv": [0.5, 3.25, 1, 5], "texture": "#layer1", "tintindex": 0},
+ "west": {"uv": [1, 3.25, 1.5, 5], "texture": "#layer1", "tintindex": 0},
+ "up": {"uv": [4.5, 2.5, 4, 2], "texture": "#layer1", "tintindex": 0},
+ "down": {"uv": [4.5, 2.5, 4, 3], "texture": "#layer1", "tintindex": 0}
+ }
+ },
+ {
+ "name": "tint",
+ "from": [7.2, 14, 7.2],
+ "to": [8.8, 20.6, 8.8],
+ "rotation": {"angle": 0, "axis": "y", "origin": [0, -1, 0]},
+ "faces": {
+ "north": {"uv": [3, 3, 3.5, 4.75], "texture": "#layer0"},
+ "east": {"uv": [0, 3.25, 0.5, 5], "texture": "#layer0"},
+ "south": {"uv": [0.5, 3.25, 1, 5], "texture": "#layer0"},
+ "west": {"uv": [1, 3.25, 1.5, 5], "texture": "#layer0"},
+ "up": {"uv": [4.5, 2.5, 4, 2], "texture": "#layer0"},
+ "down": {"uv": [4.5, 2.5, 4, 3], "texture": "#layer0"}
+ }
+ }
+ ],
+ "gui_light": "front",
+ "display": {
+ "thirdperson_righthand": {
+ "translation": [0, -0.25, 1],
+ "scale": [0.3, 0.3, 0.3]
+ },
+ "thirdperson_lefthand": {
+ "translation": [0, -0.25, 1],
+ "scale": [0.3, 0.3, 0.3]
+ },
+ "firstperson_righthand": {
+ "rotation": [-31, 90, 25],
+ "translation": [1.25, 1.6, 0.8],
+ "scale": [0.45, 0.45, 0.45]
+ },
+ "firstperson_lefthand": {
+ "rotation": [-31, 90, 25],
+ "translation": [1.25, 1.6, 0.8],
+ "scale": [0.45, 0.45, 0.45]
+ },
+ "ground": {
+ "rotation": [67, 0, 0],
+ "translation": [0, 2, 0],
+ "scale": [0.5, 0.5, 0.5]
+ },
+ "gui": {
+ "rotation": [15, -36, 47],
+ "translation": [0.75, -1.5, 0],
+ "scale": [0.75, 0.75, 0.75]
+ },
+ "head": {
+ "rotation": [-50, -180, 0],
+ "translation": [0, 5.25, -7.5],
+ "scale": [0.5, 0.5, 0.5]
+ },
+ "fixed": {
+ "rotation": [0, -180, -45],
+ "translation": [1.75, -2, 0]
+ }
+ }
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/models/item/glasses.json b/common/src/main/resources/assets/tardis_refined/models/item/glasses.json
index 52bf6b15..c8745508 100644
--- a/common/src/main/resources/assets/tardis_refined/models/item/glasses.json
+++ b/common/src/main/resources/assets/tardis_refined/models/item/glasses.json
@@ -1,357 +1,75 @@
{
- "credit": "Made with Blockbench",
- "texture_size": [
- 32,
- 32
- ],
- "textures": {
- "1": "tardis_refined:item/glasses",
- "particle": "tardis_refined:item/glasses"
- },
- "elements": [
- {
- "from": [
- 3,
- 2.5,
- 3.475
- ],
- "to": [
- 13,
- 6.5,
- 3.475
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 8,
- 0,
- 8
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 0,
- 0,
- 10,
- 4
- ],
- "texture": "#1"
- },
- "east": {
- "uv": [
- 0,
- 0,
- 0,
- 4
- ],
- "texture": "#1"
- },
- "south": {
- "uv": [
- 10,
- 0,
- 0,
- 4
- ],
- "texture": "#1"
- },
- "west": {
- "uv": [
- 10,
- 0,
- 10,
- 4
- ],
- "texture": "#1"
- },
- "up": {
- "uv": [
- 10,
- 0,
- 0,
- 0
- ],
- "texture": "#1"
- },
- "down": {
- "uv": [
- 20,
- 0,
- 10,
- 0
- ],
- "texture": "#1"
- }
- }
- },
- {
- "from": [
- 3.475,
- 2.5,
- 3.475
- ],
- "to": [
- 4.475,
- 5.5,
- 7.475
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 8,
- 0,
- 8
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 4,
- 4,
- 5,
- 7
- ],
- "texture": "#1"
- },
- "east": {
- "uv": [
- 5,
- 4,
- 9,
- 7
- ],
- "texture": "#1"
- },
- "south": {
- "uv": [
- 5,
- 4,
- 6,
- 7
- ],
- "texture": "#1"
- },
- "west": {
- "uv": [
- 4,
- 4,
- 0,
- 7
- ],
- "texture": "#1"
- },
- "up": {
- "uv": [
- 6,
- 8,
- 5,
- 4
- ],
- "texture": "#1"
- },
- "down": {
- "uv": [
- 7,
- 4,
- 6,
- 8
- ],
- "texture": "#1"
- }
- }
- },
- {
- "from": [
- 11.525,
- 2.5,
- 3.475
- ],
- "to": [
- 12.525,
- 5.5,
- 7.475
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 8,
- 0,
- 8
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 4,
- 4,
- 5,
- 7
- ],
- "texture": "#1"
- },
- "east": {
- "uv": [
- 0,
- 4,
- 4,
- 7
- ],
- "texture": "#1"
- },
- "south": {
- "uv": [
- 5,
- 4,
- 6,
- 7
- ],
- "texture": "#1"
- },
- "west": {
- "uv": [
- 5,
- 4,
- 9,
- 7
- ],
- "texture": "#1"
- },
- "up": {
- "uv": [
- 6,
- 8,
- 5,
- 4
- ],
- "texture": "#1"
- },
- "down": {
- "uv": [
- 7,
- 4,
- 6,
- 8
- ],
- "texture": "#1"
- }
- }
- }
- ],
- "display": {
- "thirdperson_righthand": {
- "translation": [
- 0,
- 3,
- 1
- ],
- "scale": [
- 0.55,
- 0.55,
- 0.55
- ]
- },
- "thirdperson_lefthand": {
- "translation": [
- 0,
- 3,
- 1
- ],
- "scale": [
- 0.55,
- 0.55,
- 0.55
- ]
- },
- "firstperson_righthand": {
- "rotation": [
- 0,
- 94,
- 7
- ],
- "translation": [
- 3.63,
- 4.95,
- -0.37
- ],
- "scale": [
- 0.68,
- 0.68,
- 0.68
- ]
- },
- "firstperson_lefthand": {
- "rotation": [
- 0,
- 94,
- 7
- ],
- "translation": [
- 3.63,
- 4.95,
- -0.37
- ],
- "scale": [
- 0.68,
- 0.68,
- 0.68
- ]
- },
- "ground": {
- "translation": [
- 0,
- 2,
- 0
- ],
- "scale": [
- 0.5,
- 0.5,
- 0.5
- ]
- },
- "gui": {
- "rotation": [
- 30,
- 225,
- 0
- ],
- "translation": [
- -2.25,
- 4.75,
- 0
- ],
- "scale": [
- 1.25,
- 1.25,
- 1.25
- ]
- },
- "head": {
- "translation": [
- 0,
- 6.35,
- 0
- ],
- "scale": [
- 1.6,
- 1.6,
- 1.6
- ]
- },
- "fixed": {
- "translation": [
- 0,
- 5.75,
- 6.75
- ],
- "scale": [
- 1.5,
- 1.5,
- 1.5
- ]
- }
- }
+ "format_version": "1.21.6",
+ "credit": "Made with Blockbench",
+ "texture_size": [32, 32],
+ "textures": {
+ "1": "tardis_refined:item/glasses",
+ "particle": "tardis_refined:item/glasses"
+ },
+ "elements": [
+ {
+ "from": [3.5, 2.5, 3.475],
+ "to": [12.5, 6.5, 3.475],
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
+ "faces": {
+ "north": {"uv": [0.5, 0, 9.5, 4], "texture": "#1"},
+ "south": {"uv": [9.5, 0, 0.5, 4], "texture": "#1"}
+ }
+ },
+ {
+ "from": [3.475, 2.5, 3.475],
+ "to": [3.475, 5.5, 7.475],
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
+ "faces": {
+ "east": {"uv": [4, 7, 0, 10], "texture": "#1"},
+ "west": {"uv": [0, 7, 4, 10], "texture": "#1"}
+ }
+ },
+ {
+ "from": [12.525, 2.5, 3.475],
+ "to": [12.525, 5.5, 7.475],
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 0, 8]},
+ "faces": {
+ "east": {"uv": [0, 4, 4, 7], "texture": "#1"},
+ "west": {"uv": [4, 4, 0, 7], "texture": "#1"}
+ }
+ }
+ ],
+ "display": {
+ "thirdperson_righthand": {
+ "translation": [0, 3, 1],
+ "scale": [0.55, 0.55, 0.55]
+ },
+ "thirdperson_lefthand": {
+ "translation": [0, 3, 1],
+ "scale": [0.55, 0.55, 0.55]
+ },
+ "firstperson_righthand": {
+ "rotation": [0, 94, 7],
+ "translation": [3.63, 4.95, -0.37],
+ "scale": [0.68, 0.68, 0.68]
+ },
+ "firstperson_lefthand": {
+ "rotation": [0, 94, 7],
+ "translation": [3.63, 4.95, -0.37],
+ "scale": [0.68, 0.68, 0.68]
+ },
+ "ground": {
+ "translation": [0, 2, 0],
+ "scale": [0.5, 0.5, 0.5]
+ },
+ "gui": {
+ "rotation": [30, -135, 0],
+ "translation": [-2.25, 4.75, 0],
+ "scale": [1.25, 1.25, 1.25]
+ },
+ "head": {
+ "translation": [0, 6.35, 0],
+ "scale": [1.6, 1.6, 1.6]
+ },
+ "fixed": {
+ "translation": [0, 5.75, 6.75],
+ "scale": [1.5, 1.5, 1.5]
+ }
+ }
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/models/item/mallet.json b/common/src/main/resources/assets/tardis_refined/models/item/mallet.json
index 0db0d042..fa465c98 100644
--- a/common/src/main/resources/assets/tardis_refined/models/item/mallet.json
+++ b/common/src/main/resources/assets/tardis_refined/models/item/mallet.json
@@ -1,261 +1,71 @@
{
- "credit": "Made with Blockbench",
- "texture_size": [
- 32,
- 32
- ],
- "textures": {
- "0": "tardis_refined:item/mallet",
- "particle": "tardis_refined:item/mallet"
- },
- "elements": [
- {
- "from": [
- 7,
- 0,
- 7
- ],
- "to": [
- 9,
- 11,
- 9
- ],
- "faces": {
- "north": {
- "uv": [
- 0,
- 0,
- 1,
- 5.5
- ],
- "texture": "#0"
- },
- "east": {
- "uv": [
- 1,
- 0,
- 2,
- 5.5
- ],
- "texture": "#0"
- },
- "south": {
- "uv": [
- 2,
- 0,
- 3,
- 5.5
- ],
- "texture": "#0"
- },
- "west": {
- "uv": [
- 3,
- 0,
- 4,
- 5.5
- ],
- "texture": "#0"
- },
- "up": {
- "uv": [
- 4,
- 6.5,
- 3,
- 5.5
- ],
- "texture": "#0"
- },
- "down": {
- "uv": [
- 6.5,
- 4.5,
- 5.5,
- 5.5
- ],
- "texture": "#0"
- }
- }
- },
- {
- "from": [
- 6.5,
- 9,
- 5
- ],
- "to": [
- 9.5,
- 12,
- 11
- ],
- "rotation": {
- "angle": 0,
- "axis": "y",
- "origin": [
- 8,
- 10,
- 6
- ]
- },
- "faces": {
- "north": {
- "uv": [
- 1.5,
- 5.5,
- 3,
- 7
- ],
- "texture": "#0"
- },
- "east": {
- "uv": [
- 4,
- 0,
- 7,
- 1.5
- ],
- "texture": "#0"
- },
- "south": {
- "uv": [
- 5.5,
- 3,
- 7,
- 4.5
- ],
- "texture": "#0"
- },
- "west": {
- "uv": [
- 4,
- 1.5,
- 7,
- 3
- ],
- "texture": "#0"
- },
- "up": {
- "uv": [
- 5.5,
- 6,
- 4,
- 3
- ],
- "texture": "#0"
- },
- "down": {
- "uv": [
- 1.5,
- 5.5,
- 0,
- 8.5
- ],
- "texture": "#0"
- }
- }
- }
- ],
- "display": {
- "thirdperson_righthand": {
- "translation": [
- 0,
- 3,
- 1
- ],
- "scale": [
- 0.55,
- 0.55,
- 0.55
- ]
- },
- "thirdperson_lefthand": {
- "translation": [
- 0,
- 3,
- 1
- ],
- "scale": [
- 0.55,
- 0.55,
- 0.55
- ]
- },
- "firstperson_righthand": {
- "rotation": [
- -7,
- -1,
- 1
- ],
- "translation": [
- 1.13,
- 4.45,
- 1.13
- ],
- "scale": [
- 0.68,
- 0.68,
- 0.7
- ]
- },
- "firstperson_lefthand": {
- "rotation": [
- -7,
- -1,
- 1
- ],
- "translation": [
- 1.13,
- 4.45,
- 1.13
- ],
- "scale": [
- 0.68,
- 0.68,
- 0.7
- ]
- },
- "ground": {
- "translation": [
- 0,
- 2,
- 0
- ],
- "scale": [
- 0.5,
- 0.5,
- 0.5
- ]
- },
- "gui": {
- "rotation": [
- 30,
- 225,
- 0
- ],
- "translation": [
- 0,
- 0.75,
- 0
- ]
- },
- "head": {
- "rotation": [
- 0,
- 180,
- 0
- ],
- "translation": [
- 0,
- 13,
- -0.5
- ]
- },
- "fixed": {
- "rotation": [
- 0,
- 90,
- 0
- ]
- }
- }
+ "format_version": "1.21.6",
+ "credit": "Made with Blockbench",
+ "textures": {
+ "0": "tardis_refined:item/mallet",
+ "particle": "tardis_refined:item/mallet"
+ },
+ "elements": [
+ {
+ "from": [7, 0, 7],
+ "to": [9, 11, 9],
+ "faces": {
+ "north": {"uv": [2, 0, 4, 11], "texture": "#0"},
+ "east": {"uv": [0, 0, 2, 11], "texture": "#0"},
+ "south": {"uv": [6, 0, 8, 11], "texture": "#0"},
+ "west": {"uv": [4, 0, 6, 11], "texture": "#0"},
+ "down": {"uv": [6, 11, 4, 13], "texture": "#0"}
+ }
+ },
+ {
+ "from": [6, 9, 5],
+ "to": [10, 12, 11],
+ "rotation": {"angle": 0, "axis": "y", "origin": [8, 10, 6]},
+ "faces": {
+ "north": {"uv": [6, 13, 10, 16], "texture": "#0"},
+ "east": {"uv": [0, 13, 6, 16], "texture": "#0"},
+ "south": {"uv": [12, 10, 16, 13], "texture": "#0"},
+ "west": {"uv": [10, 13, 16, 16], "texture": "#0"},
+ "up": {"uv": [12, 6, 8, 0], "texture": "#0"},
+ "down": {"uv": [16, 0, 12, 6], "texture": "#0"}
+ }
+ }
+ ],
+ "display": {
+ "thirdperson_righthand": {
+ "translation": [0, 3, 0.9],
+ "scale": [0.55, 0.55, 0.55]
+ },
+ "thirdperson_lefthand": {
+ "translation": [0, 3, 0.9],
+ "scale": [0.55, 0.55, 0.55]
+ },
+ "firstperson_righthand": {
+ "rotation": [-7, -1, 1],
+ "translation": [1.13, 4.45, 1.13],
+ "scale": [0.68, 0.68, 0.7]
+ },
+ "firstperson_lefthand": {
+ "rotation": [-7, -1, 1],
+ "translation": [1.13, 4.45, 1.13],
+ "scale": [0.68, 0.68, 0.7]
+ },
+ "ground": {
+ "translation": [0, 2, 0],
+ "scale": [0.5, 0.5, 0.5]
+ },
+ "gui": {
+ "rotation": [52, -35, 55],
+ "translation": [-0.5, 0.75, 0],
+ "scale": [1.125, 1.125, 1.125]
+ },
+ "head": {
+ "rotation": [-111, 11.25, -27.5],
+ "translation": [0, 10, -0.5]
+ },
+ "fixed": {
+ "rotation": [0, 90, 0],
+ "translation": [0, 2, 1]
+ }
+ }
}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.fsh b/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.fsh
new file mode 100644
index 00000000..641b1a75
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.fsh
@@ -0,0 +1,29 @@
+#version 150
+
+#moj_import
+
+uniform sampler2D Sampler0;
+
+uniform vec4 ColorModulator;
+uniform float FogStart;
+uniform float FogEnd;
+uniform float GlowIntensity;
+
+in float vertexDistance;
+in vec4 vertexColor;
+in vec4 overlayColor;
+in vec2 texCoord0;
+in vec4 normal;
+
+out vec4 fragColor;
+
+void main() {
+ vec4 color = texture(Sampler0, texCoord0);
+ if (color.a < 0.1) {
+ discard;
+ }
+ color *= vertexColor * ColorModulator;
+ color.rgb = mix(overlayColor.rgb, color.rgb, overlayColor.a);
+ color.rgb *= GlowIntensity; // Apply GlowIntensity
+ fragColor = color * linear_fog_fade(vertexDistance, FogStart, FogEnd);
+}
diff --git a/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.json b/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.json
new file mode 100644
index 00000000..59dfbda2
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.json
@@ -0,0 +1,31 @@
+{
+ "blend": {
+ "func": "add",
+ "srcrgb": "srcalpha",
+ "dstrgb": "1-srcalpha"
+ },
+ "vertex": "tardis_refined:glow_shader",
+ "fragment": "tardis_refined:glow_shader",
+ "attributes": [
+ "Position",
+ "Color",
+ "UV0",
+ "UV1",
+ "UV2",
+ "Normal"
+ ],
+ "samplers": [
+ { "name": "Sampler0" },
+ { "name": "Sampler1" }
+ ],
+ "uniforms": [
+ { "name": "ModelViewMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
+ { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
+ { "name": "ColorModulator", "type": "float", "count": 4, "values": [ 1.0, 1.0, 1.0, 1.0 ] },
+ { "name": "Light0_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
+ { "name": "Light1_Direction", "type": "float", "count": 3, "values": [0.0, 0.0, 0.0] },
+ { "name": "FogStart", "type": "float", "count": 1, "values": [ 0.0 ] },
+ { "name": "FogEnd", "type": "float", "count": 1, "values": [ 1.0 ] },
+ { "name": "GlowIntensity", "type": "float", "count": 1, "values": [ 1.0 ] }
+ ]
+}
diff --git a/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.vsh b/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.vsh
new file mode 100644
index 00000000..b25c931e
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/shaders/core/glow_shader.vsh
@@ -0,0 +1,35 @@
+#version 150
+
+#moj_import
+
+in vec3 Position;
+in vec4 Color;
+in vec2 UV0;
+in ivec2 UV1;
+in ivec2 UV2;
+in vec3 Normal;
+
+uniform sampler2D Sampler1;
+uniform sampler2D Sampler2;
+
+uniform mat4 ModelViewMat;
+uniform mat4 ProjMat;
+
+uniform vec3 Light0_Direction;
+uniform vec3 Light1_Direction;
+
+out float vertexDistance;
+out vec4 vertexColor;
+out vec4 overlayColor;
+out vec2 texCoord0;
+out vec4 normal;
+
+void main() {
+ gl_Position = ProjMat * ModelViewMat * vec4(Position, 1.0);
+
+ vertexDistance = length((ModelViewMat * vec4(Position, 1.0)).xyz);
+ vertexColor = minecraft_mix_light(Light0_Direction, Light1_Direction, Normal, Color);
+ overlayColor = texelFetch(Sampler1, UV1, 0);
+ texCoord0 = UV0;
+ normal = ProjMat * ModelViewMat * vec4(Normal, 0.0);
+}
diff --git a/common/src/main/resources/assets/tardis_refined/shaders/core/nivis.json b/common/src/main/resources/assets/tardis_refined/shaders/core/nivis.json
new file mode 100644
index 00000000..dcbbd441
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/shaders/core/nivis.json
@@ -0,0 +1,79 @@
+{
+ "blend": {
+ "func": "add",
+ "srcrgb": "srcalpha",
+ "dstrgb": "1-srcalpha"
+ },
+ "vertex": "tardis_refined:nivis_vertex",
+ "fragment": "tardis_refined:nivis_fragment",
+ "attributes": [
+ "Position",
+ "Color",
+ "UV0",
+ "UV2",
+ "Normal"
+ ],
+ "samplers": [
+ {
+ "name": "Sampler0"
+ },
+ {
+ "name": "Sampler2"
+ },
+ {
+ "name": "SamplerSnow"
+ }
+ ],
+ "uniforms": [
+ {
+ "name": "ProjMat",
+ "type": "matrix4x4",
+ "count": 16,
+ "values": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "IViewRotMat",
+ "type": "matrix3x3",
+ "count": 9,
+ "values": [
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0,
+ 0.0,
+ 0.0,
+ 0.0,
+ 1.0
+ ]
+ },
+ {
+ "name": "SnowColor",
+ "type": "float",
+ "count": 4,
+ "values": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0
+ ]
+ }
+ ]
+}
diff --git a/common/src/main/resources/assets/tardis_refined/shaders/core/nivis_fragment.fsh b/common/src/main/resources/assets/tardis_refined/shaders/core/nivis_fragment.fsh
new file mode 100644
index 00000000..27ed8711
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/shaders/core/nivis_fragment.fsh
@@ -0,0 +1,41 @@
+#version 150
+
+in vec4 vertexColor;
+in vec2 texCoord0;
+in vec4 normal;
+in vec4 snowDir;
+in vec4 lightMapColor;
+
+out vec4 fragColor;
+
+uniform sampler2D Sampler0;
+uniform sampler2D SamplerSnow;
+uniform vec4 SnowColor;
+uniform mat3 IViewRotMat;
+
+void main() {
+ vec4 baseColor = texture(Sampler0, texCoord0) * vertexColor;
+
+ // Discard transparent pixels
+ if (baseColor.a < 0.1) {
+ discard;
+ }
+
+ // Sample snow texture
+ vec2 scaledTexCoord = texCoord0 * 16.0;
+ vec4 snowTex = texture(SamplerSnow, scaledTexCoord);
+ snowTex.a = 1.0;
+
+ // Calculate snow direction factor
+ float snowFactor = max(dot(normalize(snowDir.xyz), normalize(normal.xyz)), 0.0);
+ float blendFactor = snowTex.a * smoothstep(0.6, 0.95, snowFactor);
+
+ // Blend snow into base color
+ vec4 blendedSnow = mix(baseColor, snowTex, blendFactor);
+ vec4 finalColor = mix(blendedSnow, SnowColor, snowFactor);
+
+ // Apply lightmap
+ finalColor *= lightMapColor;
+ fragColor = finalColor;
+
+}
diff --git a/common/src/main/resources/assets/tardis_refined/shaders/core/nivis_vertex.vsh b/common/src/main/resources/assets/tardis_refined/shaders/core/nivis_vertex.vsh
new file mode 100644
index 00000000..4bad9081
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/shaders/core/nivis_vertex.vsh
@@ -0,0 +1,25 @@
+#version 150
+
+in vec3 Position;
+in vec4 Color;
+in vec2 UV0;
+in vec3 Normal;
+
+uniform mat4 ProjMat;
+uniform sampler2D Sampler2;
+uniform mat3 IViewRotMat;
+
+out vec4 vertexColor;
+out vec2 texCoord0;
+out vec4 normal;
+out vec4 snowDir;
+out vec4 lightMapColor;
+
+void main() {
+ gl_Position = ProjMat * vec4(Position, 1.0);
+ vertexColor = Color;
+ texCoord0 = UV0;
+ lightMapColor = texture(Sampler2, ivec2(UV0 * 16.0));
+ normal = vec4(Normal * inverse(IViewRotMat), 0.0);
+ snowDir = vec4(0.0, 1.0, 0.0, 0.0);
+}
diff --git a/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_copper.ogg b/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_copper.ogg
new file mode 100644
index 00000000..403d7fcf
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_copper.ogg differ
diff --git a/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_coral.ogg b/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_coral.ogg
index 3d52f259..245d6bb5 100644
Binary files a/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_coral.ogg and b/common/src/main/resources/assets/tardis_refined/sounds/tardis/interior_hums/hum_coral.ogg differ
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/crystal.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/crystal.json
new file mode 100644
index 00000000..34c95978
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/crystal.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"crystal","texture_width":256,"texture_height":256},"bones":[{"name":"rotor","pivot":[0.0,-1.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,21.475,-7.0],"size":[14.0,1.0,14.0],"inflate":1.0,"uv":[65.0,15.0],"mirror":false},{"origin":[-6.0,25.0,-6.0],"size":[12.0,15.0,12.0],"inflate":-0.25,"uv":[31.0,75.0],"mirror":false},{"origin":[-3.0,30.0,-3.0],"size":[6.0,16.0,6.0],"inflate":0.25,"uv":[80.0,95.0],"mirror":false},{"origin":[-7.0,23.0,-7.0],"size":[14.0,10.0,14.0],"inflate":-0.5,"uv":[43.0,50.0],"mirror":false}]},{"name":"root_r3","parent":"rotor","pivot":[0.0,-1.0,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[0.0,23.0,-10.0],"size":[1.0,26.0,20.0],"inflate":0.25,"uv":[0.0,34.0],"mirror":false}]},{"name":"root_r2","parent":"rotor","pivot":[0.0,-1.0,0.0],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[0.0,23.0,-10.0],"size":[1.0,26.0,20.0],"inflate":0.25,"uv":[0.0,34.0],"mirror":false}]},{"name":"base_control","pivot":[0.0,-3.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone37","parent":"base_control","pivot":[0.0,22.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,21.0,-12.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[121.0,42.0],"mirror":false}]},{"name":"bone38","parent":"bone37","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,21.0,-12.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[121.0,42.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,21.0,-12.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[121.0,42.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,21.0,-12.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[121.0,42.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,21.0,-12.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[121.0,42.0],"mirror":false}]},{"name":"bone42","parent":"bone41","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,21.0,-12.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[121.0,42.0],"mirror":false}]},{"name":"bone196","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone210","parent":"bone196","pivot":[0.0,-0.0,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[]},{"name":"bone211","parent":"bone210","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone62_r2","parent":"bone211","pivot":[0.0,14.5,-14.3],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-8.0,14.0,-16.3],"size":[16.0,1.0,4.0],"inflate":0.0,"uv":[83.0,157.0],"mirror":false}]},{"name":"bone212","parent":"bone211","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone63_r1","parent":"bone212","pivot":[0.0,14.5,-10.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,14.0,-12.3],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[85.0,162.0],"mirror":false}]},{"name":"bone61_r3","parent":"bone210","pivot":[0.0,14.5,-18.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,4.0],"inflate":0.0,"uv":[80.0,152.0],"mirror":false}]},{"name":"bone198","parent":"bone196","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone199","parent":"bone198","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone58_r1","parent":"bone199","pivot":[0.0,14.5,-14.3],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-8.0,14.0,-16.3],"size":[16.0,1.0,4.0],"inflate":0.0,"uv":[83.0,157.0],"mirror":false}]},{"name":"bone200","parent":"bone199","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone59_r1","parent":"bone200","pivot":[0.0,14.5,-10.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,14.0,-12.3],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[85.0,162.0],"mirror":false}]},{"name":"bone57_r1","parent":"bone198","pivot":[0.0,14.5,-18.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,4.0],"inflate":0.0,"uv":[80.0,152.0],"mirror":false}]},{"name":"bone201","parent":"bone196","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone58_r2","parent":"bone201","pivot":[0.0,14.5,-18.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,4.0],"inflate":0.0,"uv":[80.0,152.0],"mirror":false}]},{"name":"bone202","parent":"bone201","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone59_r2","parent":"bone202","pivot":[0.0,14.5,-14.3],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-8.0,14.0,-16.3],"size":[16.0,1.0,4.0],"inflate":0.0,"uv":[83.0,157.0],"mirror":false}]},{"name":"bone203","parent":"bone202","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone60_r1","parent":"bone203","pivot":[0.0,14.5,-10.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,14.0,-12.3],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[85.0,162.0],"mirror":false}]},{"name":"bone213","parent":"bone196","pivot":[0.0,-0.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"bone214","parent":"bone213","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone63_r2","parent":"bone214","pivot":[0.0,14.5,-14.3],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-8.0,14.0,-16.3],"size":[16.0,1.0,4.0],"inflate":0.0,"uv":[83.0,157.0],"mirror":false}]},{"name":"bone215","parent":"bone214","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone64_r1","parent":"bone215","pivot":[0.0,14.5,-10.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,14.0,-12.3],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[85.0,162.0],"mirror":false}]},{"name":"bone62_r3","parent":"bone213","pivot":[0.0,14.5,-18.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,4.0],"inflate":0.0,"uv":[80.0,152.0],"mirror":false}]},{"name":"bone204","parent":"bone196","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone59_r3","parent":"bone204","pivot":[0.0,14.5,-18.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,4.0],"inflate":0.0,"uv":[80.0,152.0],"mirror":false}]},{"name":"bone205","parent":"bone204","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone60_r2","parent":"bone205","pivot":[0.0,14.5,-14.3],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-8.0,14.0,-16.3],"size":[16.0,1.0,4.0],"inflate":0.0,"uv":[83.0,157.0],"mirror":false}]},{"name":"bone206","parent":"bone205","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone61_r1","parent":"bone206","pivot":[0.0,14.5,-10.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,14.0,-12.3],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[85.0,162.0],"mirror":false}]},{"name":"bone207","parent":"bone196","pivot":[0.0,-0.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone60_r3","parent":"bone207","pivot":[0.0,14.5,-18.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,4.0],"inflate":0.0,"uv":[80.0,152.0],"mirror":false}]},{"name":"bone208","parent":"bone207","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone61_r2","parent":"bone208","pivot":[0.0,14.5,-14.3],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-8.0,14.0,-16.3],"size":[16.0,1.0,4.0],"inflate":0.0,"uv":[83.0,157.0],"mirror":false}]},{"name":"bone209","parent":"bone208","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone62_r1","parent":"bone209","pivot":[0.0,14.5,-10.3],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,14.0,-12.3],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[85.0,162.0],"mirror":false}]},{"name":"bone49","parent":"base_control","pivot":[0.0,22.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-4.5,22.0,-11.4],"size":[9.0,2.0,4.0],"inflate":0.0,"uv":[68.0,75.0],"mirror":false}]},{"name":"bone50","parent":"bone49","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,22.0,-11.4],"size":[9.0,2.0,4.0],"inflate":0.0,"uv":[68.0,75.0],"mirror":false}]},{"name":"bone51","parent":"bone50","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,22.0,-11.4],"size":[9.0,2.0,4.0],"inflate":0.0,"uv":[68.0,75.0],"mirror":false}]},{"name":"bone52","parent":"bone51","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,22.0,-11.4],"size":[9.0,2.0,4.0],"inflate":0.0,"uv":[68.0,75.0],"mirror":false}]},{"name":"bone53","parent":"bone52","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,22.0,-11.4],"size":[9.0,2.0,4.0],"inflate":0.0,"uv":[68.0,75.0],"mirror":false}]},{"name":"bone54","parent":"bone53","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,22.0,-11.4],"size":[9.0,2.0,4.0],"inflate":0.0,"uv":[68.0,75.0],"mirror":false}]},{"name":"bone121","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-3.5,-1.0,-10.75],"size":[7.0,16.0,1.0],"inflate":0.0,"uv":[0.0,105.0],"mirror":false}]},{"name":"bone142","parent":"bone121","pivot":[-4.0,7.5,-15.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.5,2.0,-16.75],"size":[3.0,11.0,3.0],"inflate":0.0,"uv":[38.0,119.0],"mirror":false}]},{"name":"bone153","parent":"bone142","pivot":[-4.0,1.0,-15.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-17.25],"size":[4.0,2.0,4.0],"inflate":0.0,"uv":[126.0,0.0],"mirror":true}]},{"name":"bone155","parent":"bone142","pivot":[-4.0,12.0,-15.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,11.0,-17.25],"size":[4.0,2.0,4.0],"inflate":0.0,"uv":[126.0,0.0],"mirror":false}]},{"name":"bone143","parent":"bone142","pivot":[-4.0,3.5,-15.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.5,2.0,-16.75],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[38.0,145.0],"mirror":false}]},{"name":"bone145","parent":"bone142","pivot":[-4.0,6.5,-15.25],"rotation":[0.0,-1.0026761457478088,0.0],"cubes":[{"origin":[-5.5,5.0,-16.75],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[38.0,139.0],"mirror":false}]},{"name":"bone149","parent":"bone142","pivot":[-4.0,9.5,-15.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.5,8.0,-16.75],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[38.0,133.0],"mirror":false}]},{"name":"bone122","parent":"bone121","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-1.0,-10.75],"size":[7.0,16.0,1.0],"inflate":0.0,"uv":[0.0,105.0],"mirror":false}]},{"name":"bone123","parent":"bone122","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-1.0,-10.75],"size":[7.0,16.0,1.0],"inflate":0.0,"uv":[0.0,105.0],"mirror":false}]},{"name":"bone221","parent":"bone123","pivot":[4.5,6.5,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.0,5.5,-18.0],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[13.0,131.0],"mirror":true}]},{"name":"bone220","parent":"bone123","pivot":[0.5,6.5,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,5.0,-18.5],"size":[5.0,3.0,3.0],"inflate":0.0,"uv":[109.0,125.0],"mirror":false}]},{"name":"bone223","parent":"bone123","pivot":[7.0,7.0,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.0,5.5,-18.0],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[135.0,12.0],"mirror":true}]},{"name":"bone124","parent":"bone123","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-1.0,-10.75],"size":[7.0,16.0,1.0],"inflate":0.0,"uv":[0.0,105.0],"mirror":false},{"origin":[-4.0,8.0,-15.75],"size":[8.0,5.0,6.0],"inflate":0.0,"uv":[105.0,73.0],"mirror":false}]},{"name":"bone125","parent":"bone124","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone126","parent":"bone125","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone161","parent":"bone126","pivot":[-1.0,3.0,-13.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,2.0,-14.75],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[25.0,142.0],"mirror":false}]},{"name":"bone186","parent":"bone126","pivot":[6.5,8.0,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[5.5,6.5,-12.75],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[66.0,143.0],"mirror":false}]},{"name":"bone174","parent":"bone126","pivot":[-11.5575,8.0,-11.0429],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone132_r1","parent":"bone174","pivot":[-11.5961,7.9750004,-11.0561],"rotation":[0.0,114.9983650931306,0.0],"cubes":[{"origin":[-18.5961,6.5000005,-11.0561],"size":[7.0,3.0,3.0],"inflate":0.0,"uv":[17.0,119.0],"mirror":false}]},{"name":"bone177","parent":"bone126","pivot":[4.0,8.0,-13.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[2.5,6.5,-14.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[66.0,133.0],"mirror":false}]},{"name":"bone165","parent":"bone126","pivot":[-1.0,1.0,-13.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,-0.0,-14.75],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[25.0,147.0],"mirror":false}]},{"name":"bone132","parent":"bone126","pivot":[-6.2752,7.200001,-10.4719],"rotation":[0.0,27.50197355156249,0.0],"cubes":[{"origin":[-10.7252,6.500001,-13.446899],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[113.0,54.0],"mirror":false}]},{"name":"bone169","parent":"bone126","pivot":[-1.0,8.0,-13.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,6.0,-15.25],"size":[7.0,4.0,4.0],"inflate":0.0,"uv":[108.0,15.0],"mirror":false}]},{"name":"bone171","parent":"bone169","pivot":[-1.0,8.5,-15.0],"rotation":[0.0,0.0,-27.50197355156249],"cubes":[{"origin":[-2.5,7.0,-15.5],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[0.0,132.0],"mirror":false}]},{"name":"bone160","parent":"bone126","pivot":[-1.0,5.0,-13.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,4.0,-14.75],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[25.0,137.0],"mirror":false}]},{"name":"bone181","parent":"bone126","pivot":[6.5,8.0,-13.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[5.5,6.5,-14.75],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[67.0,138.0],"mirror":false}]},{"name":"bone222","parent":"bone123","pivot":[7.0,10.0,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.0,8.5,-18.0],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[135.0,7.0],"mirror":true}]},{"name":"bone225","parent":"bone123","pivot":[0.5,6.5,-18.25],"rotation":[0.0,0.0,-27.50197355156249],"cubes":[{"origin":[-1.0,5.0,-18.75],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[0.0,132.0],"mirror":false}]},{"name":"bone224","parent":"bone123","pivot":[7.0,12.5,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[5.5,11.5,-18.5],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[128.0,73.0],"mirror":false}]},{"name":"bone216","parent":"bone123","pivot":[-6.0,12.5,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,11.5,-18.5],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[128.0,73.0],"mirror":false}]},{"name":"bone218","parent":"bone123","pivot":[-6.0,7.0,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,5.5,-18.0],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[135.0,12.0],"mirror":false}]},{"name":"bone217","parent":"bone123","pivot":[-6.0,10.0,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,8.5,-18.0],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[135.0,7.0],"mirror":false}]},{"name":"bone219","parent":"bone123","pivot":[-3.5,6.5,-17.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,5.5,-18.0],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[13.0,131.0],"mirror":false}]},{"name":"bone127","parent":"bone121","pivot":[0.0,12.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone133","parent":"bone127","pivot":[0.0,14.0,-24.6],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-1.0,10.0,-24.6],"size":[2.0,4.0,11.0],"inflate":0.0,"uv":[26.0,103.0],"mirror":false}]},{"name":"bone128","parent":"bone127","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone129","parent":"bone128","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone130","parent":"bone129","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone131","parent":"bone130","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,-0.0,-26.75],"size":[3.0,18.0,5.0],"inflate":0.0,"uv":[53.0,103.0],"mirror":false}]},{"name":"bone187","parent":"base_control","pivot":[0.0,8.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"root_r1","parent":"bone187","pivot":[0.0,7.5,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-8.0,-0.5,-8.0],"size":[16.0,17.0,16.0],"inflate":-0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone19","parent":"base_control","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone20","parent":"bone19","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone21","parent":"bone20","pivot":[0.0,16.0,-24.0],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,13.0,-25.0],"size":[4.0,3.0,16.0],"inflate":0.0,"uv":[80.0,75.0],"mirror":false}]},{"name":"bone22","parent":"bone20","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone24","parent":"bone22","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone26","parent":"bone24","pivot":[0.0,16.0,-24.0],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,13.0,-25.0],"size":[4.0,3.0,16.0],"inflate":0.0,"uv":[80.0,75.0],"mirror":false}]},{"name":"bone27","parent":"bone24","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone28","parent":"bone27","pivot":[0.0,16.0,-24.0],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,13.0,-25.0],"size":[4.0,3.0,16.0],"inflate":0.0,"uv":[80.0,75.0],"mirror":false}]},{"name":"bone29","parent":"bone27","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone30","parent":"bone29","pivot":[0.0,16.0,-24.0],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,13.0,-25.0],"size":[4.0,3.0,16.0],"inflate":0.0,"uv":[80.0,75.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,16.0,-24.0],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,13.0,-25.0],"size":[4.0,3.0,16.0],"inflate":0.0,"uv":[80.0,75.0],"mirror":false}]},{"name":"bone25","parent":"bone19","pivot":[0.0,16.0,-24.0],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,13.0,-25.0],"size":[4.0,3.0,16.0],"inflate":0.0,"uv":[80.0,75.0],"mirror":false}]},{"name":"bone97","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone98","parent":"bone97","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.5,17.0,-21.3],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone99","parent":"bone97","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone100","parent":"bone99","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.5,17.0,-21.3],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone101","parent":"bone99","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone102","parent":"bone101","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.5,17.0,-21.3],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone103","parent":"bone101","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone104","parent":"bone103","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.5,17.0,-21.3],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone105","parent":"bone103","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone106","parent":"bone105","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.5,17.0,-21.3],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone107","parent":"bone105","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone108","parent":"bone107","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.5,17.0,-21.3],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone31","parent":"base_control","pivot":[0.0,22.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone32","parent":"bone31","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone32_r1","parent":"bone32","pivot":[0.0,25.0,-12.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-2.0,23.0,-15.0],"size":[4.0,2.0,3.0],"inflate":0.0,"uv":[126.0,125.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone33_r1","parent":"bone33","pivot":[0.0,25.0,-12.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-2.0,23.0,-15.0],"size":[4.0,2.0,3.0],"inflate":0.0,"uv":[126.0,125.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone34_r1","parent":"bone34","pivot":[0.0,25.0,-12.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-2.0,23.0,-15.0],"size":[4.0,2.0,3.0],"inflate":0.0,"uv":[126.0,125.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone35_r1","parent":"bone35","pivot":[0.0,25.0,-12.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-2.0,23.0,-15.0],"size":[4.0,2.0,3.0],"inflate":0.0,"uv":[126.0,125.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone36_r1","parent":"bone36","pivot":[0.0,25.0,-12.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-2.0,23.0,-15.0],"size":[4.0,2.0,3.0],"inflate":0.0,"uv":[126.0,125.0],"mirror":false}]},{"name":"bone31_r1","parent":"bone31","pivot":[0.0,25.0,-12.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-2.0,23.0,-15.0],"size":[4.0,2.0,3.0],"inflate":0.0,"uv":[126.0,125.0],"mirror":false}]},{"name":"bone43","parent":"base_control","pivot":[0.0,23.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-3.5,19.0,-10.0],"size":[7.0,3.0,1.0],"inflate":0.0,"uv":[15.0,126.0],"mirror":false}]},{"name":"bone44","parent":"bone43","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,19.0,-10.0],"size":[7.0,3.0,1.0],"inflate":0.0,"uv":[15.0,126.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,19.0,-10.0],"size":[7.0,3.0,1.0],"inflate":0.0,"uv":[15.0,126.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,19.0,-10.0],"size":[7.0,3.0,1.0],"inflate":0.0,"uv":[15.0,126.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,19.0,-10.0],"size":[7.0,3.0,1.0],"inflate":0.0,"uv":[15.0,126.0],"mirror":false}]},{"name":"bone48","parent":"bone47","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,19.0,-10.0],"size":[7.0,3.0,1.0],"inflate":0.0,"uv":[15.0,126.0],"mirror":false}]},{"name":"bone","parent":"base_control","pivot":[0.0,13.0,0.0],"rotation":[0.0,-15.000034568358878,0.0],"cubes":[{"origin":[-5.0,13.0,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[105.0,85.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-6.0,13.025,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-5.0,13.0,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[105.0,85.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-6.0,13.025,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-5.0,13.0,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[105.0,85.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-6.0,13.025,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false}]},{"name":"bone7","parent":"bone6","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-5.0,13.0,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[105.0,85.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-6.0,13.025,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-5.0,13.0,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[105.0,85.0],"mirror":false}]},{"name":"bone10","parent":"bone9","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-6.0,13.025,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-5.0,13.0,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[105.0,85.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-6.0,13.025,-22.3],"size":[11.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false}]},{"name":"bone13","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,12.0,-24.65],"size":[2.0,3.0,15.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,12.0,-24.65],"size":[2.0,3.0,15.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone15","parent":"bone14","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,12.0,-24.65],"size":[2.0,3.0,15.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone16","parent":"bone15","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,12.0,-24.65],"size":[2.0,3.0,15.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone17","parent":"bone16","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,12.0,-24.65],"size":[2.0,3.0,15.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false},{"origin":[-0.5,10.5,-25.65],"size":[1.0,2.0,10.0],"inflate":0.0,"uv":[76.0,31.0],"mirror":false}]},{"name":"bone18","parent":"bone17","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,12.0,-24.65],"size":[2.0,3.0,15.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone68","parent":"base_control","pivot":[0.0,22.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone69","parent":"bone68","pivot":[0.0,4.5,-12.75],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,4.5,-12.75],"size":[2.0,8.0,3.0],"inflate":0.025000000993410747,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone77","parent":"bone68","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone79","parent":"bone77","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone80","parent":"bone79","pivot":[0.0,4.5,-12.75],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,4.5,-12.75],"size":[2.0,8.0,3.0],"inflate":0.025000000993410747,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone81","parent":"bone79","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone82","parent":"bone81","pivot":[0.0,4.5,-12.75],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,4.5,-12.75],"size":[2.0,8.0,3.0],"inflate":0.025000000993410747,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone83","parent":"bone81","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone84","parent":"bone83","pivot":[0.0,4.5,-12.75],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,4.5,-12.75],"size":[2.0,8.0,3.0],"inflate":0.025000000993410747,"uv":[49.0,0.0],"mirror":false},{"origin":[-0.5,4.5,-14.15],"size":[1.0,7.0,3.0],"inflate":0.025000000993410747,"uv":[0.0,92.0],"mirror":false}]},{"name":"bone85","parent":"bone83","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone86","parent":"bone85","pivot":[0.0,4.5,-12.75],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,4.5,-12.75],"size":[2.0,8.0,3.0],"inflate":0.025000000993410747,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone78","parent":"bone77","pivot":[0.0,4.5,-12.75],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,4.5,-12.75],"size":[2.0,8.0,3.0],"inflate":0.025000000993410747,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone55","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone57","parent":"bone55","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone59","parent":"bone57","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone60","parent":"bone59","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,14.0],"inflate":0.0,"uv":[23.0,34.0],"mirror":false}]},{"name":"bone61","parent":"bone59","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone62","parent":"bone61","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,14.0],"inflate":0.0,"uv":[23.0,34.0],"mirror":false}]},{"name":"bone63","parent":"bone61","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone64","parent":"bone63","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,14.0],"inflate":0.0,"uv":[23.0,34.0],"mirror":false}]},{"name":"bone65","parent":"bone63","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone66","parent":"bone65","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,14.0],"inflate":0.0,"uv":[23.0,34.0],"mirror":false}]},{"name":"bone58","parent":"bone57","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,14.0],"inflate":0.0,"uv":[23.0,34.0],"mirror":false}]},{"name":"bone56","parent":"bone55","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,14.0,-20.3],"size":[19.0,1.0,14.0],"inflate":0.0,"uv":[23.0,34.0],"mirror":false}]},{"name":"bone67","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,-0.0,-12.75],"size":[4.0,15.0,3.0],"inflate":0.0,"uv":[106.0,31.0],"mirror":false}]},{"name":"bone72","parent":"bone67","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-12.75],"size":[4.0,15.0,3.0],"inflate":0.0,"uv":[106.0,31.0],"mirror":false}]},{"name":"bone73","parent":"bone72","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-12.75],"size":[4.0,15.0,3.0],"inflate":0.0,"uv":[106.0,31.0],"mirror":false}]},{"name":"bone74","parent":"bone73","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-12.75],"size":[4.0,15.0,3.0],"inflate":0.0,"uv":[106.0,31.0],"mirror":false}]},{"name":"bone75","parent":"bone74","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-12.75],"size":[4.0,15.0,3.0],"inflate":0.0,"uv":[106.0,31.0],"mirror":false}]},{"name":"bone76","parent":"bone75","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-12.75],"size":[4.0,15.0,3.0],"inflate":0.0,"uv":[106.0,31.0],"mirror":false}]},{"name":"bone70","parent":"base_control","pivot":[0.0,23.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone71","parent":"bone70","pivot":[0.0,5.5,-12.75],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-1.0,-3.5,-12.75],"size":[2.0,9.0,5.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.0,-1.5,-12.725],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[89.0,31.0],"mirror":false}]},{"name":"bone87","parent":"bone70","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone88","parent":"bone87","pivot":[0.0,5.5,-12.75],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-1.0,-3.5,-12.75],"size":[2.0,9.0,5.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.0,-1.5,-12.725],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[89.0,31.0],"mirror":false}]},{"name":"bone89","parent":"bone87","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone90","parent":"bone89","pivot":[0.0,5.5,-12.75],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-1.0,-3.5,-12.75],"size":[2.0,9.0,5.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.0,-1.5,-12.725],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[89.0,31.0],"mirror":false}]},{"name":"bone91","parent":"bone89","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone93","parent":"bone91","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone94","parent":"bone93","pivot":[0.0,5.5,-12.75],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-1.0,-3.5,-12.75],"size":[2.0,9.0,5.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-0.5,-0.75,-13.75],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[101.0,0.0],"mirror":false},{"origin":[-2.0,-1.5,-12.725],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[89.0,31.0],"mirror":false}]},{"name":"bone95","parent":"bone93","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone96","parent":"bone95","pivot":[0.0,5.5,-12.75],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-1.0,-3.5,-12.75],"size":[2.0,9.0,5.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.0,-1.5,-12.725],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[89.0,31.0],"mirror":false}]},{"name":"bone92","parent":"bone91","pivot":[0.0,5.5,-12.75],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-1.0,-3.5,-12.75],"size":[2.0,9.0,5.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.0,-1.5,-12.725],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[89.0,31.0],"mirror":false}]},{"name":"bone115","parent":"base_control","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-9.5,13.05,-20.15],"size":[19.0,1.0,13.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone116","parent":"bone115","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.05,-20.15],"size":[19.0,1.0,13.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone117","parent":"bone116","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.05,-20.15],"size":[19.0,1.0,13.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone118","parent":"bone117","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.05,-20.15],"size":[19.0,1.0,13.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone119","parent":"bone118","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.05,-20.15],"size":[19.0,1.0,13.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone120","parent":"bone119","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.05,-20.15],"size":[19.0,1.0,13.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"bone109","parent":"base_control","pivot":[0.0,12.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,-0.0,-11.75],"size":[5.0,15.0,3.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone110","parent":"bone109","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,-0.0,-11.75],"size":[5.0,15.0,3.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone111","parent":"bone110","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,-0.0,-11.75],"size":[5.0,15.0,3.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone112","parent":"bone111","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,-0.0,-11.75],"size":[5.0,15.0,3.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone113","parent":"bone112","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,-0.0,-11.75],"size":[5.0,15.0,3.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone114","parent":"bone113","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,-0.0,-11.75],"size":[5.0,15.0,3.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"rotor_purple","pivot":[0.0,38.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r1","parent":"rotor_purple","pivot":[0.0,38.0,0.0],"rotation":[0.0,-45.00010370507663,125.00220166098978],"cubes":[{"origin":[-8.0,30.0,-8.0],"size":[16.0,16.0,16.0],"inflate":0.0,"uv":[0.0,224.0],"mirror":false},{"origin":[-8.0,30.0,-8.0],"size":[16.0,16.0,16.0],"inflate":-0.009999999776482582,"uv":[64.0,224.0],"mirror":false}]},{"name":"bone239","parent":"rotor_purple","pivot":[0.0,38.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,34.0,-4.0],"size":[8.0,8.0,8.0],"inflate":-0.5,"uv":[130.0,240.0],"mirror":false}]},{"name":"cube_r4","parent":"bone239","pivot":[0.0,38.0,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-4.0,34.0,-4.0],"size":[8.0,8.0,8.0],"inflate":-0.5,"uv":[130.0,240.0],"mirror":false}]},{"name":"cube_r2","parent":"bone239","pivot":[0.0,38.0,0.0],"rotation":[-45.00010370507663,0.0,0.0],"cubes":[{"origin":[-4.0,34.0,-4.0],"size":[8.0,8.0,8.0],"inflate":-0.5,"uv":[130.0,240.0],"mirror":false}]},{"name":"cube_r3","parent":"bone239","pivot":[0.0,38.0,0.0],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-4.0,34.0,-4.0],"size":[8.0,8.0,8.0],"inflate":-0.5,"uv":[130.0,240.0],"mirror":false}]},{"name":"controls","pivot":[0.0,-3.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"south_left","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,150.00035251377795,0.0],"cubes":[]},{"name":"bone195","parent":"south_left","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,18.1,-19.05],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[128.0,67.0],"mirror":false},{"origin":[-3.0,14.5,-24.05],"size":[6.0,3.0,4.0],"inflate":0.0,"uv":[91.0,118.0],"mirror":false},{"origin":[-2.0,14.6,-23.05],"size":[4.0,3.0,2.0],"inflate":0.0,"uv":[29.0,81.0],"mirror":false}]},{"name":"small_valve5_control_x","parent":"bone195","pivot":[-2.25,18.55,-22.3],"rotation":[0.0,-20.00195626738305,0.0],"cubes":[{"origin":[-3.5,17.55,-23.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":false},{"origin":[-2.75,16.775,-22.8],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":false}]},{"name":"bone197","parent":"bone195","pivot":[0.0,17.6,-18.05],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-4.0,17.1,-22.05],"size":[8.0,1.0,8.0],"inflate":0.0,"uv":[101.0,0.0],"mirror":false}]},{"name":"small_valve7_control_y","parent":"bone195","pivot":[0.0,18.55,-22.3],"rotation":[0.0,20.00195626738305,0.0],"cubes":[{"origin":[-0.75,17.55,-23.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":true},{"origin":[-0.5,16.775,-22.8],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":false}]},{"name":"small_valve6_control_z","parent":"bone195","pivot":[2.25,18.55,-22.3],"rotation":[0.0,20.00195626738305,0.0],"cubes":[{"origin":[1.5,17.55,-23.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":true},{"origin":[1.75,16.775,-22.8],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":true}]},{"name":"lever2_control","parent":"bone195","pivot":[0.0,19.1,-18.05],"rotation":[0.0,-50.002025404100806,0.0],"cubes":[{"origin":[-0.5,18.6,-18.55],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[65.0,31.0],"mirror":false}]},{"name":"bone191","parent":"south_left","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-13.799999],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[17.0,105.0],"mirror":false}]},{"name":"bone194","parent":"bone191","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":true}]},{"name":"bone229","parent":"bone191","pivot":[0.0,18.5,-11.799999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,16.5,-12.299999],"size":[1.0,4.0,1.0],"inflate":0.0,"uv":[91.0,82.0],"mirror":false}]},{"name":"bone190","parent":"bone191","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-8.0,14.6,-15.549999],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[64.0,127.0],"mirror":false}]},{"name":"switch4_control_increment2","parent":"bone190","pivot":[-7.0,15.6,-13.799999],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone194_r1","parent":"switch4_control_increment2","pivot":[-7.0,15.6,-13.799999],"rotation":[0.0,0.0,39.99818200605246],"cubes":[{"origin":[-7.0,15.35,-15.799999],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[77.0,128.0],"mirror":false}]},{"name":"bone193","parent":"bone191","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"east","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[]},{"name":"bone184","parent":"east","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-3.25,17.5,-18.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,118.0],"mirror":false},{"origin":[-3.75,17.1,-24.55],"size":[7.0,1.0,11.0],"inflate":0.0,"uv":[0.0,92.0],"mirror":false},{"origin":[1.25,17.5,-18.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,118.0],"mirror":true},{"origin":[-3.0,14.5,-24.05],"size":[6.0,3.0,4.0],"inflate":0.0,"uv":[91.0,118.0],"mirror":false}]},{"name":"bone234","parent":"bone184","pivot":[2.25,18.1,-18.05],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[2.0,17.6,-18.3],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[86.0,132.0],"mirror":false}]},{"name":"bone233","parent":"bone184","pivot":[-2.25,18.1,-18.05],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,17.6,-18.3],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[86.0,132.0],"mirror":false}]},{"name":"bone185","parent":"east","pivot":[-0.5,26.5,-9.3],"rotation":[0.0,-27.50197355156249,0.0],"cubes":[{"origin":[-2.0,24.0,-9.8],"size":[3.0,5.0,1.0],"inflate":0.0,"uv":[70.0,108.0],"mirror":false}]},{"name":"spinnything_control","parent":"bone185","pivot":[-0.75,27.0,-9.8],"rotation":[-42.50200982746866,0.0,0.0],"cubes":[{"origin":[-2.0,25.0,-9.8],"size":[2.0,4.0,1.0],"inflate":0.0,"uv":[86.0,54.0],"mirror":false}]},{"name":"bone180","parent":"east","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.5,15.0,-11.799999],"size":[5.0,4.0,1.0],"inflate":0.0,"uv":[65.0,23.0],"mirror":false},{"origin":[4.5,14.5,-19.8],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[128.0,115.0],"mirror":false},{"origin":[-3.5,15.0,-14.799999],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[108.0,118.0],"mirror":false},{"origin":[-0.5,14.25,-17.8],"size":[1.0,2.0,4.0],"inflate":0.0,"uv":[42.0,103.0],"mirror":false},{"origin":[-0.75,15.35,-15.299999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[105.0,111.0],"mirror":false},{"origin":[1.5,15.0,-14.799999],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[108.0,118.0],"mirror":true}]},{"name":"switch5_control","parent":"bone180","pivot":[-2.5,16.0,-13.799999],"rotation":[-27.50197355156249,0.0,0.0],"cubes":[{"origin":[-3.0,15.5,-13.799999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[73.0,15.0],"mirror":false}]},{"name":"bone183","parent":"bone180","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":true}]},{"name":"switch6_control","parent":"bone180","pivot":[2.5,16.0,-13.799999],"rotation":[-27.50197355156249,0.0,0.0],"cubes":[{"origin":[2.0,15.5,-13.799999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[73.0,15.0],"mirror":false}]},{"name":"bone232","parent":"bone180","pivot":[0.0,18.5,-11.299999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,18.0,-11.799999],"size":[3.0,1.0,1.0],"inflate":-0.025000000993410747,"uv":[123.0,103.0],"mirror":false}]},{"name":"large_lever4_control_door_toggle","parent":"bone180","pivot":[5.5,15.5,-18.05],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[5.25,15.0,-22.55],"size":[1.0,2.0,5.0],"inflate":0.0,"uv":[65.0,15.0],"mirror":false},{"origin":[4.75,15.0,-22.55],"size":[1.0,2.0,5.0],"inflate":0.0,"uv":[65.0,15.0],"mirror":true},{"origin":[5.0,17.0,-17.55],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[30.0,105.0],"mirror":false}]},{"name":"large_valve3_control","parent":"bone180","pivot":[-10.0,16.0,-21.0],"rotation":[-9.998113723108352,-65.00206338755427,0.0],"cubes":[]},{"name":"bone226","parent":"large_valve3_control","pivot":[-10.5,16.0,-20.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-12.0,14.5,-21.25],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[0.0,132.0],"mirror":false}]},{"name":"bone182","parent":"bone180","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"north_right_side","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"bone137","parent":"north_right_side","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.0,16.5,-21.3],"size":[2.0,1.0,11.0],"inflate":0.0,"uv":[105.0,95.0],"mirror":false}]},{"name":"binocular_control","parent":"bone137","pivot":[0.0,22.0,-10.299999],"rotation":[0.0,-32.498166429420316,0.0],"cubes":[{"origin":[-1.5,21.0,-11.299999],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[105.0,101.0],"mirror":false}]},{"name":"bone227","parent":"binocular_control","pivot":[0.0,-0.0,9.536743E-7],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone138","parent":"binocular_control","pivot":[0.0,23.0,-10.299999],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone228","parent":"bone138","pivot":[0.0,23.0,-10.299999],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-2.0,22.0,-12.299999],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[23.0,44.0],"mirror":false}]},{"name":"bone138_r1","parent":"bone228","pivot":[-0.5,23.0,-10.799999],"rotation":[-45.00010370507663,0.0,0.0],"cubes":[{"origin":[-1.0,22.0,-11.799999],"size":[1.0,2.0,2.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"bone137_r1","parent":"bone137","pivot":[1.0,17.5,-15.299999],"rotation":[0.0,0.0,7.500017284179439],"cubes":[{"origin":[1.0,16.5,-19.3],"size":[3.0,1.0,4.0],"inflate":0.0,"uv":[87.0,126.0],"mirror":false}]},{"name":"north_left_side","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,24.5,-13.05],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[121.0,91.0],"mirror":false},{"origin":[-2.25,25.5,-10.8],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[105.0,108.0],"mirror":false},{"origin":[0.25,25.5,-10.8],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[105.0,108.0],"mirror":false}]},{"name":"bone154","parent":"north_left_side","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.75,17.25,-21.3],"size":[2.0,1.0,11.0],"inflate":0.0,"uv":[105.0,95.0],"mirror":false},{"origin":[-1.75,16.5,-23.8],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[99.0,95.0],"mirror":false},{"origin":[0.75,17.0,-19.3],"size":[1.0,1.0,5.0],"inflate":0.0,"uv":[126.0,19.0],"mirror":false}]},{"name":"bone157","parent":"bone154","pivot":[1.25,18.0,-16.8],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[0.5,17.75,-16.8],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[14.0,34.0],"mirror":false}]},{"name":"bone156","parent":"bone154","pivot":[1.25,18.0,-18.8],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[0.5,17.75,-18.8],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[14.0,34.0],"mirror":false}]},{"name":"bone158","parent":"bone154","pivot":[1.25,18.0,-14.799999],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[0.5,17.75,-14.799999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[14.0,34.0],"mirror":false}]},{"name":"large_lever_control_throttle","parent":"north_left_side","pivot":[0.0,26.5,-10.8],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-2.75,25.5,-15.8],"size":[1.0,2.0,6.0],"inflate":0.0,"uv":[0.0,123.0],"mirror":false},{"origin":[0.75,25.5,-15.8],"size":[1.0,2.0,6.0],"inflate":0.0,"uv":[0.0,123.0],"mirror":false},{"origin":[-2.25,26.5,-16.55],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[90.0,44.0],"mirror":false},{"origin":[1.25,26.5,-16.55],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[90.0,44.0],"mirror":false},{"origin":[-1.5,26.5,-16.55],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[100.0,31.0],"mirror":false}]},{"name":"south_left_side","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[{"origin":[-2.5,24.5,-13.05],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[121.0,91.0],"mirror":false},{"origin":[-2.25,25.5,-10.8],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[105.0,108.0],"mirror":false},{"origin":[0.25,25.5,-10.8],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[105.0,108.0],"mirror":false}]},{"name":"large_lever3_control","parent":"south_left_side","pivot":[0.0,26.5,-10.8],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-2.75,25.5,-15.8],"size":[1.0,2.0,6.0],"inflate":0.0,"uv":[0.0,123.0],"mirror":false},{"origin":[0.75,25.5,-15.8],"size":[1.0,2.0,6.0],"inflate":0.0,"uv":[0.0,123.0],"mirror":false},{"origin":[-2.25,26.5,-16.55],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[90.0,44.0],"mirror":false},{"origin":[1.25,26.5,-16.55],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[90.0,44.0],"mirror":false},{"origin":[-1.5,26.5,-16.55],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[100.0,31.0],"mirror":false}]},{"name":"bone167","parent":"south_left_side","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.0,17.25,-21.3],"size":[2.0,1.0,11.0],"inflate":0.0,"uv":[105.0,95.0],"mirror":false}]},{"name":"bone188","parent":"bone167","pivot":[0.0,17.75,-16.8],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,16.75,-20.3],"size":[3.0,2.0,7.0],"inflate":0.0,"uv":[105.0,108.0],"mirror":false}]},{"name":"south_right","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,-150.00035251377795,0.0],"cubes":[]},{"name":"bone173","parent":"south_right","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-3.25,17.85,-19.55],"size":[2.0,1.0,2.0],"inflate":-0.25,"uv":[86.0,118.0],"mirror":false},{"origin":[-1.0,18.1,-20.05],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[128.0,67.0],"mirror":false},{"origin":[1.25,17.85,-19.55],"size":[2.0,1.0,2.0],"inflate":-0.25,"uv":[86.0,118.0],"mirror":true},{"origin":[-1.0,17.85,-17.55],"size":[2.0,1.0,2.0],"inflate":-0.25,"uv":[86.0,118.0],"mirror":false},{"origin":[-2.0,17.85,-15.3],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[23.0,50.0],"mirror":false},{"origin":[-1.0,18.85,-14.8],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[121.0,51.0],"mirror":false}]},{"name":"large_valve2_control_rotate","parent":"bone173","pivot":[0.0,18.85,-19.05],"rotation":[0.0,-24.998149145240877,0.0],"cubes":[{"origin":[-1.75,18.35,-20.3],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[65.0,103.0],"mirror":false}]},{"name":"bone175","parent":"bone173","pivot":[0.0,17.6,-18.05],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-4.0,17.1,-22.05],"size":[8.0,1.0,8.0],"inflate":0.0,"uv":[101.0,0.0],"mirror":false}]},{"name":"bone168","parent":"south_right","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.5,15.0,-11.799999],"size":[5.0,4.0,1.0],"inflate":0.0,"uv":[65.0,23.0],"mirror":false}]},{"name":"bone172","parent":"bone168","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":true}]},{"name":"bone231","parent":"bone168","pivot":[0.0,18.5,-11.299999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,18.0,-11.799999],"size":[3.0,1.0,1.0],"inflate":-0.025000000993410747,"uv":[123.0,103.0],"mirror":false}]},{"name":"bone189","parent":"bone168","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-8.0,14.6,-15.549999],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[64.0,127.0],"mirror":false}]},{"name":"switch3_control2","parent":"bone189","pivot":[-7.0,15.6,-13.799999],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone171_r1","parent":"switch3_control2","pivot":[-7.0,15.6,-13.799999],"rotation":[0.0,0.0,39.99818200605246],"cubes":[{"origin":[-7.0,15.35,-15.799999],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[77.0,128.0],"mirror":false}]},{"name":"bone170","parent":"bone168","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"south","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"monitor_control","parent":"south","pivot":[0.0,18.5,-18.3],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,20.75,-27.3],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[150.0,96.0],"mirror":false},{"origin":[-1.0,17.75,-26.3],"size":[1.0,3.0,8.0],"inflate":0.0,"uv":[134.0,79.0],"mirror":false}]},{"name":"bone237","parent":"monitor_control","pivot":[-2.5,23.25,-22.3],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,22.25,-25.8],"size":[1.0,7.0,7.0],"inflate":2.0,"uv":[143.0,91.0],"mirror":false}]},{"name":"bone176","parent":"south","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.0,17.25,-21.3],"size":[2.0,1.0,11.0],"inflate":0.0,"uv":[105.0,95.0],"mirror":false},{"origin":[-1.5,20.9,-11.299999],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[36.0,50.0],"mirror":false}]},{"name":"large_lever2_control","parent":"bone176","pivot":[-1.75,21.9,-10.299999],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.6,21.4,-10.799999],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[24.0,131.0],"mirror":false},{"origin":[0.5999999,21.4,-10.799999],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"south_right_side","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone178","parent":"south_right_side","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.0,16.75,-25.05],"size":[2.0,1.0,11.0],"inflate":0.0,"uv":[105.0,95.0],"mirror":false},{"origin":[-1.0,20.4,-11.299999],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[17.0,114.0],"mirror":false}]},{"name":"bone179","parent":"bone178","pivot":[-0.25,22.45,-9.924999],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[-0.5,22.400002,-10.299999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,0.0],"mirror":false},{"origin":[-0.5,24.400002,-10.299999],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[70.0,115.0],"mirror":false},{"origin":[2.5,17.400002,-10.299999],"size":[1.0,8.0,1.0],"inflate":0.0,"uv":[26.0,87.0],"mirror":false},{"origin":[2.5,17.400002,-9.299999],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[50.0,50.0],"mirror":false}]},{"name":"north_right","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,30.000069136717755,0.0],"cubes":[{"origin":[-4.5,23.5,-10.3],"size":[9.0,3.0,1.0],"inflate":0.0,"uv":[0.0,87.0],"mirror":false}]},{"name":"bone134","parent":"north_right","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.5,15.0,-12.299999],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[128.0,61.0],"mirror":false},{"origin":[5.5,15.0,-19.3],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[6.0,92.0],"mirror":false},{"origin":[-4.5,14.5,-15.299999],"size":[9.0,2.0,2.0],"inflate":0.025000000993410747,"uv":[68.0,82.0],"mirror":false}]},{"name":"bone146","parent":"bone134","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"bone136","parent":"bone134","pivot":[-7.5,16.0,-19.3],"rotation":[0.0,9.998113723108352,0.0],"cubes":[{"origin":[-8.5,15.0,-21.3],"size":[2.0,2.0,4.0],"inflate":0.0,"uv":[51.0,127.0],"mirror":false}]},{"name":"large_valve_control","parent":"bone136","pivot":[-7.5,16.0,-21.0],"rotation":[0.0,0.0,-39.99818200605246],"cubes":[{"origin":[-9.0,14.5,-21.5],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[0.0,132.0],"mirror":false}]},{"name":"lever_control","parent":"bone134","pivot":[6.0,15.525,-18.8],"rotation":[0.0,67.50015726516224,0.0],"cubes":[{"origin":[3.5,15.025,-19.55],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[80.0,87.0],"mirror":false}]},{"name":"bone147","parent":"bone134","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":true}]},{"name":"button_control","parent":"bone134","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,16.5,-11.3],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[91.0,75.0],"mirror":false}]},{"name":"bone139","parent":"north_right","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[0.5,17.375,-17.8],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":false},{"origin":[0.5,17.375,-19.8],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":false},{"origin":[-2.0,17.5,-20.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,118.0],"mirror":false},{"origin":[-2.0,17.5,-18.3],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,118.0],"mirror":false}]},{"name":"bone140","parent":"bone139","pivot":[0.0,17.6,-18.05],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-4.0,17.1,-22.05],"size":[8.0,1.0,8.0],"inflate":0.0,"uv":[101.0,0.0],"mirror":false}]},{"name":"bone236","parent":"bone139","pivot":[-1.0,18.1,-20.05],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.25,17.6,-20.3],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[86.0,132.0],"mirror":false}]},{"name":"small_valve2_control","parent":"bone139","pivot":[1.0,19.15,-19.3],"rotation":[0.0,-77.49827013449695,0.0],"cubes":[{"origin":[-0.25,18.15,-20.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":false}]},{"name":"bone235","parent":"bone139","pivot":[-1.0,18.1,-17.8],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.25,17.6,-18.05],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[86.0,132.0],"mirror":false}]},{"name":"small_valve_control","parent":"bone139","pivot":[1.0,19.15,-17.3],"rotation":[0.0,-42.50200982746866,0.0],"cubes":[{"origin":[-0.25,18.15,-18.55],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":false}]},{"name":"west","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-4.5,23.5,-10.3],"size":[9.0,3.0,1.0],"inflate":0.0,"uv":[0.0,87.0],"mirror":false}]},{"name":"bone164","parent":"west","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-2.5,17.6,-20.55],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[118.0,26.0],"mirror":false},{"origin":[2.75,17.85,-17.55],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[57.0,0.0],"mirror":false},{"origin":[-3.75,17.85,-17.55],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[57.0,0.0],"mirror":true},{"origin":[-2.0,18.1,-20.55],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[43.0,60.0],"mirror":false}]},{"name":"bone166","parent":"bone164","pivot":[0.0,14.636101,-21.6805],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-1.5,14.6301,-23.8474],"size":[3.0,3.0,5.0],"inflate":0.0,"uv":[121.0,33.0],"mirror":false}]},{"name":"switch2_control","parent":"bone166","pivot":[0.0,17.3801,-19.8474],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,16.8801,-20.3474],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[101.0,10.0],"mirror":false}]},{"name":"exterior_control","parent":"west","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.0,22.0,-14.4],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[133.0,103.0],"mirror":false},{"origin":[1.0,23.75,-14.4],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[140.0,111.0],"mirror":false}]},{"name":"bone159","parent":"west","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-12.299999],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[76.0,44.0],"mirror":false},{"origin":[-7.0,14.5,-19.3],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[99.0,129.0],"mirror":false},{"origin":[-6.5,14.875,-19.3],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":false},{"origin":[-6.5,14.875,-17.3],"size":[1.0,2.0,1.0],"inflate":-0.25,"uv":[21.0,87.0],"mirror":false},{"origin":[-4.5,14.5,-15.299999],"size":[9.0,2.0,2.0],"inflate":0.025000000993410747,"uv":[68.0,82.0],"mirror":false}]},{"name":"bone162","parent":"bone159","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"small_valve4_control","parent":"bone159","pivot":[-6.0,16.65,-18.8],"rotation":[0.0,-20.00195626738305,0.0],"cubes":[{"origin":[-7.25,15.65,-20.05],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":false}]},{"name":"bone163","parent":"bone159","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":true}]},{"name":"small_valve3_control","parent":"bone159","pivot":[-6.0,16.65,-16.8],"rotation":[0.0,-42.50200982746866,0.0],"cubes":[{"origin":[-7.25,15.65,-18.05],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[127.0,15.0],"mirror":false}]},{"name":"bone159_r1","parent":"bone159","pivot":[-1.25,16.0,-11.549999],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-1.75,16.0,-11.549999],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[42.0,110.0],"mirror":false}]},{"name":"north_left","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-5.5,23.5,-10.3],"size":[9.0,3.0,1.0],"inflate":0.0,"uv":[114.0,10.0],"mirror":false},{"origin":[-2.75,22.5,-15.3],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[121.0,97.0],"mirror":false}]},{"name":"bone230","parent":"north_left","pivot":[-0.2455,22.5903,-14.5363],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.75,22.5,-15.299999],"size":[3.0,1.0,1.0],"inflate":-0.025000000993410747,"uv":[123.0,103.0],"mirror":false}]},{"name":"bone152","parent":"north_left","pivot":[0.0,18.0,-12.3],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.5,17.975,-20.3],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[108.0,24.0],"mirror":false}]},{"name":"control_random","parent":"bone152","pivot":[0.0,18.975,-18.8],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.0,18.475,-19.8],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[132.0,83.0],"mirror":false}]},{"name":"bone148","parent":"bone152","pivot":[0.0,17.6,-18.05],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-4.0,17.1,-22.05],"size":[8.0,1.0,8.0],"inflate":0.0,"uv":[101.0,0.0],"mirror":false}]},{"name":"bone135","parent":"north_left","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-2.0,14.5,-15.299999],"size":[4.0,1.0,5.0],"inflate":0.0,"uv":[119.0,108.0],"mirror":false},{"origin":[-2.75,14.6,-15.049999],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[112.0,118.0],"mirror":false},{"origin":[0.75,15.1,-13.549999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[89.0,44.0],"mirror":false}]},{"name":"bone151","parent":"bone135","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":true}]},{"name":"bone150","parent":"bone135","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,14.1,-15.549999],"size":[10.0,1.0,7.0],"inflate":0.0,"uv":[100.0,64.0],"mirror":false}]},{"name":"bone192","parent":"bone135","pivot":[0.0,14.6,-14.549999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-8.0,14.6,-15.549999],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[64.0,127.0],"mirror":false}]},{"name":"switch_control2","parent":"bone192","pivot":[-7.0,15.6,-13.799999],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone151_r1","parent":"switch_control2","pivot":[-7.0,15.6,-13.799999],"rotation":[0.0,0.0,39.99818200605246],"cubes":[{"origin":[-7.0,15.35,-15.799999],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[77.0,128.0],"mirror":false}]},{"name":"north_side","parent":"controls","pivot":[0.0,12.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone144","parent":"north_side","pivot":[0.0,15.0,-20.3],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.0,16.75,-21.3],"size":[2.0,1.0,11.0],"inflate":0.0,"uv":[105.0,95.0],"mirror":false}]},{"name":"bone144_r1","parent":"bone144","pivot":[2.0,18.0,-9.549999],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[0.0,14.5,-13.549999],"size":[1.0,5.0,4.0],"inflate":0.0,"uv":[43.0,50.0],"mirror":false}]},{"name":"microphone_control","parent":"bone144","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.25,21.0,-11.05],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[65.0,15.0],"mirror":false},{"origin":[-1.25,22.5,-11.05],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[49.0,103.0],"mirror":false}]},{"name":"bone144_r2","parent":"microphone_control","pivot":[0.25,23.0,-11.549999],"rotation":[-37.50008812844449,0.0,0.0],"cubes":[{"origin":[-0.75,23.0,-12.549999],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[124.0,131.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,20.475,-7.0],"size":[14.0,1.0,14.0],"inflate":1.0,"uv":[0.0,209.0],"mirror":false}]},{"name":"spinninglight","pivot":[0.0,13.75,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,12.25,-22.75],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[88.0,147.0],"mirror":false},{"origin":[-1.0,12.25,20.75],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[84.0,147.0],"mirror":true}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/initiative.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/initiative.json
new file mode 100644
index 00000000..f3be236b
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/initiative.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"initiative","texture_width":256,"texture_height":256},"bones":[{"name":"root","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"controls","parent":"root","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"south_left","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone184","parent":"south_left","pivot":[0.0,16.0,-18.31],"rotation":[50.002025404100806,0.0,0.0],"cubes":[{"origin":[1.0,15.35,-17.31],"size":[5.0,1.0,6.0],"inflate":0.0,"uv":[94.0,1.0],"mirror":false},{"origin":[3.5,15.45,-17.06],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[114.0,30.0],"mirror":false},{"origin":[2.25,15.75,-13.809999],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false},{"origin":[2.25,15.75,-16.81],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false},{"origin":[-1.75,15.75,-16.81],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[49.0,106.0],"mirror":false},{"origin":[-4.75,16.25,-16.06],"size":[2.0,2.0,3.0],"inflate":0.0,"uv":[112.0,14.0],"mirror":false},{"origin":[-1.75,15.75,-13.809999],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[49.0,106.0],"mirror":false}]},{"name":"bone188","parent":"bone184","pivot":[2.75,16.75,-12.809999],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[2.0,16.25,-12.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[73.0,83.0],"mirror":false}]},{"name":"bone114_r2","parent":"bone184","pivot":[-3.75,17.75,-14.559999],"rotation":[-42.50200982746866,0.0,0.0],"cubes":[{"origin":[-5.25,17.75,-15.059999],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[73.0,36.0],"mirror":false}]},{"name":"bone189","parent":"bone184","pivot":[2.75,16.75,-15.809999],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[2.0,16.25,-15.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[73.0,83.0],"mirror":false}]},{"name":"bone229","parent":"bone184","pivot":[4.5,15.924999,-15.559999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.5,15.424999,-17.06],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[122.0,32.0],"mirror":false}]},{"name":"south","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-2.5,23.925,-10.56],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[77.0,59.0],"mirror":false},{"origin":[-2.5,20.95,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[109.0,96.0],"mirror":true}]},{"name":"bone179","parent":"south","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone180","parent":"bone179","pivot":[0.0,20.2,-11.41],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-3.0,20.262701,-14.4855995],"size":[6.0,2.0,2.0],"inflate":0.0,"uv":[108.0,44.0],"mirror":false},{"origin":[-1.0,19.762701,-18.4856],"size":[2.0,2.0,3.0],"inflate":0.0,"uv":[91.0,59.0],"mirror":false},{"origin":[1.5,19.362701,-18.4856],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[53.0,110.0],"mirror":false},{"origin":[-5.5,19.362701,-18.4856],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[53.0,110.0],"mirror":true},{"origin":[-4.75,19.4627,-18.7356],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[0.0,7.0],"mirror":true},{"origin":[-4.75,20.2127,-15.9855995],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":true},{"origin":[-4.75,20.2127,-16.9856],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":true},{"origin":[-4.75,20.2127,-17.9856],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":true},{"origin":[2.75,20.2127,-17.9856],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false},{"origin":[2.75,20.2127,-16.9856],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false},{"origin":[2.75,20.2127,-15.9855995],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false},{"origin":[2.75,19.4627,-18.7356],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[0.0,7.0],"mirror":false}]},{"name":"bone221","parent":"bone180","pivot":[2.5,27.7627,-13.5106],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.75,23.7627,-13.5106],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[114.0,84.0],"mirror":false}]},{"name":"bone220","parent":"bone180","pivot":[0.5,26.2627,-13.5106],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.25,23.2627,-13.5106],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[110.0,84.0],"mirror":false}]},{"name":"bone178","parent":"bone180","pivot":[0.0,21.2627,-17.2356],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.1,21.0127,-17.4856],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[50.0,81.0],"mirror":true},{"origin":[0.1,21.0127,-17.4856],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[50.0,81.0],"mirror":false}]},{"name":"bone222","parent":"bone180","pivot":[0.0,22.2627,-13.4855995],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,22.2627,-13.4855995],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[109.0,87.0],"mirror":false}]},{"name":"bone219","parent":"bone180","pivot":[-1.25,27.2627,-13.2606],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,24.2627,-13.2606],"size":[1.0,1.0,1.0],"inflate":0.25,"uv":[110.0,84.0],"mirror":false}]},{"name":"bone208","parent":"south","pivot":[0.0,24.425,-9.56],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,23.425,-11.56],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[32.0,65.0],"mirror":false}]},{"name":"bone207","parent":"bone208","pivot":[-0.5,23.8623,-8.4594],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,24.425001,-11.535],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[51.0,85.0],"mirror":false}]},{"name":"south_right","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[{"origin":[-2.5,20.95,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[109.0,96.0],"mirror":true}]},{"name":"bone186","parent":"south_right","pivot":[0.0,25.2627,-9.4856],"rotation":[105.00024539360673,0.0,0.0],"cubes":[{"origin":[-3.0,24.7627,-11.4856],"size":[6.0,2.0,2.0],"inflate":0.0,"uv":[108.0,44.0],"mirror":false}]},{"name":"bone230","parent":"bone186","pivot":[0.0,27.237701,-10.4856],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,25.737701,-10.9856],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[125.0,46.0],"mirror":false}]},{"name":"bone223","parent":"bone186","pivot":[0.0,27.0127,-10.4856],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-3.0,26.7627,-10.4856],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[109.0,87.0],"mirror":false}]},{"name":"bone225","parent":"bone223","pivot":[-2.75,32.5127,-10.535601],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.25,28.5127,-10.510601],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[114.0,84.0],"mirror":false},{"origin":[-0.25,28.2627,-10.510601],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[114.0,84.0],"mirror":false}]},{"name":"bone224","parent":"bone223","pivot":[0.75,32.5127,-10.535601],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.25,28.5127,-10.510601],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[114.0,84.0],"mirror":false}]},{"name":"bone182","parent":"south_right","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,15.35,-17.31],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[11.0,105.0],"mirror":false},{"origin":[1.0,15.35,-17.31],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[104.0,73.0],"mirror":false},{"origin":[-0.75,15.35,-17.06],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[49.0,20.0],"mirror":false},{"origin":[1.25,15.35,-13.059999],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[66.0,114.0],"mirror":true},{"origin":[-4.25,15.35,-13.059999],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[66.0,114.0],"mirror":false},{"origin":[-0.5,16.25,-14.809999],"size":[1.0,2.0,3.0],"inflate":0.0,"uv":[49.0,14.0],"mirror":false},{"origin":[-2.5,14.85,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[108.0,102.0],"mirror":false}]},{"name":"bone183","parent":"bone182","pivot":[3.0,16.35,-15.309999],"rotation":[-9.998113723108352,-5.001921699024173,0.0],"cubes":[{"origin":[1.5,14.85,-16.81],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[70.0,107.0],"mirror":false},{"origin":[1.5,14.85,-16.81],"size":[3.0,3.0,3.0],"inflate":-0.25,"uv":[25.0,108.0],"mirror":false}]},{"name":"bone185","parent":"bone182","pivot":[0.5,18.0,-13.309999],"rotation":[-37.50008812844449,0.0,0.0],"cubes":[{"origin":[0.0,17.75,-13.559999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[67.0,48.0],"mirror":false},{"origin":[-0.5,19.75,-13.809999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":true}]},{"name":"bone201","parent":"bone182","pivot":[-3.0,16.35,-15.309999],"rotation":[9.998113723108352,-5.001921699024173,0.0],"cubes":[{"origin":[-4.5,14.85,-16.81],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[70.0,107.0],"mirror":false},{"origin":[-4.5,14.85,-16.81],"size":[3.0,3.0,3.0],"inflate":-0.25,"uv":[25.0,108.0],"mirror":false}]},{"name":"bone234","parent":"bone182","pivot":[-0.75,-0.0,4.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.75,15.325001,-12.559999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[61.0,114.0],"mirror":false}]},{"name":"bone235","parent":"bone182","pivot":[3.75,-0.0,4.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.75,15.325001,-12.559999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[61.0,116.0],"mirror":false}]},{"name":"north","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,22.2,-10.06],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[114.0,92.0],"mirror":false},{"origin":[0.5,21.7,-10.56],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[0.0,85.0],"mirror":false},{"origin":[-1.75,21.7,-10.16],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[74.0,16.0],"mirror":false},{"origin":[-2.5,23.45,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[109.0,96.0],"mirror":false}]},{"name":"bone231","parent":"north","pivot":[-0.75,22.7,-9.635],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.75,21.7,-10.135],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[123.0,38.0],"mirror":false},{"origin":[-0.5,24.45,-9.635],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[125.0,97.0],"mirror":false}]},{"name":"bone190","parent":"north","pivot":[1.0,22.7,-10.56],"rotation":[-22.500051852538316,0.0,0.0],"cubes":[{"origin":[1.0,21.9498,-12.5709],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[16.0,85.0],"mirror":false}]},{"name":"bone181","parent":"north","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[3.5,15.75,-17.31],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[112.0,9.0],"mirror":false},{"origin":[-2.0,16.25,-9.309999],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[113.0,26.0],"mirror":false},{"origin":[-6.5,15.75,-17.31],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[112.0,9.0],"mirror":true},{"origin":[-3.5,15.35,-17.56],"size":[7.0,1.0,2.0],"inflate":0.0,"uv":[63.0,12.0],"mirror":false},{"origin":[-1.5,16.25,-16.81],"size":[3.0,1.0,5.0],"inflate":0.0,"uv":[25.0,101.0],"mirror":false},{"origin":[-2.5,15.35,-16.31],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[0.0,114.0],"mirror":true},{"origin":[-3.75,15.35,-13.809999],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[73.0,69.0],"mirror":true},{"origin":[2.75,15.35,-13.809999],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[73.0,69.0],"mirror":false},{"origin":[1.5,15.35,-16.31],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[0.0,114.0],"mirror":false}]},{"name":"bone191","parent":"bone181","pivot":[0.0,17.0,-15.059999],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-1.0,16.75,-16.31],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone228","parent":"bone181","pivot":[0.0,16.5,-15.809999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,16.0,-16.81],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[77.0,114.0],"mirror":true},{"origin":[4.0,16.0,-16.81],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[77.0,114.0],"mirror":false}]},{"name":"north_right","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"GRUM_core","parent":"north_right","pivot":[0.0,25.25,-11.5],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-2.5,23.071701,-16.0569],"size":[5.0,5.0,5.0],"inflate":0.025000000993410747,"uv":[0.0,85.0],"mirror":false},{"origin":[-2.5,23.071701,-16.0569],"size":[5.0,5.0,5.0],"inflate":0.27500001589457196,"uv":[73.0,83.0],"mirror":false}]},{"name":"bone203","parent":"GRUM_core","pivot":[0.0,25.5717,-16.2069],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,24.0717,-16.2069],"size":[3.0,3.0,1.0],"inflate":0.025000000993410747,"uv":[15.0,118.0],"mirror":false}]},{"name":"bone202","parent":"GRUM_core","pivot":[0.0,26.9967,-16.5319],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.475,26.2467,-16.5319],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[80.0,106.0],"mirror":true},{"origin":[-2.475,26.2467,-16.5319],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[80.0,106.0],"mirror":false}]},{"name":"bone213","parent":"GRUM_core","pivot":[0.0,35.0717,-10.3069],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone176_r1","parent":"bone213","pivot":[0.0,30.571701,-11.5569],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-1.0,28.071701,-13.0569],"size":[2.0,7.0,4.0],"inflate":0.0,"uv":[58.0,48.0],"mirror":false}]},{"name":"bone204","parent":"GRUM_core","pivot":[0.0,27.571701,-15.5569],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-3.0,27.571701,-15.5569],"size":[6.0,2.0,1.0],"inflate":0.0,"uv":[111.0,62.0],"mirror":false}]},{"name":"bone175","parent":"north_right","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-2.0,16.25,-9.309999],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[113.0,26.0],"mirror":false},{"origin":[-5.5,15.75,-16.81],"size":[11.0,1.0,4.0],"inflate":0.0,"uv":[37.0,38.0],"mirror":false},{"origin":[-4.75,15.85,-16.06],"size":[10.0,1.0,3.0],"inflate":0.0,"uv":[77.0,54.0],"mirror":false}]},{"name":"bone216","parent":"bone175","pivot":[0.25,16.325,-15.559999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.75,15.825001,-16.06],"size":[10.0,1.0,1.0],"inflate":0.0,"uv":[115.0,66.0],"mirror":false}]},{"name":"bone218","parent":"bone175","pivot":[0.25,16.85,-13.809999],"rotation":[-27.50197355156249,0.0,0.0],"cubes":[{"origin":[4.0,16.35,-13.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[84.0,28.0],"mirror":false},{"origin":[-0.5,16.35,-13.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[84.0,28.0],"mirror":false}]},{"name":"bone175_r1","parent":"bone175","pivot":[0.25,16.85,-13.809999],"rotation":[-27.50197355156249,0.0,0.0],"cubes":[{"origin":[-5.0,16.35,-13.809999],"size":[10.0,2.0,1.0],"inflate":0.0,"uv":[84.0,25.0],"mirror":false}]},{"name":"bone217","parent":"bone175","pivot":[0.25,16.85,-13.809999],"rotation":[-60.00013827343551,0.0,0.0],"cubes":[{"origin":[-5.0,16.35,-13.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[84.0,28.0],"mirror":false},{"origin":[-2.0,16.35,-13.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[84.0,28.0],"mirror":false},{"origin":[1.0,16.35,-13.809999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[84.0,28.0],"mirror":false}]},{"name":"north_left","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,23.45,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[109.0,96.0],"mirror":false},{"origin":[-2.5,21.95,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[109.0,96.0],"mirror":true}]},{"name":"bone177","parent":"north_left","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-4.0,15.35,-17.31],"size":[8.0,1.0,2.0],"inflate":0.0,"uv":[87.0,44.0],"mirror":false},{"origin":[-4.0,15.35,-12.809999],"size":[8.0,1.0,2.0],"inflate":0.0,"uv":[87.0,44.0],"mirror":false},{"origin":[4.5,15.25,-17.06],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,26.0],"mirror":false},{"origin":[2.0,15.25,-12.309999],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false},{"origin":[-4.0,15.25,-12.309999],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false},{"origin":[-1.0,15.25,-12.309999],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false},{"origin":[-6.5,15.25,-17.06],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,26.0],"mirror":true},{"origin":[-4.5,15.35,-15.059999],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[96.0,113.0],"mirror":false},{"origin":[0.5,15.35,-15.059999],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[96.0,113.0],"mirror":true},{"origin":[-2.5,14.85,-9.66],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[108.0,102.0],"mirror":false}]},{"name":"bone232","parent":"bone177","pivot":[1.5,15.875,-14.059999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,15.375,-14.559999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[91.0,115.0],"mirror":true}]},{"name":"bone233","parent":"bone177","pivot":[-1.5,15.875,-14.059999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,15.375,-14.559999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[91.0,115.0],"mirror":false}]},{"name":"bone214","parent":"bone177","pivot":[1.0,15.875,-16.31],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.5,15.375,-16.81],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[115.0,56.0],"mirror":false}]},{"name":"bone247","parent":"bone177","pivot":[1.0,15.875,-16.31],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.5,15.375,-16.81],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[119.0,56.0],"mirror":false}]},{"name":"bone249","parent":"bone177","pivot":[-1.5,15.875,-14.059999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,15.375,-14.559999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[91.0,117.0],"mirror":false}]},{"name":"bone215","parent":"bone177","pivot":[-4.0,15.85,-15.809999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,15.400001,-16.81],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[115.0,54.0],"mirror":false}]},{"name":"bone248","parent":"bone177","pivot":[-4.0,15.85,-15.809999],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,15.400001,-16.81],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[119.0,54.0],"mirror":false}]},{"name":"bone236","parent":"north_left","pivot":[0.5,-1.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,22.95,-9.635],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[125.0,97.0],"mirror":false},{"origin":[-0.5,24.45,-9.635],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[125.0,95.0],"mirror":false}]},{"name":"monitor","parent":"controls","pivot":[0.0,32.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone168","parent":"monitor","pivot":[0.0,33.931,-7.1464],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.0,30.0,-10.175],"size":[8.0,6.0,1.0],"inflate":0.0,"uv":[90.0,96.0],"mirror":false},{"origin":[-2.5,32.0,-9.175],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[111.0,0.0],"mirror":false}]},{"name":"bone168_r1","parent":"bone168","pivot":[0.0,32.0,-7.675],"rotation":[45.00010370507663,0.0,0.0],"cubes":[{"origin":[-2.5,32.0,-10.675],"size":[5.0,1.0,3.0],"inflate":0.0,"uv":[108.0,49.0],"mirror":false}]},{"name":"rotor_on","parent":"root","pivot":[0.0,39.4,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone244","parent":"rotor_on","pivot":[0.0,39.4,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"rotor_r1","parent":"bone244","pivot":[0.0,39.4,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-2.0,23.400002,-2.0],"size":[4.0,32.0,4.0],"inflate":-0.25,"uv":[140.0,41.0],"mirror":false}]},{"name":"bone238","parent":"bone244","pivot":[0.0,39.4,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,23.400002,-2.0],"size":[4.0,32.0,4.0],"inflate":1.0,"uv":[41.0,44.0],"mirror":false}]},{"name":"bone237","parent":"bone244","pivot":[0.0,39.4,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"rotor_r2","parent":"bone237","pivot":[0.0,39.4,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-2.0,23.400002,-2.0],"size":[4.0,32.0,4.0],"inflate":0.25,"uv":[0.0,48.0],"mirror":false}]},{"name":"baseconsole","parent":"root","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone151","parent":"baseconsole","pivot":[0.0,12.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone198","parent":"bone151","pivot":[0.0,11.924999,-8.06],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone210","parent":"bone198","pivot":[0.0,11.925,-8.06],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,11.175,-18.060001],"size":[19.0,1.0,10.0],"inflate":-0.75,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone152_r2","parent":"bone210","pivot":[0.0,11.925,-8.06],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[5.5,9.6,-17.060001],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[85.0,104.0],"mirror":true},{"origin":[-6.5,9.6,-17.060001],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[85.0,104.0],"mirror":false}]},{"name":"bone211","parent":"bone198","pivot":[0.0,11.925,-14.56],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,8.925,-15.56],"size":[13.0,3.0,2.0],"inflate":0.0,"uv":[77.0,48.0],"mirror":false}]},{"name":"bone153","parent":"baseconsole","pivot":[0.0,23.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"bone154","parent":"bone153","pivot":[0.0,23.25,-8.5],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-2.5,22.925,-12.559999],"size":[5.0,2.0,4.0],"inflate":0.0,"uv":[100.0,55.0],"mirror":false},{"origin":[-3.5,21.925,-13.559999],"size":[7.0,4.0,1.0],"inflate":0.0,"uv":[107.0,79.0],"mirror":false}]},{"name":"bone154_r1","parent":"bone154","pivot":[0.0,16.0,-22.310001],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-13.810001],"size":[7.0,1.0,3.0],"inflate":0.0,"uv":[89.0,83.0],"mirror":false}]},{"name":"bone49","parent":"baseconsole","pivot":[0.0,1.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[0.0,1.5,-11.09],"size":[1.0,12.0,4.0],"inflate":0.0,"uv":[0.0,96.0],"mirror":false}]},{"name":"bone50","parent":"bone49","pivot":[0.0,1.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,1.5,-11.09],"size":[1.0,12.0,4.0],"inflate":0.0,"uv":[0.0,96.0],"mirror":false}]},{"name":"bone51","parent":"bone50","pivot":[0.0,1.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,1.5,-11.09],"size":[1.0,12.0,4.0],"inflate":0.0,"uv":[0.0,96.0],"mirror":false}]},{"name":"bone52","parent":"bone51","pivot":[0.0,1.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,1.5,-11.09],"size":[1.0,12.0,4.0],"inflate":0.0,"uv":[0.0,96.0],"mirror":false}]},{"name":"bone53","parent":"bone52","pivot":[0.0,1.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,1.5,-11.09],"size":[1.0,12.0,4.0],"inflate":0.0,"uv":[0.0,96.0],"mirror":false}]},{"name":"bone54","parent":"bone53","pivot":[0.0,1.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,1.5,-11.09],"size":[1.0,12.0,4.0],"inflate":0.0,"uv":[0.0,96.0],"mirror":false}]},{"name":"bone152","parent":"baseconsole","pivot":[0.0,12.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone206","parent":"bone152","pivot":[0.0,11.924999,-8.06],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone199","parent":"bone206","pivot":[0.0,11.925,-14.56],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,8.925,-15.56],"size":[13.0,3.0,2.0],"inflate":0.0,"uv":[77.0,48.0],"mirror":false}]},{"name":"bone205","parent":"bone206","pivot":[0.0,11.925,-8.06],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,11.175,-18.060001],"size":[19.0,1.0,10.0],"inflate":-0.75,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone152_r1","parent":"bone205","pivot":[0.0,11.925,-8.06],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[5.5,9.6,-17.060001],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[85.0,104.0],"mirror":true},{"origin":[-6.5,9.6,-17.060001],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[85.0,104.0],"mirror":false}]},{"name":"bone155","parent":"baseconsole","pivot":[0.0,12.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone155_r1","parent":"bone155","pivot":[0.0,12.025,-8.06],"rotation":[7.500017284179439,0.0,0.0],"cubes":[{"origin":[5.5,9.7,-17.060001],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[85.0,104.0],"mirror":true},{"origin":[-6.5,9.7,-17.060001],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[85.0,104.0],"mirror":false}]},{"name":"bone155_r2","parent":"bone155","pivot":[0.0,12.025,-8.06],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-9.5,11.275,-18.060001],"size":[19.0,1.0,10.0],"inflate":-0.75,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone200","parent":"bone155","pivot":[0.0,12.025,-14.56],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,9.025,-15.56],"size":[13.0,3.0,2.0],"inflate":0.0,"uv":[77.0,48.0],"mirror":false}]},{"name":"bone133","parent":"baseconsole","pivot":[0.0,23.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,22.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[95.0,9.0],"mirror":false}]},{"name":"bone134","parent":"bone133","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,22.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[95.0,9.0],"mirror":false}]},{"name":"bone135","parent":"bone134","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,22.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[95.0,9.0],"mirror":false}]},{"name":"bone136","parent":"bone135","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,22.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[95.0,9.0],"mirror":false}]},{"name":"bone137","parent":"bone136","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,22.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[95.0,9.0],"mirror":false}]},{"name":"bone138","parent":"bone137","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,22.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[95.0,9.0],"mirror":false}]},{"name":"bone156","parent":"baseconsole","pivot":[0.0,32.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,32.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.0,"uv":[106.0,20.0],"mirror":false}]},{"name":"bone157","parent":"bone156","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,32.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.0,"uv":[123.0,14.0],"mirror":false}]},{"name":"bone246","parent":"bone157","pivot":[-0.25,33.25,-6.775],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.25,32.25,-7.275],"size":[6.0,2.0,1.0],"inflate":0.0,"uv":[127.0,6.0],"mirror":false}]},{"name":"bone158","parent":"bone157","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,32.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.0,"uv":[106.0,20.0],"mirror":false}]},{"name":"bone159","parent":"bone158","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,32.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.0,"uv":[106.0,20.0],"mirror":false}]},{"name":"bone160","parent":"bone159","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,32.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.0,"uv":[106.0,20.0],"mirror":false}]},{"name":"bone161","parent":"bone160","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,32.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.0,"uv":[106.0,20.0],"mirror":false}]},{"name":"bone227","parent":"bone157","pivot":[-0.25,33.25,-6.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.25,32.25,-7.25],"size":[6.0,2.0,1.0],"inflate":0.0,"uv":[127.0,10.0],"mirror":false}]},{"name":"bone226","parent":"bone157","pivot":[0.0,35.75,-6.175],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,34.0,-7.175],"size":[6.0,3.0,2.0],"inflate":0.025000000993410747,"uv":[123.0,20.0],"mirror":false},{"origin":[-1.0,35.0,-7.175],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[126.0,26.0],"mirror":false}]},{"name":"bone43","parent":"baseconsole","pivot":[0.0,3.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.5,3.0,-7.86],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[32.0,48.0],"mirror":false}]},{"name":"bone44","parent":"bone43","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,3.0,-7.86],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[32.0,48.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,3.0,-7.86],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[32.0,48.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,3.0,-7.86],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[32.0,48.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,3.0,-7.86],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[32.0,48.0],"mirror":false}]},{"name":"bone48","parent":"bone47","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,3.0,-7.86],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[32.0,48.0],"mirror":false}]},{"name":"bone85","parent":"baseconsole","pivot":[0.0,22.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,21.0,-9.59],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone86","parent":"bone85","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,21.0,-9.59],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone87","parent":"bone86","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,21.0,-9.59],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone88","parent":"bone87","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,21.0,-9.59],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone89","parent":"bone88","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,21.0,-9.59],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone90","parent":"bone89","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,21.0,-9.59],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone25","parent":"baseconsole","pivot":[0.0,10.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,10.0,-9.06],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[49.0,31.0],"mirror":false}]},{"name":"bone26","parent":"bone25","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,10.0,-9.06],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[49.0,31.0],"mirror":false}]},{"name":"bone27","parent":"bone26","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,10.0,-9.06],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[49.0,31.0],"mirror":false}]},{"name":"bone28","parent":"bone27","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,10.0,-9.06],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[49.0,31.0],"mirror":false}]},{"name":"bone29","parent":"bone28","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,10.0,-9.06],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[49.0,31.0],"mirror":false}]},{"name":"bone30","parent":"bone29","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,10.0,-9.06],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[49.0,31.0],"mirror":false}]},{"name":"bone67","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone67_r1","parent":"bone67","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-10.0,15.0,-18.31],"size":[20.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone68","parent":"bone67","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone68_r1","parent":"bone68","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-10.0,15.0,-18.31],"size":[20.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone69","parent":"bone68","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone69_r1","parent":"bone69","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-10.0,15.0,-18.31],"size":[20.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone70","parent":"bone69","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone71","parent":"bone70","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone72","parent":"bone71","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone72_r1","parent":"bone72","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-10.0,15.0,-18.31],"size":[20.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone71_r1","parent":"bone71","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-10.0,15.0,-18.31],"size":[20.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone70_r1","parent":"bone70","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-10.0,15.0,-18.31],"size":[20.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone91","parent":"baseconsole","pivot":[0.0,60.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,60.0,-9.96],"size":[7.0,4.0,10.0],"inflate":0.0,"uv":[49.0,16.0],"mirror":false}]},{"name":"bone176","parent":"bone91","pivot":[0.0,62.0,-8.9725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,60.5,-9.985],"size":[5.0,3.0,1.0],"inflate":0.0,"uv":[149.0,28.0],"mirror":false},{"origin":[-2.5,61.0,-9.934999],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[148.0,33.0],"mirror":false}]},{"name":"bone92","parent":"bone91","pivot":[0.0,60.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,60.0,-9.96],"size":[7.0,4.0,10.0],"inflate":0.0,"uv":[49.0,16.0],"mirror":false}]},{"name":"bone250","parent":"bone92","pivot":[0.0,62.0,-8.9725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,60.5,-9.985],"size":[5.0,3.0,1.0],"inflate":0.0,"uv":[149.0,28.0],"mirror":false},{"origin":[-2.5,61.0,-9.934999],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[148.0,33.0],"mirror":false}]},{"name":"bone93","parent":"bone92","pivot":[0.0,60.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,60.0,-9.96],"size":[7.0,4.0,10.0],"inflate":0.0,"uv":[49.0,16.0],"mirror":false}]},{"name":"bone251","parent":"bone93","pivot":[0.0,62.0,-8.9725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,60.5,-9.985],"size":[5.0,3.0,1.0],"inflate":0.0,"uv":[149.0,28.0],"mirror":false},{"origin":[-2.5,61.0,-9.934999],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[148.0,33.0],"mirror":false}]},{"name":"bone94","parent":"bone93","pivot":[0.0,60.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,60.0,-9.96],"size":[7.0,4.0,10.0],"inflate":0.0,"uv":[49.0,16.0],"mirror":false}]},{"name":"bone252","parent":"bone94","pivot":[0.0,62.0,-8.9725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,60.5,-9.985],"size":[5.0,3.0,1.0],"inflate":0.0,"uv":[149.0,28.0],"mirror":false},{"origin":[-2.5,61.0,-9.934999],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[148.0,33.0],"mirror":false}]},{"name":"bone95","parent":"bone94","pivot":[0.0,60.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,60.0,-9.96],"size":[7.0,4.0,10.0],"inflate":0.0,"uv":[49.0,16.0],"mirror":false}]},{"name":"bone253","parent":"bone95","pivot":[0.0,62.0,-8.9725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,60.5,-9.985],"size":[5.0,3.0,1.0],"inflate":0.0,"uv":[149.0,28.0],"mirror":false},{"origin":[-2.5,61.0,-9.934999],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[148.0,33.0],"mirror":false}]},{"name":"bone96","parent":"bone95","pivot":[0.0,60.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,60.0,-9.96],"size":[7.0,4.0,10.0],"inflate":0.0,"uv":[49.0,16.0],"mirror":false}]},{"name":"bone254","parent":"bone96","pivot":[0.0,62.0,-8.9725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,60.5,-9.985],"size":[5.0,3.0,1.0],"inflate":0.0,"uv":[149.0,28.0],"mirror":false},{"origin":[-2.5,61.0,-9.934999],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[148.0,33.0],"mirror":false}]},{"name":"bone115","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.5,13.5,-19.935],"size":[19.0,3.0,1.0],"inflate":0.0,"uv":[53.0,7.0],"mirror":false}]},{"name":"bone116","parent":"bone115","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.25,-19.935],"size":[19.0,3.0,1.0],"inflate":0.0,"uv":[53.0,7.0],"mirror":false}]},{"name":"bone117","parent":"bone116","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.5,-19.935],"size":[19.0,3.0,1.0],"inflate":0.0,"uv":[53.0,7.0],"mirror":false}]},{"name":"bone118","parent":"bone117","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.5,-19.935],"size":[19.0,3.0,1.0],"inflate":0.0,"uv":[53.0,7.0],"mirror":false}]},{"name":"bone119","parent":"bone118","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.5,-19.935],"size":[19.0,3.0,1.0],"inflate":0.0,"uv":[53.0,7.0],"mirror":false}]},{"name":"bone120","parent":"bone119","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,13.5,-19.935],"size":[19.0,3.0,1.0],"inflate":0.0,"uv":[53.0,7.0],"mirror":false}]},{"name":"bone139","parent":"baseconsole","pivot":[0.0,48.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,47.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[73.0,95.0],"mirror":false}]},{"name":"bone140","parent":"bone139","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,47.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[41.0,95.0],"mirror":false}]},{"name":"bone141","parent":"bone140","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,47.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[73.0,95.0],"mirror":false}]},{"name":"bone142","parent":"bone141","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,47.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[41.0,95.0],"mirror":false}]},{"name":"bone143","parent":"bone142","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,47.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[73.0,95.0],"mirror":false}]},{"name":"bone144","parent":"bone143","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,47.0,-6.56],"size":[7.0,9.0,1.0],"inflate":0.0,"uv":[41.0,95.0],"mirror":false}]},{"name":"bone162","parent":"baseconsole","pivot":[0.0,31.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,32.5,-7.475],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[93.0,104.0],"mirror":false}]},{"name":"bone163","parent":"bone162","pivot":[0.0,31.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,32.5,-7.475],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[93.0,104.0],"mirror":false}]},{"name":"bone164","parent":"bone163","pivot":[0.0,31.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,32.5,-7.475],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[93.0,104.0],"mirror":false}]},{"name":"bone165","parent":"bone164","pivot":[0.0,31.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,32.5,-7.475],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[93.0,104.0],"mirror":false}]},{"name":"bone166","parent":"bone165","pivot":[0.0,31.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,32.5,-7.475],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[93.0,104.0],"mirror":false}]},{"name":"bone167","parent":"bone166","pivot":[0.0,31.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,32.5,-7.475],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[93.0,104.0],"mirror":false}]},{"name":"bone37","parent":"baseconsole","pivot":[0.0,3.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,3.0,-7.06],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[97.0,29.0],"mirror":false}]},{"name":"bone38","parent":"bone37","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,3.0,-7.06],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[147.0,19.0],"mirror":false}]},{"name":"bone261","parent":"bone38","pivot":[0.0,6.0,-6.0725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,3.0,-7.085],"size":[3.0,6.0,1.0],"inflate":0.0,"uv":[148.0,11.0],"mirror":false},{"origin":[-1.5,3.25,-7.0600004],"size":[3.0,6.0,3.0],"inflate":0.0,"uv":[158.0,9.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,3.0,-7.06],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[97.0,29.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,3.0,-7.06],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[97.0,29.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,3.0,-7.06],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[97.0,29.0],"mirror":false}]},{"name":"bone42","parent":"bone41","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,3.0,-7.06],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[97.0,29.0],"mirror":false}]},{"name":"bone121","parent":"baseconsole","pivot":[0.0,56.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,56.0,-7.175],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[74.0,12.0],"mirror":false}]},{"name":"bone122","parent":"bone121","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,56.0,-7.175],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[74.0,12.0],"mirror":false}]},{"name":"bone123","parent":"bone122","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,56.0,-7.175],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[74.0,12.0],"mirror":false}]},{"name":"bone124","parent":"bone123","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,56.0,-7.175],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[74.0,12.0],"mirror":false}]},{"name":"bone125","parent":"bone124","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,56.0,-7.175],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[74.0,12.0],"mirror":false}]},{"name":"bone126","parent":"bone125","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,56.0,-7.175],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[74.0,12.0],"mirror":false}]},{"name":"bone19","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,11.0,-21.585],"size":[3.0,6.0,4.0],"inflate":0.0,"uv":[58.0,99.0],"mirror":false}]},{"name":"bone20","parent":"bone19","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,11.0,-21.585],"size":[3.0,6.0,4.0],"inflate":0.0,"uv":[58.0,99.0],"mirror":false}]},{"name":"bone21","parent":"bone20","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,11.0,-21.585],"size":[3.0,6.0,4.0],"inflate":0.0,"uv":[58.0,99.0],"mirror":false}]},{"name":"bone22","parent":"bone21","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,11.0,-21.585],"size":[3.0,6.0,4.0],"inflate":0.0,"uv":[100.0,62.0],"mirror":false}]},{"name":"bone209","parent":"bone22","pivot":[0.0,15.5,-23.085],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,14.025,-25.085],"size":[3.0,3.0,4.0],"inflate":0.0,"uv":[38.0,106.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,11.0,-21.585],"size":[3.0,6.0,4.0],"inflate":0.0,"uv":[58.0,99.0],"mirror":false}]},{"name":"bone24","parent":"bone23","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,11.0,-21.585],"size":[3.0,6.0,4.0],"inflate":0.0,"uv":[58.0,99.0],"mirror":false}]},{"name":"bone145","parent":"baseconsole","pivot":[0.0,55.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone145_r1","parent":"bone145","pivot":[0.0,56.0,-5.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,24.0,-5.21],"size":[6.0,32.0,1.0],"inflate":0.0,"uv":[58.0,65.0],"mirror":false}]},{"name":"bone146","parent":"bone145","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone197","parent":"bone146","pivot":[0.0,57.0,-4.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,41.001,-4.1664],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[0.0,137.0],"mirror":false},{"origin":[-3.0,52.001,-4.9164],"size":[6.0,4.0,1.0],"inflate":0.0,"uv":[15.0,137.0],"mirror":false}]},{"name":"bone147","parent":"bone146","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone148","parent":"bone147","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone196","parent":"bone148","pivot":[0.0,57.0,-4.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,41.001,-4.1664],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[0.0,137.0],"mirror":false},{"origin":[-3.0,52.001,-4.9164],"size":[6.0,4.0,1.0],"inflate":0.0,"uv":[15.0,137.0],"mirror":false}]},{"name":"bone148_r1","parent":"bone148","pivot":[0.0,56.0,-5.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,24.0,-5.21],"size":[6.0,32.0,1.0],"inflate":0.0,"uv":[17.0,48.0],"mirror":false}]},{"name":"bone149","parent":"bone148","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone194","parent":"bone149","pivot":[0.0,56.0,-4.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,41.0,-4.21],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[0.0,120.0],"mirror":false}]},{"name":"bone150","parent":"bone149","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone195","parent":"bone150","pivot":[0.0,57.0,-4.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,41.001,-4.1664],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[0.0,137.0],"mirror":false},{"origin":[-3.0,52.001,-4.9164],"size":[6.0,4.0,1.0],"inflate":0.0,"uv":[15.0,137.0],"mirror":false}]},{"name":"bone150_r1","parent":"bone150","pivot":[0.0,56.0,-5.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,24.0,-5.21],"size":[6.0,32.0,1.0],"inflate":0.0,"uv":[17.0,48.0],"mirror":false}]},{"name":"bone149_r1","parent":"bone149","pivot":[0.0,56.0,-5.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,24.0,-5.21],"size":[6.0,32.0,1.0],"inflate":0.0,"uv":[58.0,65.0],"mirror":false}]},{"name":"bone147_r1","parent":"bone147","pivot":[0.0,56.0,-5.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,24.0,-5.21],"size":[6.0,32.0,1.0],"inflate":0.0,"uv":[58.0,65.0],"mirror":false}]},{"name":"bone193","parent":"bone147","pivot":[0.0,56.0,-4.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,41.0,-4.21],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[0.0,120.0],"mirror":false}]},{"name":"bone146_r1","parent":"bone146","pivot":[0.0,56.0,-5.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,24.0,-5.21],"size":[6.0,32.0,1.0],"inflate":0.0,"uv":[17.0,48.0],"mirror":false}]},{"name":"bone192","parent":"bone145","pivot":[0.0,56.0,-4.21],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-3.0,41.0,-4.21],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[0.0,120.0],"mirror":false}]},{"name":"bone31","parent":"baseconsole","pivot":[0.0,10.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,10.0,-9.59],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[36.0,114.0],"mirror":false}]},{"name":"bone32","parent":"bone31","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,10.0,-9.59],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[36.0,114.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,10.0,-9.59],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[36.0,114.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,10.0,-9.59],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[36.0,114.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,10.0,-9.59],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[36.0,114.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,10.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,10.0,-9.59],"size":[3.0,2.0,2.0],"inflate":0.0,"uv":[36.0,114.0],"mirror":false}]},{"name":"bone97","parent":"baseconsole","pivot":[0.0,61.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,60.5,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[8.0,111.0],"mirror":false}]},{"name":"bone255","parent":"bone97","pivot":[0.0,62.0,-9.065],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,61.5,-9.565],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,106.0],"mirror":false}]},{"name":"bone98","parent":"bone97","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,60.5,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[8.0,111.0],"mirror":false}]},{"name":"bone256","parent":"bone98","pivot":[0.0,62.0,-9.065],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,61.5,-9.565],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,106.0],"mirror":false}]},{"name":"bone99","parent":"bone98","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,60.5,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[8.0,111.0],"mirror":false}]},{"name":"bone100","parent":"bone99","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,60.5,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[8.0,111.0],"mirror":false}]},{"name":"bone101","parent":"bone100","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,60.5,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[8.0,111.0],"mirror":false}]},{"name":"bone102","parent":"bone101","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,60.5,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[8.0,111.0],"mirror":false}]},{"name":"bone260","parent":"bone102","pivot":[0.0,62.0,-9.065],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,61.5,-9.565],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,106.0],"mirror":false}]},{"name":"bone259","parent":"bone101","pivot":[0.0,62.0,-9.065],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,61.5,-9.565],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,106.0],"mirror":false}]},{"name":"bone258","parent":"bone100","pivot":[0.0,62.0,-9.065],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,61.5,-9.565],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,106.0],"mirror":false}]},{"name":"bone257","parent":"bone99","pivot":[0.0,62.0,-9.065],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,61.5,-9.565],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,106.0],"mirror":false}]},{"name":"bone73","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone73_r1","parent":"bone73","pivot":[0.0,17.0,-21.585],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-21.585],"size":[2.0,2.0,14.0],"inflate":0.0,"uv":[54.0,31.0],"mirror":false}]},{"name":"bone74","parent":"bone73","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone74_r1","parent":"bone74","pivot":[0.0,17.0,-21.585],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-21.585],"size":[2.0,2.0,14.0],"inflate":0.0,"uv":[54.0,31.0],"mirror":false}]},{"name":"bone75","parent":"bone74","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone75_r1","parent":"bone75","pivot":[0.0,17.0,-21.585],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-21.585],"size":[2.0,2.0,14.0],"inflate":0.0,"uv":[58.0,48.0],"mirror":false}]},{"name":"bone212","parent":"bone75","pivot":[0.0,21.025,-12.935],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,18.025,-17.935001],"size":[2.0,3.0,5.0],"inflate":0.0,"uv":[98.0,104.0],"mirror":false}]},{"name":"side","parent":"bone212","pivot":[0.0,12.999998,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,21.024998,-14.0208],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[35.0,75.0],"mirror":false},{"origin":[0.0,21.024998,-17.8492],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[35.0,70.0],"mirror":false}]},{"name":"bone187","parent":"side","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,23.275,-15.935],"size":[1.0,1.0,1.0],"inflate":0.25,"uv":[5.0,33.0],"mirror":false},{"origin":[-0.5,24.025,-15.935],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]},{"name":"side_r1","parent":"side","pivot":[0.0,22.025,-15.435],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.0,21.025,-16.435001],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[32.0,59.0],"mirror":false}]},{"name":"bone76","parent":"bone75","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone76_r1","parent":"bone76","pivot":[0.0,17.0,-21.585],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-21.585],"size":[2.0,2.0,14.0],"inflate":0.0,"uv":[54.0,31.0],"mirror":false}]},{"name":"bone77","parent":"bone76","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone77_r1","parent":"bone77","pivot":[0.0,17.0,-21.585],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-21.585],"size":[2.0,2.0,14.0],"inflate":0.0,"uv":[54.0,31.0],"mirror":false}]},{"name":"bone78","parent":"bone77","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone78_r1","parent":"bone78","pivot":[0.0,17.0,-21.585],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-21.585],"size":[2.0,2.0,14.0],"inflate":0.0,"uv":[54.0,31.0],"mirror":false}]},{"name":"bone7","parent":"baseconsole","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,-0.0,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[110.0,110.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,-0.0,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[110.0,110.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,-0.0,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[110.0,110.0],"mirror":false}]},{"name":"bone10","parent":"bone9","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,-0.0,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[110.0,110.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,-0.0,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[110.0,110.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,-0.0,-9.59],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[110.0,110.0],"mirror":false}]},{"name":"bone","parent":"baseconsole","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,-0.0,-9.06],"size":[7.0,3.0,9.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-9.06],"size":[7.0,3.0,9.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-9.06],"size":[7.0,3.0,9.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-9.06],"size":[7.0,3.0,9.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-9.06],"size":[7.0,3.0,9.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-9.06],"size":[7.0,3.0,9.0],"inflate":0.0,"uv":[73.0,31.0],"mirror":false}]},{"name":"bone13","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.5,12.0,-19.435],"size":[19.0,4.0,2.0],"inflate":0.0,"uv":[53.0,0.0],"mirror":false}]},{"name":"bone239","parent":"bone13","pivot":[-6.5,14.0,-19.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,13.5,-19.535],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[55.0,14.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.0,-19.435],"size":[19.0,4.0,2.0],"inflate":0.0,"uv":[53.0,0.0],"mirror":false}]},{"name":"bone15","parent":"bone14","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.0,-19.435],"size":[19.0,4.0,2.0],"inflate":0.0,"uv":[53.0,0.0],"mirror":false}]},{"name":"bone241","parent":"bone15","pivot":[-6.5,14.0,-19.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,13.5,-19.535],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[55.0,14.0],"mirror":false}]},{"name":"bone16","parent":"bone15","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.0,-19.435],"size":[19.0,4.0,2.0],"inflate":0.0,"uv":[53.0,0.0],"mirror":false}]},{"name":"bone17","parent":"bone16","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.0,-19.435],"size":[19.0,4.0,2.0],"inflate":0.0,"uv":[53.0,0.0],"mirror":false}]},{"name":"bone18","parent":"bone17","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.0,-19.435],"size":[19.0,4.0,2.0],"inflate":0.0,"uv":[53.0,0.0],"mirror":false}]},{"name":"bone245","parent":"bone18","pivot":[-6.5,14.0,-19.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,13.5,-19.535],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[55.0,14.0],"mirror":false}]},{"name":"bone243","parent":"bone17","pivot":[-6.5,14.0,-19.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,13.5,-19.535],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[55.0,14.0],"mirror":false}]},{"name":"bone242","parent":"bone16","pivot":[-6.5,14.0,-19.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,13.5,-19.535],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[55.0,14.0],"mirror":false}]},{"name":"bone240","parent":"bone14","pivot":[-6.5,14.0,-19.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,13.5,-19.535],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[55.0,14.0],"mirror":false}]},{"name":"bone79","parent":"baseconsole","pivot":[0.0,23.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,21.925,-9.56],"size":[7.0,4.0,2.0],"inflate":0.0,"uv":[11.0,98.0],"mirror":false}]},{"name":"bone80","parent":"bone79","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,21.925,-9.56],"size":[7.0,4.0,2.0],"inflate":0.0,"uv":[11.0,98.0],"mirror":false}]},{"name":"bone81","parent":"bone80","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,21.925,-9.56],"size":[7.0,4.0,2.0],"inflate":0.0,"uv":[11.0,98.0],"mirror":false}]},{"name":"bone82","parent":"bone81","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,21.925,-9.56],"size":[7.0,4.0,2.0],"inflate":0.0,"uv":[11.0,98.0],"mirror":false}]},{"name":"bone83","parent":"bone82","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,21.925,-9.56],"size":[7.0,4.0,2.0],"inflate":0.0,"uv":[11.0,98.0],"mirror":false}]},{"name":"bone84","parent":"bone83","pivot":[0.0,23.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,21.925,-8.56],"size":[7.0,4.0,1.0],"inflate":0.0,"uv":[106.0,38.0],"mirror":false}]},{"name":"bone55","parent":"baseconsole","pivot":[0.0,12.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.5,12.025,-18.06],"size":[19.0,1.0,10.0],"inflate":0.0,"uv":[0.0,26.0],"mirror":false}]},{"name":"bone56","parent":"bone55","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.025,-18.06],"size":[19.0,1.0,10.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone57","parent":"bone56","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.025,-18.06],"size":[19.0,1.0,10.0],"inflate":0.0,"uv":[0.0,26.0],"mirror":false}]},{"name":"bone58","parent":"bone57","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.025,-18.06],"size":[19.0,1.0,10.0],"inflate":0.0,"uv":[0.0,26.0],"mirror":false}]},{"name":"bone59","parent":"bone58","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.025,-18.06],"size":[19.0,1.0,10.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone60","parent":"bone59","pivot":[0.0,12.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.5,12.025,-18.06],"size":[19.0,1.0,10.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone61","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone61_r1","parent":"bone61","pivot":[0.5,11.0,-19.585],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.025000006,11.0,-19.585],"size":[1.0,5.0,10.0],"inflate":0.0,"uv":[22.0,72.0],"mirror":false}]},{"name":"bone62","parent":"bone61","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone62_r1","parent":"bone62","pivot":[0.5,11.0,-19.585],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.025000006,11.0,-19.585],"size":[1.0,5.0,10.0],"inflate":0.0,"uv":[22.0,72.0],"mirror":false}]},{"name":"bone63","parent":"bone62","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone63_r1","parent":"bone63","pivot":[0.5,11.0,-19.585],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.025000006,11.0,-19.585],"size":[1.0,5.0,10.0],"inflate":0.0,"uv":[22.0,72.0],"mirror":false}]},{"name":"bone64","parent":"bone63","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone64_r1","parent":"bone64","pivot":[0.5,11.0,-19.585],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.025000006,11.0,-19.585],"size":[1.0,5.0,10.0],"inflate":0.0,"uv":[22.0,72.0],"mirror":false}]},{"name":"bone65","parent":"bone64","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone65_r1","parent":"bone65","pivot":[0.5,11.0,-19.585],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.025000006,11.0,-19.585],"size":[1.0,5.0,10.0],"inflate":0.0,"uv":[22.0,72.0],"mirror":false}]},{"name":"bone66","parent":"bone65","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone66_r1","parent":"bone66","pivot":[0.5,11.0,-19.585],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.025000006,11.0,-19.585],"size":[1.0,5.0,10.0],"inflate":0.0,"uv":[22.0,72.0],"mirror":false}]},{"name":"bone103","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone103_r1","parent":"bone103","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-9.809999],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[16.0,91.0],"mirror":false}]},{"name":"bone104","parent":"bone103","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone104_r1","parent":"bone104","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-9.809999],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[16.0,91.0],"mirror":false}]},{"name":"bone105","parent":"bone104","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone105_r1","parent":"bone105","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-9.809999],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[16.0,91.0],"mirror":false}]},{"name":"bone106","parent":"bone105","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone106_r1","parent":"bone106","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-9.809999],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[16.0,91.0],"mirror":false}]},{"name":"bone107","parent":"bone106","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone107_r1","parent":"bone107","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-9.809999],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[16.0,91.0],"mirror":false}]},{"name":"bone108","parent":"bone107","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone108_r1","parent":"bone108","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.75,-9.809999],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[89.0,89.0],"mirror":false}]},{"name":"bone169","parent":"baseconsole","pivot":[0.0,19.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,21.65,-7.56],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false}]},{"name":"bone170","parent":"bone169","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,21.65,-7.56],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false}]},{"name":"bone171","parent":"bone170","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,21.65,-7.56],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false}]},{"name":"bone172","parent":"bone171","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,21.65,-7.56],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false}]},{"name":"bone173","parent":"bone172","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,21.65,-7.56],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false}]},{"name":"bone174","parent":"bone173","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,21.65,-7.56],"size":[9.0,1.0,8.0],"inflate":0.0,"uv":[73.0,65.0],"mirror":false}]},{"name":"bone127","parent":"baseconsole","pivot":[0.0,56.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,56.0,-7.725],"size":[2.0,5.0,8.0],"inflate":0.0,"uv":[37.0,81.0],"mirror":false}]},{"name":"bone128","parent":"bone127","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,56.0,-7.725],"size":[2.0,5.0,8.0],"inflate":0.0,"uv":[37.0,81.0],"mirror":false}]},{"name":"bone129","parent":"bone128","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,56.0,-7.725],"size":[2.0,5.0,8.0],"inflate":0.0,"uv":[37.0,81.0],"mirror":false}]},{"name":"bone130","parent":"bone129","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,56.0,-7.725],"size":[2.0,5.0,8.0],"inflate":0.0,"uv":[37.0,81.0],"mirror":false}]},{"name":"bone131","parent":"bone130","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,56.0,-7.725],"size":[2.0,5.0,8.0],"inflate":0.0,"uv":[37.0,81.0],"mirror":false}]},{"name":"bone132","parent":"bone131","pivot":[0.0,56.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,56.0,-7.725],"size":[2.0,5.0,8.0],"inflate":0.0,"uv":[37.0,81.0],"mirror":false}]},{"name":"bone109","parent":"baseconsole","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone109_r1","parent":"bone109","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-7.0,15.25,-18.31],"size":[14.0,1.0,8.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false}]},{"name":"bone110","parent":"bone109","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone111","parent":"bone110","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone111_r1","parent":"bone111","pivot":[0.0,16.0,-18.31],"rotation":[50.002025404100806,0.0,0.0],"cubes":[{"origin":[-6.0,13.275,-14.309999],"size":[12.0,3.0,4.0],"inflate":0.0,"uv":[73.0,75.0],"mirror":false},{"origin":[-7.0,15.25,-18.31],"size":[14.0,1.0,8.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false}]},{"name":"bone112","parent":"bone111","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone111_r2","parent":"bone112","pivot":[0.0,19.775,-22.31],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-6.0,15.275,-29.884998],"size":[12.0,3.0,4.0],"inflate":0.0,"uv":[73.0,75.0],"mirror":false}]},{"name":"bone113","parent":"bone112","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone113_r2","parent":"bone113","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-7.0,15.25,-18.31],"size":[14.0,1.0,8.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false}]},{"name":"bone114","parent":"bone113","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone114_r1","parent":"bone114","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-7.0,15.25,-18.31],"size":[14.0,1.0,8.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false}]},{"name":"bone113_r1","parent":"bone112","pivot":[0.0,20.2,-11.41],"rotation":[15.000034568358878,0.0,0.0],"cubes":[{"origin":[-7.0,19.262701,-19.4856],"size":[14.0,1.0,8.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false}]},{"name":"bone110_r1","parent":"bone110","pivot":[0.0,16.0,-18.31],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-7.0,15.25,-18.31],"size":[14.0,1.0,8.0],"inflate":0.0,"uv":[0.0,38.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/myst.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/myst.json
new file mode 100644
index 00000000..27864f36
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/myst.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"myst","texture_width":128,"texture_height":128},"bones":[{"name":"rotor","pivot":[0.0,1.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone104","parent":"rotor","pivot":[0.0,22.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,22.0,-2.605],"size":[3.0,10.0,1.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone105","parent":"bone104","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,22.0,-2.605],"size":[3.0,10.0,1.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone106","parent":"bone105","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,22.0,-2.605],"size":[3.0,10.0,1.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone107","parent":"bone106","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,22.0,-2.605],"size":[3.0,10.0,1.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone108","parent":"bone107","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,22.0,-2.605],"size":[3.0,10.0,1.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone109","parent":"bone108","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,22.0,-2.605],"size":[3.0,10.0,1.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone98","parent":"rotor","pivot":[0.0,22.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,22.0,-7.98],"size":[1.0,14.0,8.0],"inflate":0.0,"uv":[48.0,61.0],"mirror":false}]},{"name":"bone99","parent":"bone98","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-7.98],"size":[1.0,14.0,8.0],"inflate":0.0,"uv":[48.0,61.0],"mirror":false}]},{"name":"bone100","parent":"bone99","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-7.98],"size":[1.0,14.0,8.0],"inflate":0.0,"uv":[48.0,61.0],"mirror":false}]},{"name":"bone101","parent":"bone100","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-7.98],"size":[1.0,14.0,8.0],"inflate":0.0,"uv":[48.0,61.0],"mirror":false}]},{"name":"bone102","parent":"bone101","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-7.98],"size":[1.0,14.0,8.0],"inflate":0.0,"uv":[48.0,61.0],"mirror":false}]},{"name":"bone103","parent":"bone102","pivot":[0.0,22.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-7.98],"size":[1.0,14.0,8.0],"inflate":0.0,"uv":[48.0,61.0],"mirror":false}]},{"name":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"south_left","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone125","parent":"south_left","pivot":[-1.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[2.5,15.25,-18.675],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[82.0,24.0],"mirror":false},{"origin":[-7.25,15.25,-15.674999],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[82.0,24.0],"mirror":false},{"origin":[-6.75,16.25,-14.674999],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[54.0,37.0],"mirror":false},{"origin":[-2.0,15.1,-11.674999],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[82.0,24.0],"mirror":false},{"origin":[-1.0,16.1,-11.174999],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[51.0,93.0],"mirror":false},{"origin":[-0.75,17.1,-8.424999],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[56.0,15.0],"mirror":false},{"origin":[3.5,16.25,-17.675],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[14.0,84.0],"mirror":false},{"origin":[-2.0,16.25,-15.174999],"size":[4.0,4.0,1.0],"inflate":0.0,"uv":[89.0,18.0],"mirror":false},{"origin":[-1.25,17.025,-17.824999],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[0.0,97.0],"mirror":false},{"origin":[4.0,18.25,-17.175],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[0.0,84.0],"mirror":false},{"origin":[3.0,16.25,-18.175],"size":[3.0,1.0,3.0],"inflate":0.25,"uv":[61.0,88.0],"mirror":false}]},{"name":"bone123_r1","parent":"bone125","pivot":[4.5,18.0,-15.275],"rotation":[0.0,0.0,-45.00010370507663],"cubes":[{"origin":[4.5,18.0,-15.775],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[97.0,52.0],"mirror":false}]},{"name":"bone124","parent":"bone125","pivot":[0.0,20.0,-15.199999],"rotation":[-22.500051852538316,0.0,0.0],"cubes":[{"origin":[-1.0,18.5,-15.199999],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone124_r1","parent":"bone125","pivot":[1.0,16.6,-9.674999],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[1.0,16.6,-10.174999],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"door_control","parent":"bone125","pivot":[-5.25,17.25,-13.674999],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-6.75,16.25,-13.674999],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[88.0,65.0],"mirror":false},{"origin":[-6.75,16.75,-11.674999],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[97.0,47.0],"mirror":false}]},{"name":"bone128","parent":"south_left","pivot":[-1.5,15.5,-19.175],"rotation":[50.002025404100806,0.0,0.0],"cubes":[{"origin":[-2.0,15.5,-18.175],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[56.0,24.0],"mirror":false}]},{"name":"south","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-1.0,18.75,-13.175],"size":[2.0,6.0,2.0],"inflate":0.25,"uv":[0.0,71.0],"mirror":false},{"origin":[0.5,18.75,-12.675],"size":[1.0,4.0,1.0],"inflate":0.25,"uv":[72.0,97.0],"mirror":false}]},{"name":"bone120","parent":"south","pivot":[-1.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-6.5,15.1,-17.675],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[54.0,30.0],"mirror":false},{"origin":[-7.5,15.1,-18.675],"size":[4.0,1.0,5.0],"inflate":0.0,"uv":[0.0,84.0],"mirror":false},{"origin":[-1.0,15.5,-19.175],"size":[2.0,1.0,5.0],"inflate":0.0,"uv":[85.0,36.0],"mirror":false},{"origin":[-1.5,15.1,-19.675],"size":[3.0,1.0,6.0],"inflate":0.0,"uv":[82.0,75.0],"mirror":false}]},{"name":"bone120_r3","parent":"bone120","pivot":[5.825,16.0,-15.424999],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[5.325,15.5,-15.424999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"bone120_r2","parent":"bone120","pivot":[-0.25,16.5,-16.675],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.75,16.0,-16.675],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"bone120_r5","parent":"bone120","pivot":[-0.25,16.5,-15.174999],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.75,16.0,-15.174999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"bone120_r4","parent":"bone120","pivot":[-0.25,16.5,-18.175],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.75,16.0,-18.175],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"bone122","parent":"bone120","pivot":[6.075,16.35,-17.25],"rotation":[0.0,27.50197355156249,0.0],"cubes":[{"origin":[4.825,15.6,-17.25],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[34.0,53.0],"mirror":false}]},{"name":"bone120_r1","parent":"bone120","pivot":[5.0,15.75,-16.175],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[2.5,15.2,-18.675],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[82.0,11.0],"mirror":false},{"origin":[2.5,15.1,-18.675],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[81.0,53.0],"mirror":true}]},{"name":"throttle_control","parent":"bone120","pivot":[-5.5,17.1,-16.175],"rotation":[-57.50204439582754,0.0,0.0],"cubes":[{"origin":[-7.5,16.6,-16.675],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[0.0,56.0],"mirror":false},{"origin":[-7.0,17.85,-16.925],"size":[3.0,2.0,2.0],"inflate":0.25,"uv":[18.0,91.0],"mirror":false}]},{"name":"bone115","parent":"south","pivot":[0.0,25.0,-12.175],"rotation":[0.0,37.50008812844449,0.0],"cubes":[{"origin":[0.0,25.0,-13.175],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[83.0,93.0],"mirror":false}]},{"name":"bone116","parent":"south","pivot":[1.75,22.5,-12.175],"rotation":[30.000069136717755,0.0,0.0],"cubes":[]},{"name":"bone116_r1","parent":"bone116","pivot":[1.75,22.5,-12.175],"rotation":[0.0,-5.001921699024173,0.0],"cubes":[{"origin":[1.75,21.75,-16.175],"size":[1.0,2.0,4.0],"inflate":0.0,"uv":[32.0,87.0],"mirror":false}]},{"name":"south_right","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[{"origin":[-3.5,15.35,-20.675],"size":[7.0,1.0,2.0],"inflate":0.0,"uv":[81.0,60.0],"mirror":false},{"origin":[-2.75,15.6,-20.425],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[12.0,77.0],"mirror":false}]},{"name":"south_right_r1","parent":"south_right","pivot":[2.0,16.35,-20.175],"rotation":[42.50200982746866,0.0,0.0],"cubes":[{"origin":[1.0,15.35,-20.175],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[19.0,48.0],"mirror":false}]},{"name":"bone111","parent":"south_right","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[5.5,15.35,-17.675],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[95.0,36.0],"mirror":false},{"origin":[6.0,16.1,-17.175],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[51.0,61.0],"mirror":false},{"origin":[-7.75,15.2,-18.675],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[40.0,93.0],"mirror":false}]},{"name":"monitor_control","parent":"bone111","pivot":[9.5,15.5,-19.175],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,15.1,-16.675],"size":[9.0,1.0,7.0],"inflate":0.0,"uv":[56.0,15.0],"mirror":false}]},{"name":"bone111_r1","parent":"bone111","pivot":[-5.0,15.6,-16.175],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-9.25,15.1,-18.175],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[81.0,53.0],"mirror":false}]},{"name":"north","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"rotate_control","parent":"north","pivot":[0.0,23.0,-11.575],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[]},{"name":"bone114_r1","parent":"rotate_control","pivot":[0.0,23.0,-10.825],"rotation":[0.0,0.0,-45.00010370507663],"cubes":[{"origin":[-1.5,21.5,-11.325],"size":[4.0,4.0,1.0],"inflate":0.25,"uv":[0.0,91.0],"mirror":false}]},{"name":"bone110","parent":"north","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-6.5,15.0,-17.675],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[44.0,84.0],"mirror":false},{"origin":[3.0,15.1,-17.675],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[85.0,30.0],"mirror":false},{"origin":[3.25,15.2,-17.425],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[19.0,85.0],"mirror":false},{"origin":[-1.0,16.75,-16.425],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[62.0,93.0],"mirror":false},{"origin":[-5.5,15.25,-16.675],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[42.0,43.0],"mirror":false}]},{"name":"increment_control","parent":"bone110","pivot":[5.0,16.6,-16.425],"rotation":[0.0,27.50197355156249,0.0],"cubes":[{"origin":[3.75,15.85,-16.425],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[77.0,97.0],"mirror":false}]},{"name":"north_r3","parent":"bone110","pivot":[-4.5,19.0,-15.674999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-6.0,18.5,-17.175],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[88.0,70.0],"mirror":false}]},{"name":"bone127","parent":"bone110","pivot":[0.0,18.25,-14.924999],"rotation":[0.0,-35.00199083574193,0.0],"cubes":[{"origin":[-0.5,17.75,-15.424999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[57.0,84.0],"mirror":false},{"origin":[-0.65,17.0,-16.275],"size":[2.0,1.0,2.0],"inflate":0.5,"uv":[95.0,75.0],"mirror":false}]},{"name":"north_r4","parent":"bone110","pivot":[0.0,17.75,-13.424999],"rotation":[-17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.25,17.75,-13.424999],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[94.0,93.0],"mirror":false}]},{"name":"north_r1","parent":"north","pivot":[3.5,16.5,-10.175],"rotation":[0.0,24.998149145240877,0.0],"cubes":[{"origin":[2.5,19.5,-12.175],"size":[2.0,6.0,2.0],"inflate":0.0,"uv":[74.0,88.0],"mirror":true}]},{"name":"north_r2","parent":"north","pivot":[-3.5,16.5,-10.175],"rotation":[0.0,-24.998149145240877,0.0],"cubes":[{"origin":[-4.5,19.5,-12.175],"size":[2.0,6.0,2.0],"inflate":0.0,"uv":[74.0,88.0],"mirror":false}]},{"name":"north_left","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,19.0,-11.175],"size":[7.0,8.0,1.0],"inflate":0.0,"uv":[83.0,83.0],"mirror":false}]},{"name":"random_control","parent":"north_left","pivot":[0.0,26.5,-11.175],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,25.5,-11.675],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false},{"origin":[-1.5,21.5,-12.675],"size":[3.0,4.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-1.5,21.25,-12.675],"size":[3.0,1.0,3.0],"inflate":0.25,"uv":[59.0,61.0],"mirror":false}]},{"name":"bone31","parent":"north_left","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-0.5,16.0,-17.425],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[82.0,47.0],"mirror":false},{"origin":[-1.5,15.525,-14.424999],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[18.0,96.0],"mirror":false},{"origin":[1.0,16.0,-16.425],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[82.0,47.0],"mirror":false},{"origin":[-2.25,15.6,-16.675],"size":[5.0,1.0,2.0],"inflate":0.0,"uv":[69.0,11.0],"mirror":false},{"origin":[-2.0,16.0,-16.425],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[82.0,47.0],"mirror":true},{"origin":[-6.5,15.0,-16.175],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[95.0,43.0],"mirror":false},{"origin":[3.5,15.35,-13.924999],"size":[1.0,1.0,1.0],"inflate":0.25,"uv":[59.0,66.0],"mirror":false},{"origin":[3.5,15.35,-17.425],"size":[1.0,1.0,1.0],"inflate":0.25,"uv":[59.0,66.0],"mirror":false}]},{"name":"bone113","parent":"bone31","pivot":[3.75,16.6,-13.424999],"rotation":[-42.50200982746866,0.0,0.0],"cubes":[{"origin":[2.75,16.6,-13.424999],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[82.0,18.0],"mirror":false}]},{"name":"bone112","parent":"bone31","pivot":[-5.5,15.85,-15.174999],"rotation":[-42.50200982746866,0.0,0.0],"cubes":[{"origin":[-6.0,15.1,-15.674999],"size":[1.0,4.0,1.0],"inflate":0.0,"uv":[36.0,97.0],"mirror":false},{"origin":[-6.5,19.1,-15.674999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[84.0,97.0],"mirror":false}]},{"name":"bone117","parent":"bone31","pivot":[4.0,16.6,-16.925],"rotation":[0.0,27.50197355156249,0.0],"cubes":[{"origin":[2.75,15.85,-16.925],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[34.0,53.0],"mirror":false}]},{"name":"bone31_r3","parent":"bone31","pivot":[0.25,16.525,-13.924999],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-1.25,16.525,-13.924999],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[39.0,85.0],"mirror":false}]},{"name":"bone31_r4","parent":"bone31","pivot":[0.0,16.0,-15.174999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-2.5,15.5,-17.675],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[62.0,81.0],"mirror":false}]},{"name":"bone31_r1","parent":"bone31","pivot":[4.0,15.75,-15.174999],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.5,15.1,-17.675],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[81.0,53.0],"mirror":true},{"origin":[2.5,15.2,-16.675],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[38.0,61.0],"mirror":true}]},{"name":"bone31_r2","parent":"bone31","pivot":[-4.0,15.85,-15.174999],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-6.5,15.200001,-16.675],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[38.0,61.0],"mirror":false},{"origin":[-6.5,15.1,-17.675],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[81.0,53.0],"mirror":false}]},{"name":"south_right2","parent":"controls","pivot":[0.0,13.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"bone118","parent":"south_right2","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[4.5,15.1,-17.675],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[54.0,30.0],"mirror":false},{"origin":[-5.5,15.1,-18.675],"size":[4.0,1.0,8.0],"inflate":0.0,"uv":[64.0,58.0],"mirror":false},{"origin":[-2.0,15.1,-10.424999],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[85.0,47.0],"mirror":false},{"origin":[-3.75,15.125,-13.924999],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[95.0,24.0],"mirror":false},{"origin":[-3.75,15.125,-18.175],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[38.0,53.0],"mirror":false},{"origin":[-5.0,15.85,-12.174999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[11.0,56.0],"mirror":false},{"origin":[-5.0,15.85,-18.175],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[11.0,56.0],"mirror":false},{"origin":[-5.0,15.85,-15.174999],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[11.0,56.0],"mirror":false},{"origin":[-1.0,15.5,-18.175],"size":[2.0,1.0,5.0],"inflate":0.0,"uv":[85.0,36.0],"mirror":false},{"origin":[-1.5,15.1,-18.675],"size":[3.0,1.0,6.0],"inflate":0.0,"uv":[82.0,75.0],"mirror":false}]},{"name":"bone118_r1","parent":"bone118","pivot":[-0.25,16.5,-15.674999],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.75,16.0,-15.674999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"bone118_r2","parent":"bone118","pivot":[-0.25,16.5,-14.174999],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.75,16.0,-14.174999],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"bone118_r3","parent":"bone118","pivot":[-0.25,16.5,-17.175],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.75,16.0,-17.175],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[10.0,43.0],"mirror":false}]},{"name":"Y_control","parent":"bone118","pivot":[-4.5249996,16.85,-14.674999],"rotation":[0.0,9.998113723108352,0.0],"cubes":[{"origin":[-5.825,16.1,-14.424999],"size":[2.0,2.0,1.0],"inflate":0.25,"uv":[34.0,53.0],"mirror":false}]},{"name":"bone118_r4","parent":"bone118","pivot":[-2.75,16.1,-13.674999],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-3.75,15.1,-13.924999],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[38.0,67.0],"mirror":false}]},{"name":"bone123","parent":"bone118","pivot":[0.0,16.1,-8.924999],"rotation":[0.0,-24.998149145240877,0.0],"cubes":[{"origin":[-1.5,15.6,-10.424999],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false}]},{"name":"X_control","parent":"bone118","pivot":[-4.5249996,16.85,-11.674999],"rotation":[0.0,-22.500051852538316,0.0],"cubes":[{"origin":[-5.825,16.1,-11.424999],"size":[2.0,2.0,1.0],"inflate":0.25,"uv":[34.0,53.0],"mirror":false}]},{"name":"bone119","parent":"bone118","pivot":[5.5,17.1,-16.175],"rotation":[-57.50204439582754,0.0,0.0],"cubes":[{"origin":[3.5,16.6,-16.675],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[0.0,56.0],"mirror":false},{"origin":[4.0,17.85,-16.925],"size":[3.0,2.0,2.0],"inflate":0.25,"uv":[18.0,91.0],"mirror":false}]},{"name":"Z_control","parent":"bone118","pivot":[-4.5249996,16.85,-17.675],"rotation":[0.0,47.49820099777919,0.0],"cubes":[{"origin":[-5.825,16.1,-17.425],"size":[2.0,2.0,1.0],"inflate":0.25,"uv":[34.0,53.0],"mirror":false}]},{"name":"base_console","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone38","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone38_r1","parent":"bone38","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-10.5,14.25,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[0.5,14.975,-18.175],"size":[6.0,1.0,6.0],"inflate":0.0,"uv":[63.0,24.0],"mirror":true},{"origin":[-10.5,15.0,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone39_r2","parent":"bone38","pivot":[10.5,15.3433,-19.0458],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-1.5,15.3433,-16.0458],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[12.0,71.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone39_r3","parent":"bone39","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-10.5,14.25,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-10.5,15.0,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone40_r1","parent":"bone40","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-10.5,14.25,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-10.5,15.0,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone39_r4","parent":"bone40","pivot":[0.0,15.5,-19.175],"rotation":[50.002025404100806,0.0,0.0],"cubes":[{"origin":[-2.5,15.0,-19.675],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[19.0,53.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone42","parent":"bone41","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone43","parent":"bone42","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone43_r1","parent":"bone43","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-10.5,14.25,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-10.5,15.0,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone42_r1","parent":"bone42","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-10.5,14.25,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[0.5,14.975,-18.175],"size":[6.0,1.0,6.0],"inflate":0.0,"uv":[63.0,24.0],"mirror":true},{"origin":[-6.5,14.975,-18.175],"size":[6.0,1.0,6.0],"inflate":0.0,"uv":[63.0,24.0],"mirror":false},{"origin":[-10.5,15.0,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone41_r1","parent":"bone41","pivot":[9.5,15.5,-19.175],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-10.5,14.25,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-6.5,14.975,-18.175],"size":[6.0,1.0,6.0],"inflate":0.0,"uv":[63.0,24.0],"mirror":false},{"origin":[-10.5,15.0,-19.175],"size":[21.0,1.0,13.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone39_r5","parent":"bone40","pivot":[10.5,15.3433,-19.0458],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-1.5,15.3433,-16.0458],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[12.0,71.0],"mirror":false}]},{"name":"bone39_r1","parent":"bone38","pivot":[0.0,15.5,-19.175],"rotation":[50.002025404100806,0.0,0.0],"cubes":[{"origin":[-2.5,15.0,-19.675],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[19.0,53.0],"mirror":false}]},{"name":"bone19","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,13.0,-20.175],"size":[21.0,3.0,2.0],"inflate":0.0,"uv":[56.0,0.0],"mirror":false}]},{"name":"bone20","parent":"bone19","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-20.175],"size":[21.0,3.0,2.0],"inflate":0.0,"uv":[56.0,0.0],"mirror":false}]},{"name":"bone21","parent":"bone20","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-20.175],"size":[21.0,3.0,2.0],"inflate":0.0,"uv":[56.0,0.0],"mirror":false}]},{"name":"bone22","parent":"bone21","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-20.175],"size":[21.0,3.0,2.0],"inflate":0.0,"uv":[56.0,0.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-20.175],"size":[21.0,3.0,2.0],"inflate":0.0,"uv":[56.0,0.0],"mirror":false}]},{"name":"bone24","parent":"bone23","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-20.175],"size":[21.0,3.0,2.0],"inflate":0.0,"uv":[56.0,0.0],"mirror":false}]},{"name":"bone86","parent":"base_console","pivot":[0.0,21.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[0.0,21.0,-10.23],"size":[1.0,13.0,10.0],"inflate":0.0,"uv":[25.0,61.0],"mirror":false}]},{"name":"bone87","parent":"bone86","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-10.23],"size":[1.0,13.0,10.0],"inflate":0.0,"uv":[25.0,61.0],"mirror":false}]},{"name":"bone88","parent":"bone87","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,21.0,-10.23],"size":[1.0,13.0,10.0],"inflate":0.0,"uv":[25.0,61.0],"mirror":false}]},{"name":"bone89","parent":"bone88","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-10.23],"size":[1.0,13.0,10.0],"inflate":0.0,"uv":[25.0,61.0],"mirror":false}]},{"name":"bone90","parent":"bone89","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,21.0,-10.23],"size":[1.0,13.0,10.0],"inflate":0.0,"uv":[25.0,61.0],"mirror":false}]},{"name":"bone91","parent":"bone90","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[0.0,22.0,-10.23],"size":[1.0,13.0,10.0],"inflate":0.0,"uv":[25.0,61.0],"mirror":false}]},{"name":"bone32","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone32_r1","parent":"bone32","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-22.73],"size":[2.0,1.0,16.0],"inflate":0.0,"uv":[35.0,43.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone33_r1","parent":"bone33","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-22.73],"size":[2.0,1.0,16.0],"inflate":0.0,"uv":[35.0,43.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone34_r1","parent":"bone34","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-22.73],"size":[2.0,1.0,16.0],"inflate":0.0,"uv":[35.0,43.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone35_r1","parent":"bone35","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-22.73],"size":[2.0,1.0,16.0],"inflate":0.0,"uv":[35.0,43.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone37","parent":"bone36","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone37_r1","parent":"bone37","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-22.73],"size":[2.0,1.0,16.0],"inflate":0.0,"uv":[35.0,43.0],"mirror":false}]},{"name":"bone36_r1","parent":"bone36","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-1.0,15.0,-22.73],"size":[2.0,1.0,16.0],"inflate":0.0,"uv":[35.0,43.0],"mirror":false}]},{"name":"bone7","parent":"base_console","pivot":[0.0,21.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,21.0,-8.73],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,21.0,-8.73],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,21.0,-8.73],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"bone10","parent":"bone9","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,21.0,-8.73],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,21.0,-8.73],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,21.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,21.0,-8.73],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"bone51","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,13.0,-18.175],"size":[21.0,1.0,11.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone52","parent":"bone51","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-18.175],"size":[21.0,1.0,11.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone53","parent":"bone52","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-18.175],"size":[21.0,1.0,11.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone54","parent":"bone53","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-18.175],"size":[21.0,1.0,11.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone55","parent":"bone54","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-18.175],"size":[21.0,1.0,11.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone74","parent":"bone55","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-10.5,13.0,-18.175],"size":[21.0,1.0,11.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone","parent":"base_console","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,-0.0,-9.8],"size":[9.0,3.0,10.0],"inflate":0.0,"uv":[56.0,33.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-9.8],"size":[9.0,3.0,10.0],"inflate":0.0,"uv":[56.0,33.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-9.8],"size":[9.0,3.0,10.0],"inflate":0.0,"uv":[56.0,33.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-9.8],"size":[9.0,3.0,10.0],"inflate":0.0,"uv":[56.0,33.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-9.8],"size":[9.0,3.0,10.0],"inflate":0.0,"uv":[56.0,33.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-9.8],"size":[9.0,3.0,10.0],"inflate":0.0,"uv":[56.0,33.0],"mirror":false}]},{"name":"bone13","parent":"base_console","pivot":[0.0,3.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone62","parent":"bone13","pivot":[0.0,3.0,-10.75],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-10.75],"size":[2.0,8.0,2.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone62_r1","parent":"bone62","pivot":[0.0,7.0,-10.75],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.0,7.0,-10.75],"size":[2.0,7.0,5.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone15","parent":"bone14","pivot":[0.0,3.0,-10.75],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-10.75],"size":[2.0,8.0,2.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone15_r1","parent":"bone15","pivot":[0.0,7.0,-10.75],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.0,7.0,-10.75],"size":[2.0,7.0,5.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone16","parent":"bone14","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone17","parent":"bone16","pivot":[0.0,3.0,-10.75],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-10.75],"size":[2.0,8.0,2.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone17_r1","parent":"bone17","pivot":[0.0,7.0,-10.75],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.0,7.0,-10.75],"size":[2.0,7.0,5.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone18","parent":"bone16","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone57","parent":"bone18","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone59","parent":"bone57","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone60","parent":"bone59","pivot":[0.0,3.0,-10.75],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-10.75],"size":[2.0,8.0,2.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone60_r1","parent":"bone60","pivot":[0.0,7.0,-10.75],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.0,7.0,-10.75],"size":[2.0,7.0,5.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone58","parent":"bone57","pivot":[0.0,3.0,-10.75],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-10.75],"size":[2.0,8.0,2.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone58_r1","parent":"bone58","pivot":[0.0,7.0,-10.75],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.0,7.0,-10.75],"size":[2.0,7.0,5.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone56","parent":"bone18","pivot":[0.0,3.0,-10.75],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-10.75],"size":[2.0,8.0,2.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone56_r1","parent":"bone56","pivot":[0.0,7.0,-10.75],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-1.0,7.0,-10.75],"size":[2.0,7.0,5.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone25","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,13.0,-22.73],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[27.0,94.0],"mirror":false}]},{"name":"bone26","parent":"bone25","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,13.0,-22.73],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[27.0,94.0],"mirror":false}]},{"name":"bone27","parent":"bone26","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,13.0,-22.73],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[27.0,94.0],"mirror":false}]},{"name":"bone28","parent":"bone27","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,13.0,-22.73],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[27.0,94.0],"mirror":false}]},{"name":"bone29","parent":"bone28","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,13.0,-22.73],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[27.0,94.0],"mirror":false}]},{"name":"bone30","parent":"bone29","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,13.0,-22.73],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[27.0,94.0],"mirror":false}]},{"name":"bone44","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone44_r1","parent":"bone44","pivot":[0.0,16.0,-20.175],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,15.0,-23.175],"size":[19.0,1.0,3.0],"inflate":0.0,"uv":[56.0,6.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone45_r1","parent":"bone45","pivot":[0.0,16.0,-20.175],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,15.0,-23.175],"size":[19.0,1.0,3.0],"inflate":0.0,"uv":[56.0,6.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone46_r1","parent":"bone46","pivot":[0.0,16.0,-20.175],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,15.0,-23.175],"size":[19.0,1.0,3.0],"inflate":0.0,"uv":[56.0,6.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone48","parent":"bone47","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone49","parent":"bone48","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone49_r1","parent":"bone49","pivot":[0.0,16.0,-20.175],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,15.0,-23.175],"size":[19.0,1.0,3.0],"inflate":0.0,"uv":[56.0,6.0],"mirror":false}]},{"name":"bone48_r1","parent":"bone48","pivot":[0.0,16.0,-20.175],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,15.0,-23.175],"size":[19.0,1.0,3.0],"inflate":0.0,"uv":[56.0,6.0],"mirror":false}]},{"name":"bone47_r1","parent":"bone47","pivot":[0.0,16.0,-20.175],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,15.0,-23.175],"size":[19.0,1.0,3.0],"inflate":0.0,"uv":[56.0,6.0],"mirror":false}]},{"name":"bone50","parent":"base_console","pivot":[0.0,16.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone50_r1","parent":"bone50","pivot":[0.75,13.0,-22.73],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-0.25,9.5,-25.73],"size":[1.0,11.0,16.0],"inflate":-0.22499998410542807,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone75","parent":"bone50","pivot":[0.0,16.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone75_r1","parent":"bone75","pivot":[0.75,13.0,-22.73],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-0.25,9.5,-25.73],"size":[1.0,11.0,16.0],"inflate":-0.22499998410542807,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone76","parent":"bone75","pivot":[0.0,16.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone76_r1","parent":"bone76","pivot":[0.75,13.0,-22.73],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-0.25,9.5,-25.73],"size":[1.0,11.0,16.0],"inflate":-0.22499998410542807,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone77","parent":"bone76","pivot":[0.0,16.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone77_r1","parent":"bone77","pivot":[0.75,13.0,-22.73],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-0.25,9.5,-25.73],"size":[1.0,11.0,16.0],"inflate":-0.22499998410542807,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone78","parent":"bone77","pivot":[0.0,16.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone78_r1","parent":"bone78","pivot":[0.75,13.0,-22.73],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-0.25,9.5,-25.73],"size":[1.0,11.0,16.0],"inflate":-0.22499998410542807,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone79","parent":"bone78","pivot":[0.0,16.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone79_r1","parent":"bone79","pivot":[0.75,13.0,-22.73],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-0.25,9.5,-25.73],"size":[1.0,11.0,16.0],"inflate":-0.22499998410542807,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone61","parent":"base_console","pivot":[0.0,3.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone63","parent":"bone61","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone64","parent":"bone63","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone65","parent":"bone64","pivot":[0.0,3.0,-9.3],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.5,3.0,-9.3],"size":[9.0,11.0,1.0],"inflate":0.0,"uv":[67.0,68.0],"mirror":false}]},{"name":"bone65_r1","parent":"bone65","pivot":[1.0,8.0,-9.95],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-5.5,6.5,-9.95],"size":[11.0,7.0,3.0],"inflate":0.0,"uv":[56.0,47.0],"mirror":false}]},{"name":"bone66","parent":"bone64","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone70","parent":"bone66","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone71","parent":"bone70","pivot":[0.0,3.0,-9.3],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.5,3.0,-9.3],"size":[9.0,11.0,1.0],"inflate":0.0,"uv":[67.0,68.0],"mirror":false}]},{"name":"bone71_r1","parent":"bone71","pivot":[1.0,8.0,-9.95],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-5.5,6.5,-9.95],"size":[11.0,7.0,3.0],"inflate":0.0,"uv":[56.0,47.0],"mirror":false}]},{"name":"bone72","parent":"bone70","pivot":[0.0,3.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone73","parent":"bone72","pivot":[0.0,3.0,-9.3],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.5,3.0,-9.3],"size":[9.0,11.0,1.0],"inflate":0.0,"uv":[67.0,68.0],"mirror":false}]},{"name":"bone73_r1","parent":"bone73","pivot":[1.0,8.0,-9.95],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-5.5,6.5,-9.95],"size":[11.0,7.0,3.0],"inflate":0.0,"uv":[56.0,47.0],"mirror":false}]},{"name":"bone67","parent":"bone66","pivot":[0.0,3.0,-9.3],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.5,3.0,-9.3],"size":[9.0,11.0,1.0],"inflate":0.0,"uv":[67.0,68.0],"mirror":false}]},{"name":"bone67_r1","parent":"bone67","pivot":[1.0,8.0,-9.95],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-5.5,6.5,-9.95],"size":[11.0,7.0,3.0],"inflate":0.0,"uv":[56.0,47.0],"mirror":false}]},{"name":"bone69","parent":"bone63","pivot":[0.0,3.0,-9.3],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.5,3.0,-9.3],"size":[9.0,11.0,1.0],"inflate":0.0,"uv":[67.0,68.0],"mirror":false}]},{"name":"bone69_r1","parent":"bone69","pivot":[1.0,8.0,-9.95],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-5.5,6.5,-9.95],"size":[11.0,7.0,3.0],"inflate":0.0,"uv":[56.0,47.0],"mirror":false}]},{"name":"bone68","parent":"bone61","pivot":[0.0,3.0,-9.3],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-4.5,3.0,-9.3],"size":[9.0,11.0,1.0],"inflate":0.0,"uv":[67.0,68.0],"mirror":false}]},{"name":"bone68_r1","parent":"bone68","pivot":[1.0,8.0,-9.95],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-5.5,6.5,-9.95],"size":[11.0,7.0,3.0],"inflate":0.0,"uv":[56.0,47.0],"mirror":false}]},{"name":"bone80","parent":"base_console","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone81","parent":"bone80","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone82","parent":"bone81","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone83","parent":"bone82","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone83_r1","parent":"bone83","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.0,15.5,-15.73],"size":[1.0,3.0,9.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone84","parent":"bone83","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone84_r1","parent":"bone84","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.0,15.5,-15.73],"size":[1.0,3.0,9.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone85","parent":"bone84","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone85_r1","parent":"bone85","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.0,15.5,-15.73],"size":[1.0,3.0,9.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone82_r1","parent":"bone82","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.0,15.5,-15.73],"size":[1.0,3.0,9.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone81_r1","parent":"bone81","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.0,15.5,-15.73],"size":[1.0,3.0,9.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone80_r1","parent":"bone80","pivot":[0.0,16.0,-22.73],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.0,15.5,-15.73],"size":[1.0,3.0,9.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone92","parent":"base_console","pivot":[0.0,19.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone93","parent":"bone92","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone94","parent":"bone93","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone94_r1","parent":"bone94","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-3.5,21.0,-7.925],"size":[7.0,1.0,8.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone95","parent":"bone94","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone95_r1","parent":"bone95","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-3.5,21.0,-7.925],"size":[7.0,1.0,8.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone96","parent":"bone95","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone96_r1","parent":"bone96","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-3.5,21.0,-7.925],"size":[7.0,1.0,8.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone97","parent":"bone96","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone97_r1","parent":"bone97","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-3.5,21.0,-7.925],"size":[7.0,1.0,8.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone93_r1","parent":"bone93","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-3.5,21.0,-7.925],"size":[7.0,1.0,8.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone92_r1","parent":"bone92","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-3.5,21.0,-7.925],"size":[7.0,1.0,8.0],"inflate":0.0,"uv":[19.0,43.0],"mirror":false}]},{"name":"bone114","parent":"base_console","pivot":[0.0,19.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone121","parent":"bone114","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone94_r2","parent":"bone121","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,20.975,-8.675],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[41.0,98.0],"mirror":false}]},{"name":"bone126","parent":"bone121","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone95_r2","parent":"bone126","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,20.975,-8.675],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[41.0,98.0],"mirror":false}]},{"name":"bone129","parent":"bone126","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone130","parent":"bone129","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone131","parent":"bone130","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone98_r1","parent":"bone131","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,20.975,-8.675],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[41.0,98.0],"mirror":false}]},{"name":"bone97_r2","parent":"bone130","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,20.975,-8.675],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[41.0,98.0],"mirror":false}]},{"name":"bone96_r2","parent":"bone129","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,20.975,-8.675],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[41.0,98.0],"mirror":false}]},{"name":"bone93_r2","parent":"bone114","pivot":[0.0,22.0,-7.925],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,20.975,-8.675],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[41.0,98.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/nuka.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/nuka.json
index fcc73e46..bef18ffb 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/nuka.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/nuka.json
@@ -1,1484 +1 @@
-{
- "format_version": "1.12.0",
- "minecraft:geometry": [
- {
- "description": {
- "identifier": "geometry.unknown",
- "texture_width": 128,
- "texture_height": 128,
- "visible_bounds_width": 4,
- "visible_bounds_height": 3.5,
- "visible_bounds_offset": [0, 1.25, 0]
- },
- "bones": [
- {
- "name": "bb_main",
- "pivot": [0, 0, 0],
- "cubes": [
- {"origin": [-4.75, 17, -17], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [15, 18, -7.5], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [15.7, 18.1, -6.05], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [16.6, 18.1, -4.8], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [17.5, 17, 3.5], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [15.1, 16.6, 6.8], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [13.95, 17, 8.1], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [2.7, 18, 15], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-10, 25, 3], "size": [4, 4, 4], "uv": [-3, -3]},
- {"origin": [5.6, 25, 3], "size": [4, 4, 4], "uv": [-3, -3]},
- {"origin": [-1.8, 25, -10.4], "size": [4, 4, 4], "uv": [-3, -3]},
- {"origin": [-5.2, 17.3, 14.2], "size": [4, 4, 4], "uv": [-3, -3]},
- {"origin": [-3.6, 21.2, 10.8], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [1.5, 18.7, 13.8], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [-0.1, 18.7, 13.8], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [-0.1, 18.7, 13.8], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [-0.1, 17.8, 15], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [-0.1, 17.8, 15], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [1.5, 17.8, 15], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [1.5, 17.8, 15], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [1.5, 17.1, 16.3], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [1.5, 17.1, 16.3], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [-0.1, 17.1, 16.3], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [-0.1, 17.1, 16.3], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [5.8, 17.1, 16.3], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [5.8, 17.1, 16.3], "size": [1, 1, 1], "uv": [0, 0]},
- {"origin": [0.6, 22, 11.1], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [9.3, 18.8, 8.8], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [9.3, 18.8, 8.8], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.7, 19.6, 3.7], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.7, 19.6, 3.7], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [13.9, 17.8, 3.7], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [13.9, 17.8, 3.7], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.4, 16.6, 11], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.4, 16.6, 11], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.4, 20.4, -6.1], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.4, 20.4, -6.1], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [13.5, 18.7, -10], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [13.5, 18.7, -10], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [9.5, 18.7, -11.1], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [9.5, 18.7, -11.1], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.2, 17, -14.2], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [11.2, 17, -14.2], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-1.8, 17, -17.4], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [2.2, 17.5, -16.2], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [12, 17, -12], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [12, 17, -12], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [1.5, 20.6, -13.5], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [1.5, 20.6, -13.5], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-2.2, 20.6, -13.5], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-2.2, 20.6, -13.5], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-18.1, 18, -4.6], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-13.5, 21, -6.4], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-17.2, 17.4, -7.8], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-12.2, 19.2, -11], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-12.2, 19.2, 8.9], "size": [2, 2, 2], "uv": [-1, -1]},
- {"origin": [-18.7, 13.2, 8], "size": [4, 4, 4], "uv": [-3, -3]},
- {"origin": [-15.1, 18, 3.3], "size": [4, 4, 4], "uv": [-3, -3]}
- ]
- },
- {
- "name": "rotor_zminus3_yplus5_rotateY",
- "pivot": [0, 33.1, 0]
- },
- {
- "name": "bone110",
- "parent": "rotor_zminus3_yplus5_rotateY",
- "pivot": [0, 27.1, -7.5],
- "cubes": [
- {"origin": [-5, 24.1, -8], "size": [10, 6, 1], "uv": [62, 23]}
- ]
- },
- {
- "name": "bone111",
- "parent": "rotor_zminus3_yplus5_rotateY",
- "pivot": [0, 8, 0],
- "rotation": [0, -120, 0]
- },
- {
- "name": "bone113",
- "parent": "bone111",
- "pivot": [0, 27.1, -7.5],
- "cubes": [
- {"origin": [-5, 24.1, -8], "size": [10, 6, 1], "uv": [62, 23]}
- ]
- },
- {
- "name": "bone112",
- "parent": "bone111",
- "pivot": [0, 8, 0],
- "rotation": [0, -120, 0]
- },
- {
- "name": "bone118",
- "parent": "bone112",
- "pivot": [0, 27.1, -7.5],
- "cubes": [
- {"origin": [-5, 24.1, -8], "size": [10, 6, 1], "uv": [62, 23]}
- ]
- },
- {
- "name": "panels",
- "pivot": [0, -1, 0]
- },
- {
- "name": "North",
- "parent": "panels",
- "pivot": [0, 5, 0]
- },
- {
- "name": "bone148",
- "parent": "North",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [1, 15.75, -12.1], "size": [3, 1, 3], "uv": [88, 46]},
- {"origin": [-2.75, 15.75, -12.1], "size": [3, 1, 3], "uv": [88, 46]},
- {"origin": [-3.5, 15.1, -12.85], "size": [8, 1, 4], "uv": [61, 55]},
- {"origin": [-1, 15.75, -17.1], "size": [1, 1, 3], "uv": [0, 39]},
- {"origin": [-5.25, 15.025, -17.1], "size": [3, 1, 3], "uv": [0, 87]},
- {"origin": [1.25, 15.125, -15.35], "size": [5, 1, 3], "uv": [14, 47]},
- {"origin": [0.75, 15.025, -15.6], "size": [5, 1, 3], "uv": [82, 54]},
- {"origin": [0.25, 15.075, -17.35], "size": [6, 1, 2], "uv": [77, 8]}
- ]
- },
- {
- "name": "gauge1",
- "parent": "bone148",
- "pivot": [2.5, 16.35, -10.6],
- "rotation": [0, 125, 0],
- "cubes": [
- {"origin": [2.25, 15.85, -10.85], "size": [1, 1, 2], "uv": [13, 73]}
- ]
- },
- {
- "name": "gauge2",
- "parent": "bone148",
- "pivot": [-1.25, 16.35, -10.6],
- "rotation": [0, -45, 0],
- "cubes": [
- {"origin": [-1.5, 15.85, -10.85], "size": [1, 1, 2], "uv": [13, 73]}
- ]
- },
- {
- "name": "bigLever1",
- "parent": "bone148",
- "pivot": [-3.75, 15.525, -15.85],
- "rotation": [-52.5, 0, 0],
- "cubes": [
- {"origin": [-5.25, 17.275, -16.35], "size": [3, 1, 1], "uv": [88, 51]},
- {"origin": [-5.25, 14.775, -16.35], "size": [3, 3, 1], "inflate": -0.25, "uv": [41, 90]}
- ]
- },
- {
- "name": "smallLever1",
- "parent": "bone148",
- "pivot": [-0.5, 16.125, -15.6],
- "rotation": [-40, 0, 0],
- "cubes": [
- {"origin": [-1, 15.75, -16.1], "size": [1, 3, 1], "inflate": -0.25, "uv": [0, 15]},
- {"origin": [-1, 18, -16.1], "size": [1, 1, 1], "uv": [6, 39]}
- ]
- },
- {
- "name": "North_left",
- "parent": "panels",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone114",
- "parent": "North_left",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-6.5, 15.25, -17.1], "size": [5, 1, 6], "uv": [0, 65]},
- {"origin": [-4.75, 15.05, -17.1], "size": [11, 1, 8], "uv": [31, 25]},
- {"origin": [0.5, 15.75, -13.1], "size": [3, 1, 3], "uv": [88, 12]},
- {"origin": [0.75, 15.85, -13.35], "size": [3, 1, 3], "uv": [82, 87]},
- {"origin": [-1, 15.75, -16.1], "size": [1, 1, 3], "uv": [0, 39]},
- {"origin": [-6.25, 15.35, -16.85], "size": [3, 1, 3], "uv": [87, 79]},
- {"origin": [-4.5, 15.35, -16.85], "size": [3, 1, 6], "uv": [0, 73]}
- ]
- },
- {
- "name": "smallLever2",
- "parent": "bone114",
- "pivot": [-0.5, 16.125, -14.6],
- "rotation": [-40, 0, 0],
- "cubes": [
- {"origin": [-1, 15.75, -15.1], "size": [1, 3, 1], "inflate": -0.25, "uv": [0, 15]},
- {"origin": [-1, 18, -15.1], "size": [1, 1, 1], "uv": [6, 39]}
- ]
- },
- {
- "name": "bone119",
- "parent": "bone114",
- "pivot": [3.25, 16, -14.1],
- "rotation": [-25, 0, 0],
- "cubes": [
- {"origin": [0.25, 14, -17.1], "size": [6, 2, 3], "uv": [76, 61]},
- {"origin": [0.75, 14.025, -16.85], "size": [5, 2, 3], "uv": [0, 81]},
- {"origin": [1.25, 14.125, -16.6], "size": [5, 2, 2], "uv": [28, 84]}
- ]
- },
- {
- "name": "bone115",
- "parent": "bone114",
- "pivot": [0, 15.5, -12.1],
- "rotation": [-35, 0, 0],
- "cubes": [
- {"origin": [-1.5, 18, -9.6], "size": [3, 6, 3], "uv": [0, 0]},
- {"origin": [-1, 24, -9.1], "size": [2, 1, 2], "uv": [50, 91]}
- ]
- },
- {
- "name": "bone116",
- "parent": "bone115",
- "pivot": [0, 21, -9.6],
- "rotation": [30, 0, 0],
- "cubes": [
- {"origin": [-0.5, 21, -10.85], "size": [1, 1, 2], "uv": [34, 66]}
- ]
- },
- {
- "name": "South_left",
- "parent": "panels",
- "pivot": [0, 5, 0],
- "rotation": [0, -120, 0]
- },
- {
- "name": "bone120",
- "parent": "South_left",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-4, 15.75, -13.1], "size": [3, 1, 3], "uv": [69, 87]},
- {"origin": [-5, 15.25, -14.85], "size": [3, 1, 1], "inflate": 0.25, "uv": [10, 87]},
- {"origin": [-6, 15.025, -17.85], "size": [5, 1, 4], "uv": [75, 2]},
- {"origin": [-0.75, 15.025, -17.35], "size": [2, 1, 7], "uv": [24, 35]},
- {"origin": [1.5, 15.025, -17.35], "size": [5, 1, 3], "uv": [82, 54]},
- {"origin": [2, 15.125, -17.1], "size": [5, 1, 3], "uv": [14, 47]},
- {"origin": [1.75, 15.025, -14.35], "size": [3, 1, 3], "uv": [0, 87]},
- {"origin": [-2, 15.525, -17.35], "size": [1, 1, 1], "uv": [19, 59]},
- {"origin": [-0.25, 15.525, -16.85], "size": [1, 1, 1], "uv": [61, 35]},
- {"origin": [-6, 15.525, -17.35], "size": [1, 1, 1], "uv": [19, 59]}
- ]
- },
- {
- "name": "bigLever",
- "parent": "bone120",
- "pivot": [3.25, 15.525, -12.85],
- "rotation": [-52.5, 0, 0],
- "cubes": [
- {"origin": [1.75, 17.275, -13.35], "size": [3, 1, 1], "uv": [88, 51]},
- {"origin": [1.75, 14.775, -13.35], "size": [3, 3, 1], "inflate": -0.25, "uv": [41, 90]}
- ]
- },
- {
- "name": "button2",
- "parent": "bone120",
- "pivot": [0, 0, 0],
- "cubes": [
- {"origin": [-3.5, 16, -12.6], "size": [2, 2, 2], "inflate": -0.25, "uv": [90, 0]}
- ]
- },
- {
- "name": "bone124",
- "parent": "bone120",
- "pivot": [-3.5, 16.025, -16.6],
- "rotation": [32.5, 0, 0],
- "cubes": [
- {"origin": [-4, 15.025, -16.6], "size": [1, 1, 1], "uv": [28, 47]}
- ]
- },
- {
- "name": "South",
- "parent": "panels",
- "pivot": [0, 5, 0],
- "rotation": [0, 180, 0]
- },
- {
- "name": "bone127",
- "parent": "South",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [0.75, 16.025, -17.35], "size": [5, 1, 5], "uv": [18, 68]},
- {"origin": [-2.75, 15.075, -17.35], "size": [3, 1, 5], "uv": [45, 77]},
- {"origin": [-6, 15.075, -17.85], "size": [6, 1, 6], "uv": [61, 35]},
- {"origin": [-6.75, 15.575, -17.35], "size": [1, 1, 2], "uv": [24, 38]},
- {"origin": [-4.25, 15.175, -16.6], "size": [1, 1, 4], "uv": [0, 33]},
- {"origin": [-3, 15.225, -16.85], "size": [3, 1, 4], "uv": [0, 22]},
- {"origin": [1.25, 16.125, -16.85], "size": [4, 1, 4], "uv": [58, 80]}
- ]
- },
- {
- "name": "smallLever",
- "parent": "bone127",
- "pivot": [-0.5, 16.125, -14.85],
- "rotation": [-40, 0, 0],
- "cubes": [
- {"origin": [-4.25, 15.75, -15.35], "size": [1, 3, 1], "inflate": -0.25, "uv": [0, 15]},
- {"origin": [-4.25, 18, -15.35], "size": [1, 1, 1], "uv": [6, 39]}
- ]
- },
- {
- "name": "reallysmallLever",
- "parent": "bone127",
- "pivot": [-6, 16.575, -16.35],
- "rotation": [22.5, 0, 0],
- "cubes": [
- {"origin": [-6.5, 15.575, -16.35], "size": [1, 1, 2], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone131",
- "parent": "bone127",
- "pivot": [0, 0, -0.25],
- "cubes": [
- {"origin": [-4.25, 15.75, -16.35], "size": [1, 1, 3], "uv": [0, 39]}
- ]
- },
- {
- "name": "bone121",
- "parent": "bone127",
- "pivot": [0, 15.75, -7.85],
- "rotation": [-25, 0, 0],
- "cubes": [
- {"origin": [-5, 13.75, -10.85], "size": [10, 2, 3], "uv": [50, 6]},
- {"origin": [-3.5, 13.775, -10.1], "size": [4, 2, 2], "uv": [56, 86]},
- {"origin": [-3.6, 13.875, -9.85], "size": [4, 2, 2], "uv": [84, 41]},
- {"origin": [-3.25, 15.275, -9.85], "size": [1, 2, 1], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone122",
- "parent": "bone121",
- "pivot": [2.5, 15.775, -10.6],
- "rotation": [22.5, 0, 0],
- "cubes": [
- {"origin": [1.5, 14.775, -10.6], "size": [2, 1, 2], "uv": [11, 91]}
- ]
- },
- {
- "name": "button",
- "parent": "bone122",
- "pivot": [0, 0, 0],
- "cubes": [
- {"origin": [1.5, 14.525, -10.6], "size": [2, 2, 2], "inflate": -0.25, "uv": [90, 0]}
- ]
- },
- {
- "name": "South_right",
- "parent": "panels",
- "pivot": [0, 5, 0],
- "rotation": [0, 120, 0]
- },
- {
- "name": "bone117",
- "parent": "South_right",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-7, 15.075, -16.85], "size": [6, 1, 6], "uv": [42, 55]},
- {"origin": [4, 15.325, -19.1], "size": [2, 1, 5], "uv": [0, 15]},
- {"origin": [-0.5, 15.825, -14.85], "size": [5, 1, 4], "uv": [69, 17]},
- {"origin": [4.5, 15.325, -13.85], "size": [1, 1, 2], "uv": [36, 35]},
- {"origin": [-5.25, 15.325, -14.6], "size": [4, 1, 4], "uv": [80, 31]}
- ]
- },
- {
- "name": "switches",
- "parent": "bone117",
- "pivot": [2.25, 16.075, -16.35],
- "rotation": [25, 0, 0],
- "cubes": [
- {"origin": [-0.75, 15.075, -16.35], "size": [6, 1, 1], "uv": [19, 52]}
- ]
- },
- {
- "name": "dial1",
- "parent": "bone117",
- "pivot": [0.75, 16.575, -12.85],
- "rotation": [-17.5, 0, 0],
- "cubes": [
- {"origin": [0.25, 15.575, -13.85], "size": [1, 2, 2], "uv": [24, 33]}
- ]
- },
- {
- "name": "dial2",
- "parent": "bone117",
- "pivot": [2, 16.575, -12.85],
- "rotation": [32.5, 0, 0],
- "cubes": [
- {"origin": [1.5, 15.575, -13.85], "size": [1, 2, 2], "uv": [24, 33]}
- ]
- },
- {
- "name": "dial3",
- "parent": "bone117",
- "pivot": [3.25, 16.575, -12.85],
- "rotation": [-35, 0, 0],
- "cubes": [
- {"origin": [2.75, 15.575, -13.85], "size": [1, 2, 2], "uv": [24, 33]}
- ]
- },
- {
- "name": "smallLever3",
- "parent": "bone117",
- "pivot": [5, 15.825, -12.85],
- "rotation": [-45, 0, 0],
- "cubes": [
- {"origin": [5, 15.075, -13.1], "size": [1, 3, 1], "uv": [10, 15]},
- {"origin": [4.5, 18.075, -13.35], "size": [1, 1, 1], "uv": [36, 39]}
- ]
- },
- {
- "name": "keyboard",
- "parent": "bone117",
- "pivot": [0, 16.25, -17.1],
- "rotation": [-15, 0, 0],
- "cubes": [
- {"origin": [-5, 15.25, -21.1], "size": [10, 1, 4], "uv": [50, 0]},
- {"origin": [-4, 15.35, -20.85], "size": [8, 1, 3], "uv": [65, 12]}
- ]
- },
- {
- "name": "bone128",
- "parent": "bone117",
- "pivot": [2, 16.825, -10.85],
- "rotation": [47.5, 0, 0],
- "cubes": [
- {"origin": [-0.5, 15.825, -10.85], "size": [5, 1, 2], "uv": [84, 17]}
- ]
- },
- {
- "name": "North_right",
- "parent": "panels",
- "pivot": [0, 5, 0],
- "rotation": [0, 60, 0]
- },
- {
- "name": "bone136",
- "parent": "North_right",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-0.25, 15.075, -17.35], "size": [6, 1, 2], "uv": [77, 8]},
- {"origin": [-4.25, 15.075, -17.6], "size": [4, 1, 3], "uv": [83, 73]},
- {"origin": [-4.25, 15.275, -17.1], "size": [4, 1, 3], "uv": [75, 82]},
- {"origin": [-4, 15.075, -14.35], "size": [5, 1, 2], "uv": [80, 37]},
- {"origin": [-3.5, 16.075, -12.6], "size": [4, 1, 3], "uv": [24, 23]}
- ]
- },
- {
- "name": "smallLever4",
- "parent": "bone136",
- "pivot": [-2.25, 16.125, -15.35],
- "rotation": [-40, 0, 0],
- "cubes": [
- {"origin": [-6, 15.75, -15.85], "size": [1, 3, 1], "inflate": -0.25, "uv": [0, 15]},
- {"origin": [-6, 18, -15.85], "size": [1, 1, 1], "uv": [6, 39]}
- ]
- },
- {
- "name": "bone125",
- "parent": "bone136",
- "pivot": [0, 0, 0],
- "cubes": [
- {"origin": [2, 16.325, -15.1], "size": [2, 1, 4], "uv": [35, 55]},
- {"origin": [1.5, 15.575, -15.6], "size": [3, 1, 5], "uv": [71, 75]}
- ]
- },
- {
- "name": "bone140",
- "parent": "bone136",
- "pivot": [-1.75, 0, -0.75],
- "cubes": [
- {"origin": [-6, 15.75, -16.85], "size": [1, 1, 3], "uv": [0, 39]}
- ]
- },
- {
- "name": "bone139",
- "parent": "bone136",
- "pivot": [-1.25, 16.075, -13.6],
- "rotation": [30, 0, 0],
- "cubes": [
- {"origin": [-3.5, 15.075, -13.6], "size": [4, 1, 1], "uv": [0, 10]}
- ]
- },
- {
- "name": "bone137",
- "parent": "bone136",
- "pivot": [-1.5, 16.825, -10.6],
- "rotation": [22.5, 0, 0]
- },
- {
- "name": "bone138",
- "parent": "bone137",
- "pivot": [-1.5, 16.825, -10.6],
- "rotation": [0, -45, 0],
- "cubes": [
- {"origin": [-1.5, 16.825, -10.6], "size": [3, 0, 3], "uv": [70, 31]}
- ]
- },
- {
- "name": "console",
- "pivot": [0, 0, 0]
- },
- {
- "name": "bone85",
- "parent": "console",
- "pivot": [0, 6, 0]
- },
- {
- "name": "bone73",
- "parent": "bone85",
- "pivot": [0, 2, 0],
- "rotation": [0, -30, 0]
- },
- {
- "name": "bone79",
- "parent": "bone73",
- "pivot": [0, 14, -19],
- "rotation": [40, 0, 0],
- "cubes": [
- {"origin": [-2, 2, -19], "size": [4, 12, 5], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone74",
- "parent": "bone73",
- "pivot": [0, 2, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone75",
- "parent": "bone74",
- "pivot": [0, 14, -19],
- "rotation": [40, 0, 0],
- "cubes": [
- {"origin": [-2, 2, -19], "size": [4, 12, 5], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone76",
- "parent": "bone74",
- "pivot": [0, 2, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone77",
- "parent": "bone76",
- "pivot": [0, 14, -19],
- "rotation": [40, 0, 0],
- "cubes": [
- {"origin": [-2, 2, -19], "size": [4, 12, 5], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone78",
- "parent": "bone76",
- "pivot": [0, 2, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone80",
- "parent": "bone78",
- "pivot": [0, 14, -19],
- "rotation": [40, 0, 0],
- "cubes": [
- {"origin": [-2, 2, -19], "size": [4, 12, 5], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone81",
- "parent": "bone78",
- "pivot": [0, 2, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone82",
- "parent": "bone81",
- "pivot": [0, 14, -19],
- "rotation": [40, 0, 0],
- "cubes": [
- {"origin": [-2, 2, -19], "size": [4, 12, 5], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone83",
- "parent": "bone81",
- "pivot": [0, 2, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone84",
- "parent": "bone83",
- "pivot": [0, 14, -19],
- "rotation": [40, 0, 0],
- "cubes": [
- {"origin": [-2, 2, -19], "size": [4, 12, 5], "uv": [0, 47]}
- ]
- },
- {
- "name": "bone92",
- "parent": "bone85",
- "pivot": [0, 1, 0]
- },
- {
- "name": "bone93",
- "parent": "bone92",
- "pivot": [-0.5, 13, -15.6],
- "rotation": [65, 0, 0],
- "cubes": [
- {"origin": [-8.5, 6, -15.6], "size": [17, 7, 1], "uv": [34, 46]}
- ]
- },
- {
- "name": "bone94",
- "parent": "bone92",
- "pivot": [0, 1, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone95",
- "parent": "bone94",
- "pivot": [-0.5, 13, -15.6],
- "rotation": [65, 0, 0],
- "cubes": [
- {"origin": [-8.5, 6, -15.6], "size": [17, 7, 1], "uv": [34, 46]}
- ]
- },
- {
- "name": "bone96",
- "parent": "bone94",
- "pivot": [0, 1, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone97",
- "parent": "bone96",
- "pivot": [-0.5, 13, -15.6],
- "rotation": [65, 0, 0],
- "cubes": [
- {"origin": [-8.5, 6, -15.6], "size": [17, 7, 1], "uv": [34, 46]}
- ]
- },
- {
- "name": "bone98",
- "parent": "bone96",
- "pivot": [0, 1, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone99",
- "parent": "bone98",
- "pivot": [-0.5, 13, -15.6],
- "rotation": [65, 0, 0],
- "cubes": [
- {"origin": [-8.5, 6, -15.6], "size": [17, 7, 1], "uv": [34, 46]}
- ]
- },
- {
- "name": "bone100",
- "parent": "bone98",
- "pivot": [0, 1, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone101",
- "parent": "bone100",
- "pivot": [-0.5, 13, -15.6],
- "rotation": [65, 0, 0],
- "cubes": [
- {"origin": [-8.5, 6, -15.6], "size": [17, 7, 1], "uv": [34, 46]}
- ]
- },
- {
- "name": "bone102",
- "parent": "bone100",
- "pivot": [0, 1, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone103",
- "parent": "bone102",
- "pivot": [-0.5, 13, -15.6],
- "rotation": [65, 0, 0],
- "cubes": [
- {"origin": [-8.5, 6, -15.6], "size": [17, 7, 1], "uv": [34, 46]}
- ]
- },
- {
- "name": "bone67",
- "parent": "bone85",
- "pivot": [0, 29, 0],
- "cubes": [
- {"origin": [-3, 37, -9.175], "size": [6, 2, 11], "uv": [0, 33]}
- ]
- },
- {
- "name": "bone68",
- "parent": "bone67",
- "pivot": [0, 29, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 37, -9.175], "size": [6, 2, 11], "uv": [0, 33]}
- ]
- },
- {
- "name": "bone69",
- "parent": "bone68",
- "pivot": [0, 29, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 37, -9.175], "size": [6, 2, 11], "uv": [0, 33]}
- ]
- },
- {
- "name": "bone70",
- "parent": "bone69",
- "pivot": [0, 29, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 37, -9.175], "size": [6, 2, 11], "uv": [0, 33]}
- ]
- },
- {
- "name": "bone71",
- "parent": "bone70",
- "pivot": [0, 29, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 37, -9.175], "size": [6, 2, 11], "uv": [0, 33]}
- ]
- },
- {
- "name": "bone72",
- "parent": "bone71",
- "pivot": [0, 29, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 37, -9.175], "size": [6, 2, 11], "uv": [0, 33]}
- ]
- },
- {
- "name": "bone61",
- "parent": "bone85",
- "pivot": [0, 28.5, 0],
- "rotation": [0, -30, 0],
- "cubes": [
- {"origin": [-2, 36.5, -9.5], "size": [4, 3, 7], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone62",
- "parent": "bone61",
- "pivot": [0, 28.5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 36.5, -9.5], "size": [4, 3, 7], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone63",
- "parent": "bone62",
- "pivot": [0, 28.5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 36.5, -9.5], "size": [4, 3, 7], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone64",
- "parent": "bone63",
- "pivot": [0, 28.5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 36.5, -9.5], "size": [4, 3, 7], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone65",
- "parent": "bone64",
- "pivot": [0, 28.5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 36.5, -9.5], "size": [4, 3, 7], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone66",
- "parent": "bone65",
- "pivot": [0, 28.5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 36.5, -9.5], "size": [4, 3, 7], "uv": [19, 55]}
- ]
- },
- {
- "name": "bone55",
- "parent": "bone85",
- "pivot": [0, 13, 0],
- "rotation": [0, -30, 0],
- "cubes": [
- {"origin": [-2, 22, -9.475], "size": [4, 2, 2], "uv": [28, 89]}
- ]
- },
- {
- "name": "bone56",
- "parent": "bone55",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 22, -9.475], "size": [4, 2, 2], "uv": [28, 89]}
- ]
- },
- {
- "name": "bone57",
- "parent": "bone56",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 22, -9.475], "size": [4, 2, 2], "uv": [28, 89]}
- ]
- },
- {
- "name": "bone58",
- "parent": "bone57",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 22, -9.475], "size": [4, 2, 2], "uv": [28, 89]}
- ]
- },
- {
- "name": "bone59",
- "parent": "bone58",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 22, -9.475], "size": [4, 2, 2], "uv": [28, 89]}
- ]
- },
- {
- "name": "bone60",
- "parent": "bone59",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 22, -9.475], "size": [4, 2, 2], "uv": [28, 89]}
- ]
- },
- {
- "name": "bone49",
- "parent": "bone85",
- "pivot": [0, 13, 0],
- "cubes": [
- {"origin": [-3, 22, -9.2], "size": [6, 2, 3], "uv": [76, 67]}
- ]
- },
- {
- "name": "bone50",
- "parent": "bone49",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -9.2], "size": [6, 2, 3], "uv": [76, 67]}
- ]
- },
- {
- "name": "bone51",
- "parent": "bone50",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -9.2], "size": [6, 2, 3], "uv": [76, 67]}
- ]
- },
- {
- "name": "bone52",
- "parent": "bone51",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -9.2], "size": [6, 2, 3], "uv": [76, 67]}
- ]
- },
- {
- "name": "bone53",
- "parent": "bone52",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -9.2], "size": [6, 2, 3], "uv": [76, 67]}
- ]
- },
- {
- "name": "bone54",
- "parent": "bone53",
- "pivot": [0, 13, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -9.2], "size": [6, 2, 3], "uv": [76, 67]}
- ]
- },
- {
- "name": "bone43",
- "parent": "bone85",
- "pivot": [0, 14, 0],
- "cubes": [
- {"origin": [-3, 22, -7], "size": [6, 15, 1], "uv": [61, 63]}
- ]
- },
- {
- "name": "bone44",
- "parent": "bone43",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -7], "size": [6, 15, 1], "uv": [61, 63]}
- ]
- },
- {
- "name": "bone45",
- "parent": "bone44",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -7], "size": [6, 15, 1], "uv": [61, 63]}
- ]
- },
- {
- "name": "bone46",
- "parent": "bone45",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -7], "size": [6, 15, 1], "uv": [61, 63]},
- {"origin": [-2.5, 31.5, -7.35], "size": [5, 4, 1], "uv": [85, 23]},
- {"origin": [-2.5, 26.5, -7.35], "size": [5, 4, 1], "uv": [43, 84]}
- ]
- },
- {
- "name": "bone47",
- "parent": "bone46",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -7], "size": [6, 15, 1], "uv": [61, 63]}
- ]
- },
- {
- "name": "bone48",
- "parent": "bone47",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-3, 22, -7], "size": [6, 15, 1], "uv": [61, 63]}
- ]
- },
- {
- "name": "bone37",
- "parent": "bone85",
- "pivot": [0, 14, 0],
- "rotation": [0, -30, 0],
- "cubes": [
- {"origin": [-1, 22, -8], "size": [2, 15, 2], "uv": [19, 75]}
- ]
- },
- {
- "name": "bone38",
- "parent": "bone37",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-1, 22, -8], "size": [2, 15, 2], "uv": [19, 75]}
- ]
- },
- {
- "name": "bone39",
- "parent": "bone38",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-1, 22, -8], "size": [2, 15, 2], "uv": [19, 75]}
- ]
- },
- {
- "name": "bone40",
- "parent": "bone39",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-1, 22, -8], "size": [2, 15, 2], "uv": [19, 75]}
- ]
- },
- {
- "name": "bone41",
- "parent": "bone40",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-1, 22, -8], "size": [2, 15, 2], "uv": [19, 75]}
- ]
- },
- {
- "name": "bone42",
- "parent": "bone41",
- "pivot": [0, 14, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-1, 22, -8], "size": [2, 15, 2], "uv": [19, 75]}
- ]
- },
- {
- "name": "bone25",
- "parent": "bone85",
- "pivot": [0, 5, 0]
- },
- {
- "name": "bone31",
- "parent": "bone25",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-9, 15, -18.6], "size": [18, 1, 13], "uv": [0, 0]}
- ]
- },
- {
- "name": "bone26",
- "parent": "bone25",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone32",
- "parent": "bone26",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-9, 15, -18.6], "size": [18, 1, 13], "uv": [0, 0]}
- ]
- },
- {
- "name": "bone27",
- "parent": "bone26",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone28",
- "parent": "bone27",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-9, 15, -18.6], "size": [18, 1, 13], "uv": [0, 0]}
- ]
- },
- {
- "name": "bone29",
- "parent": "bone27",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone30",
- "parent": "bone29",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-9, 15, -18.6], "size": [18, 1, 13], "uv": [0, 0]}
- ]
- },
- {
- "name": "bone33",
- "parent": "bone29",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone34",
- "parent": "bone33",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-9, 15, -18.6], "size": [18, 1, 13], "uv": [0, 0]}
- ]
- },
- {
- "name": "bone35",
- "parent": "bone33",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone36",
- "parent": "bone35",
- "pivot": [0, 16, -18.6],
- "rotation": [35, 0, 0],
- "cubes": [
- {"origin": [-9, 15, -18.6], "size": [18, 1, 13], "uv": [0, 0]}
- ]
- },
- {
- "name": "bone13",
- "parent": "bone85",
- "pivot": [0, 5, 0],
- "rotation": [0, -30, 0]
- },
- {
- "name": "bone19",
- "parent": "bone13",
- "pivot": [0, 17, -22],
- "rotation": [27.5, 0, 0],
- "cubes": [
- {"origin": [-2, 15, -22], "size": [4, 2, 15], "uv": [0, 15]}
- ]
- },
- {
- "name": "bone14",
- "parent": "bone13",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone20",
- "parent": "bone14",
- "pivot": [0, 17, -22],
- "rotation": [27.5, 0, 0],
- "cubes": [
- {"origin": [-2, 15, -22], "size": [4, 2, 15], "uv": [0, 15]}
- ]
- },
- {
- "name": "bone15",
- "parent": "bone14",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone16",
- "parent": "bone15",
- "pivot": [0, 17, -22],
- "rotation": [27.5, 0, 0],
- "cubes": [
- {"origin": [-2, 15, -22], "size": [4, 2, 15], "uv": [0, 15]}
- ]
- },
- {
- "name": "bone17",
- "parent": "bone15",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone18",
- "parent": "bone17",
- "pivot": [0, 17, -22],
- "rotation": [27.5, 0, 0],
- "cubes": [
- {"origin": [-2, 15, -22], "size": [4, 2, 15], "uv": [0, 15]}
- ]
- },
- {
- "name": "bone21",
- "parent": "bone17",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone22",
- "parent": "bone21",
- "pivot": [0, 17, -22],
- "rotation": [27.5, 0, 0],
- "cubes": [
- {"origin": [-2, 15, -22], "size": [4, 2, 15], "uv": [0, 15]}
- ]
- },
- {
- "name": "bone23",
- "parent": "bone21",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0]
- },
- {
- "name": "bone24",
- "parent": "bone23",
- "pivot": [0, 17, -22],
- "rotation": [27.5, 0, 0],
- "cubes": [
- {"origin": [-2, 15, -22], "size": [4, 2, 15], "uv": [0, 15]}
- ]
- },
- {
- "name": "bone7",
- "parent": "bone85",
- "pivot": [0, 5, 0],
- "rotation": [0, -30, 0],
- "cubes": [
- {"origin": [-2, 13, -22], "size": [4, 4, 4], "uv": [28, 75]}
- ]
- },
- {
- "name": "bone8",
- "parent": "bone7",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 13, -22], "size": [4, 4, 4], "uv": [28, 75]}
- ]
- },
- {
- "name": "bone9",
- "parent": "bone8",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 13, -22], "size": [4, 4, 4], "uv": [28, 75]}
- ]
- },
- {
- "name": "bone10",
- "parent": "bone9",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 13, -22], "size": [4, 4, 4], "uv": [28, 75]}
- ]
- },
- {
- "name": "bone11",
- "parent": "bone10",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 13, -22], "size": [4, 4, 4], "uv": [28, 75]}
- ]
- },
- {
- "name": "bone12",
- "parent": "bone11",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 13, -22], "size": [4, 4, 4], "uv": [28, 75]}
- ]
- },
- {
- "name": "bone86",
- "parent": "bone85",
- "pivot": [0, -8, 0],
- "rotation": [0, -30, 0],
- "cubes": [
- {"origin": [-2, 0, -11.35], "size": [4, 6, 4], "uv": [71, 43]}
- ]
- },
- {
- "name": "bone87",
- "parent": "bone86",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 0, -11.35], "size": [4, 6, 4], "uv": [71, 43]}
- ]
- },
- {
- "name": "bone88",
- "parent": "bone87",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 0, -11.35], "size": [4, 6, 4], "uv": [71, 43]}
- ]
- },
- {
- "name": "bone89",
- "parent": "bone88",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 0, -11.35], "size": [4, 6, 4], "uv": [71, 43]}
- ]
- },
- {
- "name": "bone90",
- "parent": "bone89",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 0, -11.35], "size": [4, 6, 4], "uv": [71, 43]}
- ]
- },
- {
- "name": "bone91",
- "parent": "bone90",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-2, 0, -11.35], "size": [4, 6, 4], "uv": [71, 43]}
- ]
- },
- {
- "name": "bone104",
- "parent": "bone85",
- "pivot": [0, -8, 0],
- "cubes": [
- {"origin": [-4, 0, -10], "size": [8, 12, 1], "uv": [42, 63]}
- ]
- },
- {
- "name": "bone105",
- "parent": "bone104",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -10], "size": [8, 12, 1], "uv": [42, 63]}
- ]
- },
- {
- "name": "bone106",
- "parent": "bone105",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -10], "size": [8, 12, 1], "uv": [42, 63]}
- ]
- },
- {
- "name": "bone107",
- "parent": "bone106",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -10], "size": [8, 12, 1], "uv": [42, 63]}
- ]
- },
- {
- "name": "bone108",
- "parent": "bone107",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -10], "size": [8, 12, 1], "uv": [42, 63]}
- ]
- },
- {
- "name": "bone109",
- "parent": "bone108",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -10], "size": [8, 12, 1], "uv": [42, 63]}
- ]
- },
- {
- "name": "bone142",
- "parent": "bone85",
- "pivot": [0, -8, 0],
- "cubes": [
- {"origin": [-4, 0, -9], "size": [8, 1, 9], "uv": [35, 35]}
- ]
- },
- {
- "name": "bone143",
- "parent": "bone142",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -9], "size": [8, 1, 9], "uv": [35, 35]}
- ]
- },
- {
- "name": "bone144",
- "parent": "bone143",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -9], "size": [8, 1, 9], "uv": [35, 35]}
- ]
- },
- {
- "name": "bone145",
- "parent": "bone144",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -9], "size": [8, 1, 9], "uv": [35, 35]}
- ]
- },
- {
- "name": "bone146",
- "parent": "bone145",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -9], "size": [8, 1, 9], "uv": [35, 35]}
- ]
- },
- {
- "name": "bone147",
- "parent": "bone146",
- "pivot": [0, -8, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-4, 0, -9], "size": [8, 1, 9], "uv": [35, 35]}
- ]
- },
- {
- "name": "bone",
- "parent": "bone85",
- "pivot": [0, 5, 0],
- "cubes": [
- {"origin": [-9, 13, -19.6], "size": [18, 3, 4], "uv": [24, 15]}
- ]
- },
- {
- "name": "bone2",
- "parent": "bone",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-9, 13, -19.6], "size": [18, 3, 4], "uv": [24, 15]}
- ]
- },
- {
- "name": "bone3",
- "parent": "bone2",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-9, 13, -19.6], "size": [18, 3, 4], "uv": [24, 15]}
- ]
- },
- {
- "name": "bone4",
- "parent": "bone3",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-9, 13, -19.6], "size": [18, 3, 4], "uv": [24, 15]}
- ]
- },
- {
- "name": "bone5",
- "parent": "bone4",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-9, 13, -19.6], "size": [18, 3, 4], "uv": [24, 15]}
- ]
- },
- {
- "name": "bone6",
- "parent": "bone5",
- "pivot": [0, 5, 0],
- "rotation": [0, -60, 0],
- "cubes": [
- {"origin": [-9, 13, -19.6], "size": [18, 3, 4], "uv": [24, 15]}
- ]
- }
- ]
- }
- ]
-}
\ No newline at end of file
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"nuka","texture_width":128,"texture_height":128},"bones":[{"name":"console","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone85","parent":"console","pivot":[0.0,6.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone142","parent":"bone85","pivot":[0.0,-8.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,-0.0,-9.0],"size":[8.0,1.0,9.0],"inflate":0.0,"uv":[35.0,35.0],"mirror":false}]},{"name":"bone143","parent":"bone142","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-9.0],"size":[8.0,1.0,9.0],"inflate":0.0,"uv":[35.0,35.0],"mirror":false}]},{"name":"bone144","parent":"bone143","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-9.0],"size":[8.0,1.0,9.0],"inflate":0.0,"uv":[35.0,35.0],"mirror":false}]},{"name":"bone145","parent":"bone144","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-9.0],"size":[8.0,1.0,9.0],"inflate":0.0,"uv":[35.0,35.0],"mirror":false}]},{"name":"bone146","parent":"bone145","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-9.0],"size":[8.0,1.0,9.0],"inflate":0.0,"uv":[35.0,35.0],"mirror":false}]},{"name":"bone147","parent":"bone146","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-9.0],"size":[8.0,1.0,9.0],"inflate":0.0,"uv":[35.0,35.0],"mirror":false}]},{"name":"bone49","parent":"bone85","pivot":[0.0,13.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,22.0,-9.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,67.0],"mirror":false}]},{"name":"bone50","parent":"bone49","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-9.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,67.0],"mirror":false}]},{"name":"bone51","parent":"bone50","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-9.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,67.0],"mirror":false}]},{"name":"bone52","parent":"bone51","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-9.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,67.0],"mirror":false}]},{"name":"bone53","parent":"bone52","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-9.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,67.0],"mirror":false}]},{"name":"bone54","parent":"bone53","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-9.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,67.0],"mirror":false}]},{"name":"bone92","parent":"bone85","pivot":[0.0,1.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone93","parent":"bone92","pivot":[-0.5,13.0,-15.6],"rotation":[65.00206338755427,0.0,0.0],"cubes":[{"origin":[-8.5,6.0,-15.6],"size":[17.0,7.0,1.0],"inflate":0.0,"uv":[34.0,46.0],"mirror":false}]},{"name":"bone94","parent":"bone92","pivot":[0.0,1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone95","parent":"bone94","pivot":[-0.5,13.0,-15.6],"rotation":[65.00206338755427,0.0,0.0],"cubes":[{"origin":[-8.5,6.0,-15.6],"size":[17.0,7.0,1.0],"inflate":0.0,"uv":[34.0,46.0],"mirror":false}]},{"name":"bone96","parent":"bone94","pivot":[0.0,1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone97","parent":"bone96","pivot":[-0.5,13.0,-15.6],"rotation":[65.00206338755427,0.0,0.0],"cubes":[{"origin":[-8.5,6.0,-15.6],"size":[17.0,7.0,1.0],"inflate":0.0,"uv":[34.0,46.0],"mirror":false}]},{"name":"bone98","parent":"bone96","pivot":[0.0,1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone100","parent":"bone98","pivot":[0.0,1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone102","parent":"bone100","pivot":[0.0,1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone103","parent":"bone102","pivot":[-0.5,13.0,-15.6],"rotation":[65.00206338755427,0.0,0.0],"cubes":[{"origin":[-8.5,6.0,-15.6],"size":[17.0,7.0,1.0],"inflate":0.0,"uv":[34.0,46.0],"mirror":false}]},{"name":"bone101","parent":"bone100","pivot":[-0.5,13.0,-15.6],"rotation":[65.00206338755427,0.0,0.0],"cubes":[{"origin":[-8.5,6.0,-15.6],"size":[17.0,7.0,1.0],"inflate":0.0,"uv":[34.0,46.0],"mirror":false}]},{"name":"bone99","parent":"bone98","pivot":[-0.5,13.0,-15.6],"rotation":[65.00206338755427,0.0,0.0],"cubes":[{"origin":[-8.5,6.0,-15.6],"size":[17.0,7.0,1.0],"inflate":0.0,"uv":[34.0,46.0],"mirror":false}]},{"name":"bone86","parent":"bone85","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.0,-0.0,-11.35],"size":[4.0,6.0,4.0],"inflate":0.0,"uv":[71.0,43.0],"mirror":false}]},{"name":"bone87","parent":"bone86","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-11.35],"size":[4.0,6.0,4.0],"inflate":0.0,"uv":[71.0,43.0],"mirror":false}]},{"name":"bone88","parent":"bone87","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-11.35],"size":[4.0,6.0,4.0],"inflate":0.0,"uv":[71.0,43.0],"mirror":false}]},{"name":"bone89","parent":"bone88","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-11.35],"size":[4.0,6.0,4.0],"inflate":0.0,"uv":[71.0,43.0],"mirror":false}]},{"name":"bone90","parent":"bone89","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-11.35],"size":[4.0,6.0,4.0],"inflate":0.0,"uv":[71.0,43.0],"mirror":false}]},{"name":"bone91","parent":"bone90","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,-0.0,-11.35],"size":[4.0,6.0,4.0],"inflate":0.0,"uv":[71.0,43.0],"mirror":false}]},{"name":"bone104","parent":"bone85","pivot":[0.0,-8.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,-0.0,-10.0],"size":[8.0,12.0,1.0],"inflate":0.0,"uv":[42.0,63.0],"mirror":false}]},{"name":"bone105","parent":"bone104","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-10.0],"size":[8.0,12.0,1.0],"inflate":0.0,"uv":[42.0,63.0],"mirror":false}]},{"name":"bone106","parent":"bone105","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-10.0],"size":[8.0,12.0,1.0],"inflate":0.0,"uv":[42.0,63.0],"mirror":false}]},{"name":"bone107","parent":"bone106","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-10.0],"size":[8.0,12.0,1.0],"inflate":0.0,"uv":[42.0,63.0],"mirror":false}]},{"name":"bone108","parent":"bone107","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-10.0],"size":[8.0,12.0,1.0],"inflate":0.0,"uv":[42.0,63.0],"mirror":false}]},{"name":"bone109","parent":"bone108","pivot":[0.0,-8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-10.0],"size":[8.0,12.0,1.0],"inflate":0.0,"uv":[42.0,63.0],"mirror":false}]},{"name":"bone73","parent":"bone85","pivot":[0.0,2.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone74","parent":"bone73","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone75","parent":"bone74","pivot":[0.0,14.0,-19.0],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.0,2.0,-19.0],"size":[4.0,12.0,5.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone76","parent":"bone74","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone77","parent":"bone76","pivot":[0.0,14.0,-19.0],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.0,2.0,-19.0],"size":[4.0,12.0,5.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone78","parent":"bone76","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone80","parent":"bone78","pivot":[0.0,14.0,-19.0],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.0,2.0,-19.0],"size":[4.0,12.0,5.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone81","parent":"bone78","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone82","parent":"bone81","pivot":[0.0,14.0,-19.0],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.0,2.0,-19.0],"size":[4.0,12.0,5.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone83","parent":"bone81","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone84","parent":"bone83","pivot":[0.0,14.0,-19.0],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.0,2.0,-19.0],"size":[4.0,12.0,5.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone79","parent":"bone73","pivot":[0.0,14.0,-19.0],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.0,2.0,-19.0],"size":[4.0,12.0,5.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone7","parent":"bone85","pivot":[0.0,5.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.0,13.0,-22.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[28.0,75.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,13.0,-22.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[28.0,75.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,13.0,-22.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[28.0,75.0],"mirror":false}]},{"name":"bone10","parent":"bone9","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,13.0,-22.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[28.0,75.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,13.0,-22.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[28.0,75.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,13.0,-22.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[28.0,75.0],"mirror":false}]},{"name":"bone","parent":"bone85","pivot":[0.0,5.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,13.0,-19.6],"size":[18.0,3.0,4.0],"inflate":0.0,"uv":[24.0,15.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.0,13.0,-19.6],"size":[18.0,3.0,4.0],"inflate":0.0,"uv":[24.0,15.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.0,13.0,-19.6],"size":[18.0,3.0,4.0],"inflate":0.0,"uv":[24.0,15.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.0,13.0,-19.6],"size":[18.0,3.0,4.0],"inflate":0.0,"uv":[24.0,15.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.0,13.0,-19.6],"size":[18.0,3.0,4.0],"inflate":0.0,"uv":[24.0,15.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-9.0,13.0,-19.6],"size":[18.0,3.0,4.0],"inflate":0.0,"uv":[24.0,15.0],"mirror":false}]},{"name":"bone13","parent":"bone85","pivot":[0.0,5.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone19","parent":"bone13","pivot":[0.0,17.0,-22.0],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-22.0],"size":[4.0,2.0,15.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone15","parent":"bone14","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone17","parent":"bone15","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone18","parent":"bone17","pivot":[0.0,17.0,-22.0],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-22.0],"size":[4.0,2.0,15.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone21","parent":"bone17","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone22","parent":"bone21","pivot":[0.0,17.0,-22.0],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-22.0],"size":[4.0,2.0,15.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone23","parent":"bone21","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone24","parent":"bone23","pivot":[0.0,17.0,-22.0],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-22.0],"size":[4.0,2.0,15.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone16","parent":"bone15","pivot":[0.0,17.0,-22.0],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-22.0],"size":[4.0,2.0,15.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone20","parent":"bone14","pivot":[0.0,17.0,-22.0],"rotation":[27.50197355156249,0.0,0.0],"cubes":[{"origin":[-2.0,15.0,-22.0],"size":[4.0,2.0,15.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false}]},{"name":"bone25","parent":"bone85","pivot":[0.0,5.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone26","parent":"bone25","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone27","parent":"bone26","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone28","parent":"bone27","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-9.0,15.0,-18.6],"size":[18.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone29","parent":"bone27","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone30","parent":"bone29","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-9.0,15.0,-18.6],"size":[18.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone33","parent":"bone29","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone35","parent":"bone33","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone36","parent":"bone35","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-9.0,15.0,-18.6],"size":[18.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-9.0,15.0,-18.6],"size":[18.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone32","parent":"bone26","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-9.0,15.0,-18.6],"size":[18.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone31","parent":"bone25","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-9.0,15.0,-18.6],"size":[18.0,1.0,13.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone55","parent":"bone85","pivot":[0.0,13.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.0,22.0,-9.475],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[28.0,89.0],"mirror":false}]},{"name":"bone56","parent":"bone55","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,22.0,-9.475],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[28.0,89.0],"mirror":false}]},{"name":"bone57","parent":"bone56","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,22.0,-9.475],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[28.0,89.0],"mirror":false}]},{"name":"bone58","parent":"bone57","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,22.0,-9.475],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[28.0,89.0],"mirror":false}]},{"name":"bone59","parent":"bone58","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,22.0,-9.475],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[28.0,89.0],"mirror":false}]},{"name":"bone60","parent":"bone59","pivot":[0.0,13.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,22.0,-9.475],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[28.0,89.0],"mirror":false}]},{"name":"bone37","pivot":[0.0,14.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,22.0,-8.0],"size":[2.0,15.0,2.0],"inflate":0.0,"uv":[19.0,75.0],"mirror":false}]},{"name":"bone38","parent":"bone37","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.0,-8.0],"size":[2.0,15.0,2.0],"inflate":0.0,"uv":[19.0,75.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.0,-8.0],"size":[2.0,15.0,2.0],"inflate":0.0,"uv":[19.0,75.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.0,-8.0],"size":[2.0,15.0,2.0],"inflate":0.0,"uv":[19.0,75.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.0,-8.0],"size":[2.0,15.0,2.0],"inflate":0.0,"uv":[19.0,75.0],"mirror":false}]},{"name":"bone42","parent":"bone41","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.0,-8.0],"size":[2.0,15.0,2.0],"inflate":0.0,"uv":[19.0,75.0],"mirror":false}]},{"name":"bone61","pivot":[0.0,28.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.0,36.5,-9.5],"size":[4.0,3.0,7.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"bone62","parent":"bone61","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,36.5,-9.5],"size":[4.0,3.0,7.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"bone63","parent":"bone62","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,36.5,-9.5],"size":[4.0,3.0,7.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"bone64","parent":"bone63","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,36.5,-9.5],"size":[4.0,3.0,7.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"bone65","parent":"bone64","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,36.5,-9.5],"size":[4.0,3.0,7.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"bone66","parent":"bone65","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,36.5,-9.5],"size":[4.0,3.0,7.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"panels","pivot":[0.0,-1.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"South_right","parent":"panels","pivot":[0.0,5.0,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[]},{"name":"bone117","parent":"South_right","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,15.075,-16.85],"size":[6.0,1.0,6.0],"inflate":0.0,"uv":[42.0,55.0],"mirror":false},{"origin":[4.0,15.325,-19.1],"size":[2.0,1.0,5.0],"inflate":0.0,"uv":[0.0,15.0],"mirror":false},{"origin":[-0.5,15.825,-14.85],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[69.0,17.0],"mirror":false},{"origin":[4.5,15.325,-13.85],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[36.0,35.0],"mirror":false},{"origin":[-5.25,15.325,-14.6],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[80.0,31.0],"mirror":false}]},{"name":"dial2","parent":"bone117","pivot":[2.0,16.575,-12.85],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[1.5,15.575001,-13.85],"size":[1.0,2.0,2.0],"inflate":0.0,"uv":[24.0,33.0],"mirror":false}]},{"name":"dial3","parent":"bone117","pivot":[3.25,16.575,-12.85],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[2.75,15.575001,-13.85],"size":[1.0,2.0,2.0],"inflate":0.0,"uv":[24.0,33.0],"mirror":false}]},{"name":"keyboard","parent":"bone117","pivot":[0.0,16.25,-17.1],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[-5.0,15.25,-21.1],"size":[10.0,1.0,4.0],"inflate":0.0,"uv":[50.0,0.0],"mirror":false},{"origin":[-4.0,15.35,-20.85],"size":[8.0,1.0,3.0],"inflate":0.0,"uv":[65.0,12.0],"mirror":false}]},{"name":"dial1","parent":"bone117","pivot":[0.75,16.575,-12.85],"rotation":[-17.498131861061438,0.0,0.0],"cubes":[{"origin":[0.25,15.575001,-13.85],"size":[1.0,2.0,2.0],"inflate":0.0,"uv":[24.0,33.0],"mirror":false}]},{"name":"smallLever3","parent":"bone117","pivot":[5.0,15.825001,-12.85],"rotation":[-45.00010370507663,0.0,0.0],"cubes":[{"origin":[5.0,15.075001,-13.1],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[10.0,15.0],"mirror":false},{"origin":[4.5,18.075,-13.35],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[36.0,39.0],"mirror":false}]},{"name":"switches","parent":"bone117","pivot":[2.25,16.075,-16.35],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-0.75,15.075001,-16.35],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[19.0,52.0],"mirror":false}]},{"name":"bone128","parent":"bone117","pivot":[2.0,16.825,-10.85],"rotation":[47.49820099777919,0.0,0.0],"cubes":[{"origin":[-0.5,15.825001,-10.85],"size":[5.0,1.0,2.0],"inflate":0.0,"uv":[84.0,17.0],"mirror":false}]},{"name":"South_left","parent":"panels","pivot":[0.0,5.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone120","parent":"South_left","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-4.0,15.75,-13.1],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[69.0,87.0],"mirror":false},{"origin":[-5.0,15.25,-14.85],"size":[3.0,1.0,1.0],"inflate":0.25,"uv":[10.0,87.0],"mirror":false},{"origin":[-6.0,15.025,-17.85],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[75.0,2.0],"mirror":false},{"origin":[-0.75,15.025,-17.35],"size":[2.0,1.0,7.0],"inflate":0.0,"uv":[24.0,35.0],"mirror":false},{"origin":[1.5,15.025,-17.35],"size":[5.0,1.0,3.0],"inflate":0.0,"uv":[82.0,54.0],"mirror":false},{"origin":[2.0,15.125,-17.1],"size":[5.0,1.0,3.0],"inflate":0.0,"uv":[14.0,47.0],"mirror":false},{"origin":[1.75,15.025,-14.35],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[0.0,87.0],"mirror":false},{"origin":[-2.0,15.525,-17.35],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,59.0],"mirror":false},{"origin":[-0.25,15.525,-16.85],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[61.0,35.0],"mirror":false},{"origin":[-6.0,15.525,-17.35],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,59.0],"mirror":false}]},{"name":"button2","parent":"bone120","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,16.0,-12.6],"size":[2.0,2.0,2.0],"inflate":-0.25,"uv":[90.0,0.0],"mirror":false}]},{"name":"bone124","parent":"bone120","pivot":[-3.5,16.025,-16.6],"rotation":[32.498166429420316,0.0,0.0],"cubes":[{"origin":[-4.0,15.025,-16.6],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[28.0,47.0],"mirror":false}]},{"name":"bigLever","parent":"bone120","pivot":[3.25,15.525,-12.85],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[1.75,17.275,-13.35],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[88.0,51.0],"mirror":false},{"origin":[1.75,14.775,-13.35],"size":[3.0,3.0,1.0],"inflate":-0.25,"uv":[41.0,90.0],"mirror":false}]},{"name":"North_right","parent":"panels","pivot":[0.0,5.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"bone136","parent":"North_right","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-0.25,15.075,-17.35],"size":[6.0,1.0,2.0],"inflate":0.0,"uv":[77.0,8.0],"mirror":false},{"origin":[-4.25,15.075,-17.6],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[83.0,73.0],"mirror":false},{"origin":[-4.25,15.275,-17.1],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[75.0,82.0],"mirror":false},{"origin":[-4.0,15.075,-14.35],"size":[5.0,1.0,2.0],"inflate":0.0,"uv":[80.0,37.0],"mirror":false},{"origin":[-3.5,16.075,-12.6],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[24.0,23.0],"mirror":false}]},{"name":"bone140","parent":"bone136","pivot":[-1.75,-0.0,-0.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,15.75,-16.85],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[0.0,39.0],"mirror":false}]},{"name":"smallLever4","parent":"bone136","pivot":[-2.25,16.125,-15.35],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-6.0,15.75,-15.85],"size":[1.0,3.0,1.0],"inflate":-0.25,"uv":[0.0,15.0],"mirror":false},{"origin":[-6.0,18.0,-15.85],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[6.0,39.0],"mirror":false}]},{"name":"bone137","parent":"bone136","pivot":[-1.5,16.825,-10.6],"rotation":[22.500051852538316,0.0,0.0],"cubes":[]},{"name":"bone138","parent":"bone137","pivot":[-1.5,16.825,-10.6],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.5,16.825,-10.6],"size":[3.0,0.0,3.0],"inflate":0.0,"uv":[70.0,31.0],"mirror":false}]},{"name":"bone125","parent":"bone136","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[2.0,16.325,-15.1],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[35.0,55.0],"mirror":false},{"origin":[1.5,15.575001,-15.6],"size":[3.0,1.0,5.0],"inflate":0.0,"uv":[71.0,75.0],"mirror":false}]},{"name":"bone139","parent":"bone136","pivot":[-1.25,16.075,-13.6],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-3.5,15.075001,-13.6],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[0.0,10.0],"mirror":false}]},{"name":"South","parent":"panels","pivot":[0.0,5.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone127","parent":"South","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[0.75,16.025,-17.35],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[18.0,68.0],"mirror":false},{"origin":[-2.75,15.075,-17.35],"size":[3.0,1.0,5.0],"inflate":0.0,"uv":[45.0,77.0],"mirror":false},{"origin":[-6.0,15.075,-17.85],"size":[6.0,1.0,6.0],"inflate":0.0,"uv":[61.0,35.0],"mirror":false},{"origin":[-6.75,15.575,-17.35],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[24.0,38.0],"mirror":false},{"origin":[-4.25,15.175,-16.6],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false},{"origin":[-3.0,15.225,-16.85],"size":[3.0,1.0,4.0],"inflate":0.0,"uv":[0.0,22.0],"mirror":false},{"origin":[1.25,16.125,-16.85],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[58.0,80.0],"mirror":false}]},{"name":"reallysmallLever","parent":"bone127","pivot":[-6.0,16.575,-16.35],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-6.5,15.575001,-16.35],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"bone131","parent":"bone127","pivot":[0.0,-0.0,-0.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.25,15.75,-16.35],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[0.0,39.0],"mirror":false}]},{"name":"bone121","parent":"bone127","pivot":[0.0,15.75,-7.8500004],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-5.0,13.75,-10.85],"size":[10.0,2.0,3.0],"inflate":0.0,"uv":[50.0,6.0],"mirror":false},{"origin":[-3.5,13.775,-10.1],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[56.0,86.0],"mirror":false},{"origin":[-3.6,13.875,-9.85],"size":[4.0,2.0,2.0],"inflate":0.0,"uv":[84.0,41.0],"mirror":false},{"origin":[-3.25,15.275,-9.85],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false}]},{"name":"bone122","parent":"bone121","pivot":[2.5,15.775,-10.6],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[1.5,14.775,-10.6],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[11.0,91.0],"mirror":false}]},{"name":"button","parent":"bone122","pivot":[0.0,-1.9073486E-6,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,14.524998,-10.6],"size":[2.0,2.0,2.0],"inflate":-0.25,"uv":[90.0,0.0],"mirror":false}]},{"name":"smallLever","parent":"bone127","pivot":[-0.5,16.125,-14.85],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-4.25,15.75,-15.35],"size":[1.0,3.0,1.0],"inflate":-0.25,"uv":[0.0,15.0],"mirror":false},{"origin":[-4.25,18.0,-15.35],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[6.0,39.0],"mirror":false}]},{"name":"North","parent":"panels","pivot":[0.0,5.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone148","parent":"North","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[1.0,15.75,-12.1],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[88.0,46.0],"mirror":false},{"origin":[-2.75,15.75,-12.1],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[88.0,46.0],"mirror":false},{"origin":[-3.5,15.1,-12.85],"size":[8.0,1.0,4.0],"inflate":0.0,"uv":[61.0,55.0],"mirror":false},{"origin":[-1.0,15.75,-17.1],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[0.0,39.0],"mirror":false},{"origin":[-5.25,15.025,-17.1],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[0.0,87.0],"mirror":false},{"origin":[1.25,15.125,-15.35],"size":[5.0,1.0,3.0],"inflate":0.0,"uv":[14.0,47.0],"mirror":false},{"origin":[0.75,15.025,-15.6],"size":[5.0,1.0,3.0],"inflate":0.0,"uv":[82.0,54.0],"mirror":false},{"origin":[0.25,15.075,-17.35],"size":[6.0,1.0,2.0],"inflate":0.0,"uv":[77.0,8.0],"mirror":false}]},{"name":"bigLever1","parent":"bone148","pivot":[-3.75,15.525,-15.85],"rotation":[-52.500122696803366,0.0,0.0],"cubes":[{"origin":[-5.25,17.275,-16.35],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[88.0,51.0],"mirror":false},{"origin":[-5.25,14.775,-16.35],"size":[3.0,3.0,1.0],"inflate":-0.25,"uv":[41.0,90.0],"mirror":false}]},{"name":"gauge1","parent":"bone148","pivot":[2.5,16.35,-10.6],"rotation":[0.0,125.00220166098978,0.0],"cubes":[{"origin":[2.25,15.85,-10.85],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[13.0,73.0],"mirror":false}]},{"name":"smallLever1","parent":"bone148","pivot":[-0.5,16.125,-15.6],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-1.0,15.75,-16.1],"size":[1.0,3.0,1.0],"inflate":-0.25,"uv":[0.0,15.0],"mirror":false},{"origin":[-1.0,18.0,-16.1],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[6.0,39.0],"mirror":false}]},{"name":"gauge2","parent":"bone148","pivot":[-1.25,16.35,-10.6],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.5,15.85,-10.85],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[13.0,73.0],"mirror":false}]},{"name":"North_left","parent":"panels","pivot":[0.0,5.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone114","parent":"North_left","pivot":[0.0,16.0,-18.6],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-6.5,15.25,-17.1],"size":[5.0,1.0,6.0],"inflate":0.0,"uv":[0.0,65.0],"mirror":false},{"origin":[-4.75,15.05,-17.1],"size":[11.0,1.0,8.0],"inflate":0.0,"uv":[31.0,25.0],"mirror":false},{"origin":[0.5,15.75,-13.1],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[88.0,12.0],"mirror":false},{"origin":[0.75,15.85,-13.35],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[82.0,87.0],"mirror":false},{"origin":[-1.0,15.75,-16.1],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[0.0,39.0],"mirror":false},{"origin":[-6.25,15.35,-16.85],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[87.0,79.0],"mirror":false},{"origin":[-4.5,15.35,-16.85],"size":[3.0,1.0,6.0],"inflate":0.0,"uv":[0.0,73.0],"mirror":false}]},{"name":"bone115","parent":"bone114","pivot":[0.0,15.5,-12.1],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-1.5,18.0,-9.6],"size":[3.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-1.0,24.0,-9.1],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[50.0,91.0],"mirror":false}]},{"name":"bone116","parent":"bone115","pivot":[0.0,21.0,-9.6],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-0.5,21.0,-10.85],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[34.0,66.0],"mirror":false}]},{"name":"smallLever2","parent":"bone114","pivot":[-0.5,16.125,-14.6],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-1.0,15.75,-15.1],"size":[1.0,3.0,1.0],"inflate":-0.25,"uv":[0.0,15.0],"mirror":false},{"origin":[-1.0,18.0,-15.1],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[6.0,39.0],"mirror":false}]},{"name":"bone119","parent":"bone114","pivot":[3.25,16.0,-14.1],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[0.25,14.0,-17.1],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[76.0,61.0],"mirror":false},{"origin":[0.75,14.025,-16.85],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[0.0,81.0],"mirror":false},{"origin":[1.25,14.125,-16.6],"size":[5.0,2.0,2.0],"inflate":0.0,"uv":[28.0,84.0],"mirror":false}]},{"name":"rotor_zminus3_yplus5_rotateY","pivot":[0.0,8.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,24.0,-8.0],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[62.0,23.0],"mirror":false}]},{"name":"bone111","parent":"rotor_zminus3_yplus5_rotateY","pivot":[0.0,8.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[{"origin":[-5.0,24.0,-8.0],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[62.0,23.0],"mirror":false}]},{"name":"bone112","parent":"bone111","pivot":[0.0,8.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[{"origin":[-5.0,24.0,-8.0],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[62.0,23.0],"mirror":false}]},{"name":"bone43","pivot":[0.0,14.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,22.0,-7.0],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[61.0,63.0],"mirror":false}]},{"name":"bone44","parent":"bone43","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.0],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[61.0,63.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.0],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[61.0,63.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.0],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[61.0,63.0],"mirror":false},{"origin":[-2.5,31.5,-7.35],"size":[5.0,4.0,1.0],"inflate":0.0,"uv":[85.0,23.0],"mirror":false},{"origin":[-2.5,26.5,-7.35],"size":[5.0,4.0,1.0],"inflate":0.0,"uv":[43.0,84.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.0],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[61.0,63.0],"mirror":false}]},{"name":"bone48","parent":"bone47","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.0],"size":[6.0,15.0,1.0],"inflate":0.0,"uv":[61.0,63.0],"mirror":false}]},{"name":"bone67","pivot":[0.0,29.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,37.0,-9.175],"size":[6.0,2.0,11.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]},{"name":"bone68","parent":"bone67","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,37.0,-9.175],"size":[6.0,2.0,11.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]},{"name":"bone69","parent":"bone68","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,37.0,-9.175],"size":[6.0,2.0,11.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]},{"name":"bone70","parent":"bone69","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,37.0,-9.175],"size":[6.0,2.0,11.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]},{"name":"bone71","parent":"bone70","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,37.0,-9.175],"size":[6.0,2.0,11.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]},{"name":"bone72","parent":"bone71","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,37.0,-9.175],"size":[6.0,2.0,11.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/refurbished.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/refurbished.json
new file mode 100644
index 00000000..7b7eb352
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/refurbished.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"refurbished","texture_width":256,"texture_height":256},"bones":[{"name":"root","pivot":[0.0,-0.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"console","parent":"root","pivot":[0.0,2.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone60","parent":"console","pivot":[0.0,2.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone26","parent":"bone60","pivot":[0.0,21.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,18.0,-10.66],"size":[10.0,3.0,1.0],"inflate":0.0,"uv":[67.0,55.0],"mirror":false}]},{"name":"bone27","parent":"bone26","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,18.0,-10.66],"size":[10.0,3.0,1.0],"inflate":0.0,"uv":[67.0,55.0],"mirror":false}]},{"name":"bone28","parent":"bone27","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,18.0,-10.66],"size":[10.0,3.0,1.0],"inflate":0.0,"uv":[67.0,55.0],"mirror":false}]},{"name":"bone29","parent":"bone28","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,18.0,-10.66],"size":[10.0,3.0,1.0],"inflate":0.0,"uv":[67.0,55.0],"mirror":false}]},{"name":"bone30","parent":"bone29","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,18.0,-10.66],"size":[10.0,3.0,1.0],"inflate":0.0,"uv":[67.0,55.0],"mirror":false}]},{"name":"bone31","parent":"bone30","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,18.0,-10.66],"size":[10.0,3.0,1.0],"inflate":0.0,"uv":[67.0,55.0],"mirror":false}]},{"name":"bone38","parent":"bone60","pivot":[0.0,28.0,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,25.5,-7.9349995],"size":[8.0,1.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,25.5,-7.935],"size":[8.0,1.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,25.5,-7.935],"size":[8.0,1.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,25.5,-7.935],"size":[8.0,1.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone42","parent":"bone41","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,25.5,-7.935],"size":[8.0,1.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone43","parent":"bone42","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,25.5,-7.935],"size":[8.0,1.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone262","parent":"bone60","pivot":[0.0,21.2,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone263","parent":"bone262","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,18.6,-17.875],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false}]},{"name":"bone264","parent":"bone263","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone265","parent":"bone264","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone265_r1","parent":"bone265","pivot":[0.0,19.5895,-17.6117],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,15.5895,-17.6117],"size":[1.0,4.0,7.0],"inflate":0.0,"uv":[122.0,101.0],"mirror":false}]},{"name":"bone266","parent":"bone265","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone266_r1","parent":"bone266","pivot":[0.0,19.5895,-17.6117],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,15.5895,-17.6117],"size":[1.0,4.0,7.0],"inflate":0.0,"uv":[122.0,101.0],"mirror":false}]},{"name":"bone267","parent":"bone266","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,17.75,-16.375],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false}]},{"name":"bone264_r1","parent":"bone264","pivot":[0.0,19.5895,-17.6117],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,15.5895,-17.6117],"size":[1.0,4.0,7.0],"inflate":0.0,"uv":[122.0,101.0],"mirror":false}]},{"name":"bone262_r1","parent":"bone262","pivot":[0.0,19.5895,-17.6117],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,15.5895,-17.6117],"size":[1.0,4.0,7.0],"inflate":0.0,"uv":[122.0,101.0],"mirror":false}]},{"name":"bone243","parent":"bone60","pivot":[0.0,69.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.5,66.5,-8.87],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone244","parent":"bone243","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,66.5,-8.87],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone245","parent":"bone244","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,66.5,-8.87],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone246","parent":"bone245","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,66.5,-8.87],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone247","parent":"bone246","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,66.5,-8.87],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone248","parent":"bone247","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,66.5,-8.87],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone110","parent":"bone60","pivot":[0.0,64.0,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,61.0,-4.9349995],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone111","parent":"bone110","pivot":[0.0,64.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,61.0,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone112","parent":"bone111","pivot":[0.0,64.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,61.0,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone113","parent":"bone112","pivot":[0.0,64.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,61.0,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone114","parent":"bone113","pivot":[0.0,64.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,61.0,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone115","parent":"bone114","pivot":[0.0,64.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,61.0,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone352","parent":"bone60","pivot":[0.25,44.0,-3.46],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,39.5,-3.96],"size":[2.0,5.0,1.0],"inflate":0.0,"uv":[37.0,53.0],"mirror":false}]},{"name":"bone353","parent":"bone352","pivot":[0.0,42.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,39.5,-3.96],"size":[2.0,5.0,1.0],"inflate":0.0,"uv":[37.0,53.0],"mirror":false}]},{"name":"bone354","parent":"bone353","pivot":[0.0,42.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,39.5,-3.96],"size":[2.0,5.0,1.0],"inflate":0.0,"uv":[37.0,53.0],"mirror":false}]},{"name":"bone355","parent":"bone354","pivot":[0.0,42.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,39.5,-3.96],"size":[2.0,5.0,1.0],"inflate":0.0,"uv":[37.0,53.0],"mirror":false}]},{"name":"bone356","parent":"bone355","pivot":[0.0,42.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,39.5,-3.96],"size":[2.0,5.0,1.0],"inflate":0.0,"uv":[37.0,53.0],"mirror":false}]},{"name":"bone357","parent":"bone356","pivot":[0.0,42.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,39.5,-3.96],"size":[2.0,5.0,1.0],"inflate":0.0,"uv":[37.0,53.0],"mirror":false}]},{"name":"bone275","parent":"bone60","pivot":[0.0,24.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone275_r1","parent":"bone275","pivot":[0.25,21.0,-11.478],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-0.75,21.0,-11.478],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[19.0,76.0],"mirror":false}]},{"name":"bone282","parent":"bone275","pivot":[0.0,24.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone296","parent":"bone282","pivot":[0.0,24.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone297","parent":"bone296","pivot":[0.0,24.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone297_r1","parent":"bone297","pivot":[0.25,21.0,-11.478],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-0.75,21.0,-11.478],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[19.0,76.0],"mirror":false}]},{"name":"bone298","parent":"bone297","pivot":[0.0,24.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone298_r1","parent":"bone298","pivot":[0.25,21.0,-11.478],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-0.75,21.0,-11.478],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[19.0,76.0],"mirror":false}]},{"name":"bone299","parent":"bone298","pivot":[0.0,24.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone299_r1","parent":"bone299","pivot":[0.25,21.0,-11.478],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-0.75,21.0,-11.478],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[19.0,76.0],"mirror":false}]},{"name":"bone296_r1","parent":"bone296","pivot":[0.25,21.0,-11.478],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-0.75,21.0,-11.478],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[19.0,76.0],"mirror":false}]},{"name":"bone282_r1","parent":"bone282","pivot":[0.25,21.0,-11.478],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-0.75,21.0,-11.478],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[19.0,76.0],"mirror":false}]},{"name":"bone256","parent":"bone60","pivot":[0.0,21.2,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.75,16.75,-14.45],"size":[16.0,3.0,1.0],"inflate":0.0,"uv":[92.0,45.0],"mirror":true}]},{"name":"bone257","parent":"bone256","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,16.6,-15.725],"size":[17.0,3.0,1.0],"inflate":0.0,"uv":[92.0,45.0],"mirror":false}]},{"name":"bone258","parent":"bone257","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,16.6,-15.725],"size":[17.0,3.0,1.0],"inflate":0.0,"uv":[92.0,45.0],"mirror":false}]},{"name":"bone259","parent":"bone258","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone260","parent":"bone259","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,16.6,-15.725],"size":[17.0,3.0,1.0],"inflate":0.0,"uv":[92.0,45.0],"mirror":false}]},{"name":"bone261","parent":"bone260","pivot":[0.0,21.2,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.25,16.75,-14.45],"size":[16.0,3.0,1.0],"inflate":0.0,"uv":[92.0,45.0],"mirror":false}]},{"name":"bone123","parent":"bone60","pivot":[0.0,28.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone124","parent":"bone123","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone131","parent":"bone124","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone133","parent":"bone131","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone140","parent":"bone133","pivot":[0.0,26.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,25.508501,-6.4614997],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone140_r1","parent":"bone140","pivot":[-2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone140_r2","parent":"bone140","pivot":[2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone141","parent":"bone133","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone142","parent":"bone141","pivot":[0.0,26.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,25.508501,-6.4614997],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone142_r1","parent":"bone142","pivot":[-2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone142_r2","parent":"bone142","pivot":[2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone143","parent":"bone141","pivot":[0.0,28.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone144","parent":"bone143","pivot":[0.0,26.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,25.508501,-6.4614997],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone144_r2","parent":"bone144","pivot":[2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone144_r1","parent":"bone144","pivot":[-2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone132","parent":"bone131","pivot":[0.0,26.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,25.508501,-6.4614997],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone132_r1","parent":"bone132","pivot":[-2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone132_r2","parent":"bone132","pivot":[2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone125","parent":"bone124","pivot":[0.0,26.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,25.508501,-6.4614997],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone125_r2","parent":"bone125","pivot":[2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone125_r1","parent":"bone125","pivot":[-2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone345","parent":"bone123","pivot":[0.0,26.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,25.508501,-6.4614997],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone345_r2","parent":"bone345","pivot":[2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone345_r1","parent":"bone345","pivot":[-2.3591,28.8074,-6.4865],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,28.8074,-6.4364996],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone134","parent":"bone60","pivot":[0.0,63.5,0.0],"rotation":[0.0,-30.000069136717755,-180.00041482030653],"cubes":[]},{"name":"bone135","parent":"bone134","pivot":[0.0,59.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,60.461098,-6.8943],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone135_r2","parent":"bone135","pivot":[2.3591,63.76,-6.9193],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone135_r1","parent":"bone135","pivot":[-2.3591,63.76,-6.9193],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone136","parent":"bone134","pivot":[0.0,63.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone137","parent":"bone136","pivot":[0.0,59.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,60.461098,-6.8943],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone137_r2","parent":"bone137","pivot":[2.3591,63.76,-6.9193],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone137_r1","parent":"bone137","pivot":[-2.3591,63.76,-6.9193],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone138","parent":"bone136","pivot":[0.0,63.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone145","parent":"bone138","pivot":[0.0,63.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone146","parent":"bone145","pivot":[0.0,59.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,60.461098,-6.8943],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone146_r2","parent":"bone146","pivot":[2.3591,63.76,-6.9193],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone146_r1","parent":"bone146","pivot":[-2.3591,63.76,-6.9193],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone147","parent":"bone145","pivot":[0.0,63.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone148","parent":"bone147","pivot":[0.0,59.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,60.461098,-6.8943],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone148_r1","parent":"bone148","pivot":[-2.3591,63.76,-6.9193],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone148_r2","parent":"bone148","pivot":[2.3591,63.76,-6.9193],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone149","parent":"bone147","pivot":[0.0,63.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone150","parent":"bone149","pivot":[0.0,59.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,60.461098,-6.8943],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone150_r2","parent":"bone150","pivot":[2.3591,63.76,-6.9193],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone150_r1","parent":"bone150","pivot":[-2.3591,63.76,-6.9193],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone139","parent":"bone138","pivot":[0.0,59.8257,-6.9448],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.5,60.461098,-6.8943],"size":[5.0,6.0,1.0],"inflate":0.5,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone139_r2","parent":"bone139","pivot":[2.3591,63.76,-6.9193],"rotation":[0.0,0.0,-20.99890263146916],"cubes":[{"origin":[1.3591001,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":false}]},{"name":"bone139_r1","parent":"bone139","pivot":[-2.3591,63.76,-6.9193],"rotation":[0.0,0.0,20.99890263146916],"cubes":[{"origin":[-2.3591,63.76,-6.8693],"size":[1.0,3.0,1.0],"inflate":0.5,"uv":[21.0,53.0],"mirror":true}]},{"name":"bone321","parent":"bone60","pivot":[0.0,69.0,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,66.5,-7.9349995],"size":[8.0,2.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone322","parent":"bone321","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,66.5,-7.935],"size":[8.0,2.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone323","parent":"bone322","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,66.5,-7.935],"size":[8.0,2.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone324","parent":"bone323","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,66.5,-7.935],"size":[8.0,2.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone325","parent":"bone324","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,66.5,-7.935],"size":[8.0,2.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone326","parent":"bone325","pivot":[0.0,69.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,66.5,-7.935],"size":[8.0,2.0,1.0],"inflate":0.0,"uv":[68.0,50.0],"mirror":false}]},{"name":"bone255","parent":"bone60","pivot":[0.0,-3.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone231","parent":"bone255","pivot":[0.0,72.5,0.0],"rotation":[0.0,0.0,-180.00041482030653],"cubes":[]},{"name":"bone232","parent":"bone231","pivot":[0.0,72.0,-10.56],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,72.0125,-10.5383005],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false},{"origin":[-2.5,70.0125,-11.5383005],"size":[5.0,6.0,3.0],"inflate":0.0,"uv":[142.0,204.0],"mirror":false}]},{"name":"bone232_r1","parent":"bone232","pivot":[-5.0,72.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone232_r2","parent":"bone232","pivot":[5.0,72.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone233","parent":"bone231","pivot":[0.0,72.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone234","parent":"bone233","pivot":[0.0,72.0,-10.56],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,72.0125,-10.5383005],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false},{"origin":[-2.5,70.0125,-11.5383005],"size":[5.0,6.0,3.0],"inflate":0.0,"uv":[142.0,204.0],"mirror":false}]},{"name":"bone234_r1","parent":"bone234","pivot":[-5.0,72.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone234_r2","parent":"bone234","pivot":[5.0,72.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone235","parent":"bone233","pivot":[0.0,72.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone236","parent":"bone235","pivot":[0.0,72.0,-10.56],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,72.0125,-10.5383005],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false},{"origin":[-2.5,70.0125,-11.5383005],"size":[5.0,6.0,3.0],"inflate":0.0,"uv":[142.0,204.0],"mirror":false}]},{"name":"bone236_r2","parent":"bone236","pivot":[5.0,72.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone236_r1","parent":"bone236","pivot":[-5.0,72.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone237","parent":"bone235","pivot":[0.0,72.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone238","parent":"bone237","pivot":[0.0,72.0,-10.56],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,72.0125,-10.5383005],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false},{"origin":[-2.5,70.0125,-11.5383005],"size":[5.0,6.0,3.0],"inflate":0.0,"uv":[142.0,204.0],"mirror":false}]},{"name":"bone238_r1","parent":"bone238","pivot":[-5.0,72.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone238_r2","parent":"bone238","pivot":[5.0,72.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone239","parent":"bone237","pivot":[0.0,72.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone241","parent":"bone239","pivot":[0.0,72.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone242","parent":"bone241","pivot":[0.0,72.0,-10.56],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,72.0125,-10.5383005],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false},{"origin":[-2.5,70.0125,-11.5383005],"size":[5.0,6.0,3.0],"inflate":0.0,"uv":[142.0,204.0],"mirror":false}]},{"name":"bone242_r2","parent":"bone242","pivot":[5.0,72.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone242_r1","parent":"bone242","pivot":[-5.0,72.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone240","parent":"bone239","pivot":[0.0,72.0,-10.56],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,72.0125,-10.5383005],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false},{"origin":[-2.5,70.0125,-11.5383005],"size":[5.0,6.0,3.0],"inflate":0.0,"uv":[142.0,204.0],"mirror":false}]},{"name":"bone240_r1","parent":"bone240","pivot":[-5.0,72.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone240_r2","parent":"bone240","pivot":[5.0,72.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,72.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone225","parent":"bone255","pivot":[0.0,75.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,73.0,-11.728],"size":[2.0,7.0,1.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone226","parent":"bone225","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,73.0,-11.728],"size":[2.0,7.0,1.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone227","parent":"bone226","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,73.0,-11.728],"size":[2.0,7.0,1.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone228","parent":"bone227","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,73.0,-11.728],"size":[2.0,7.0,1.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone229","parent":"bone228","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,73.0,-11.728],"size":[2.0,7.0,1.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone230","parent":"bone229","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,73.0,-11.728],"size":[2.0,7.0,1.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone327","parent":"bone255","pivot":[0.0,75.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.5,79.0,-9.66],"size":[11.0,1.0,10.0],"inflate":0.0,"uv":[90.0,19.0],"mirror":false}]},{"name":"bone328","parent":"bone327","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.5,79.0,-9.66],"size":[11.0,1.0,10.0],"inflate":0.0,"uv":[90.0,19.0],"mirror":false}]},{"name":"bone329","parent":"bone328","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.5,79.0,-9.66],"size":[11.0,1.0,10.0],"inflate":0.0,"uv":[90.0,19.0],"mirror":false}]},{"name":"bone330","parent":"bone329","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.5,79.0,-9.66],"size":[11.0,1.0,10.0],"inflate":0.0,"uv":[90.0,19.0],"mirror":false}]},{"name":"bone331","parent":"bone330","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.5,79.0,-9.66],"size":[11.0,1.0,10.0],"inflate":0.0,"uv":[90.0,19.0],"mirror":false}]},{"name":"bone332","parent":"bone331","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.5,79.0,-9.66],"size":[11.0,1.0,10.0],"inflate":0.0,"uv":[90.0,19.0],"mirror":false}]},{"name":"bone219","parent":"bone255","pivot":[0.0,75.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,73.0,-10.66],"size":[10.0,7.0,1.0],"inflate":0.0,"uv":[36.0,60.0],"mirror":false}]},{"name":"bone220","parent":"bone219","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,73.0,-10.66],"size":[10.0,7.0,1.0],"inflate":0.0,"uv":[36.0,60.0],"mirror":false}]},{"name":"bone221","parent":"bone220","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,73.0,-10.66],"size":[10.0,7.0,1.0],"inflate":0.0,"uv":[36.0,60.0],"mirror":false}]},{"name":"bone222","parent":"bone221","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,73.0,-10.66],"size":[10.0,7.0,1.0],"inflate":0.0,"uv":[36.0,60.0],"mirror":false}]},{"name":"bone223","parent":"bone222","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,73.0,-10.66],"size":[10.0,7.0,1.0],"inflate":0.0,"uv":[36.0,60.0],"mirror":false}]},{"name":"bone224","parent":"bone223","pivot":[0.0,75.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,73.0,-10.66],"size":[10.0,7.0,1.0],"inflate":0.0,"uv":[36.0,60.0],"mirror":false}]},{"name":"bone20","parent":"bone60","pivot":[0.0,21.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,18.0,-11.728],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[5.0,53.0],"mirror":false}]},{"name":"bone21","parent":"bone20","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,18.0,-11.728],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[5.0,53.0],"mirror":false}]},{"name":"bone22","parent":"bone21","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,18.0,-11.728],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[5.0,53.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,18.0,-11.728],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[5.0,53.0],"mirror":false}]},{"name":"bone24","parent":"bone23","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,18.0,-11.728],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[5.0,53.0],"mirror":false}]},{"name":"bone25","parent":"bone24","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,18.0,-11.728],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[5.0,53.0],"mirror":false}]},{"name":"bone32","parent":"bone60","pivot":[0.0,23.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone98","parent":"bone32","pivot":[0.0,20.0,-7.285],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.0,20.0,-11.035],"size":[4.0,5.0,4.0],"inflate":0.0,"uv":[0.0,76.0],"mirror":false},{"origin":[-1.5,24.5,-10.535],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false},{"origin":[-1.0,27.0,-10.035],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[97.0,3.0],"mirror":false}]},{"name":"bone349","parent":"bone98","pivot":[0.0,28.5,-9.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,27.5,-9.035],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,23.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone99","parent":"bone33","pivot":[0.0,20.0,-7.285],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.0,20.0,-11.035],"size":[4.0,5.0,4.0],"inflate":0.0,"uv":[0.0,76.0],"mirror":false},{"origin":[-1.5,24.5,-10.535],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false},{"origin":[-1.0,27.0,-10.035],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[97.0,3.0],"mirror":false}]},{"name":"bone350","parent":"bone99","pivot":[0.0,28.5,-9.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,27.5,-9.035],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,23.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone35","parent":"bone34","pivot":[0.0,20.0,-7.285],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.0,20.0,-11.035],"size":[4.0,5.0,4.0],"inflate":0.0,"uv":[0.0,76.0],"mirror":false},{"origin":[-1.5,24.5,-10.535],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false},{"origin":[-1.0,27.0,-10.035],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[97.0,3.0],"mirror":false}]},{"name":"bone351","parent":"bone35","pivot":[0.0,28.5,-9.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,27.5,-9.035],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone36","parent":"bone34","pivot":[0.0,23.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone37","parent":"bone36","pivot":[0.0,20.0,-7.285],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.0,20.0,-11.035],"size":[4.0,5.0,4.0],"inflate":0.0,"uv":[0.0,76.0],"mirror":false},{"origin":[-1.5,24.5,-10.535],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false},{"origin":[-1.0,27.0,-10.035],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[97.0,3.0],"mirror":false}]},{"name":"bone346","parent":"bone37","pivot":[0.0,28.5,-9.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,27.5,-9.035],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone100","parent":"bone36","pivot":[0.0,23.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone102","parent":"bone100","pivot":[0.0,23.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone103","parent":"bone102","pivot":[0.0,20.0,-7.285],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.0,20.0,-11.035],"size":[4.0,5.0,4.0],"inflate":0.0,"uv":[0.0,76.0],"mirror":false},{"origin":[-1.5,24.5,-10.535],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false},{"origin":[-1.0,27.0,-10.035],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[97.0,3.0],"mirror":false}]},{"name":"bone348","parent":"bone103","pivot":[0.0,28.5,-9.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,27.5,-9.035],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone101","parent":"bone100","pivot":[0.0,20.0,-7.285],"rotation":[12.501938983203612,0.0,0.0],"cubes":[{"origin":[-2.0,20.0,-11.035],"size":[4.0,5.0,4.0],"inflate":0.0,"uv":[0.0,76.0],"mirror":false},{"origin":[-1.5,24.5,-10.535],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,8.0],"mirror":false},{"origin":[-1.0,27.0,-10.035],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[97.0,3.0],"mirror":false}]},{"name":"bone347","parent":"bone101","pivot":[0.0,28.5,-9.035],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,27.5,-9.035],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone44","parent":"bone60","pivot":[0.0,27.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.5,25.5,-8.87],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,27.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,25.5,-8.87],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,27.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,25.5,-8.87],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,27.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,25.5,-8.87],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone48","parent":"bone47","pivot":[0.0,27.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,25.5,-8.87],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone49","parent":"bone48","pivot":[0.0,27.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,25.5,-8.87],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[49.0,40.0],"mirror":false}]},{"name":"bone50","parent":"bone60","pivot":[0.0,21.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone","parent":"bone50","pivot":[0.0,21.0,-10.559999],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,21.0125,-10.5383],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false}]},{"name":"bone_r1","parent":"bone","pivot":[-5.0,21.0,-10.559999],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,21.0,-10.559999],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone_r2","parent":"bone","pivot":[5.0,21.0,-10.559999],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,21.0,-10.559999],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone51","parent":"bone50","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone268","parent":"bone51","pivot":[0.0,21.0,-10.560001],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,21.0125,-10.538301],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false}]},{"name":"bone268_r1","parent":"bone268","pivot":[-5.0,21.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone268_r2","parent":"bone268","pivot":[5.0,21.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone52","parent":"bone51","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone53","parent":"bone52","pivot":[0.0,21.0,-10.560001],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,21.0125,-10.538301],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false}]},{"name":"bone53_r2","parent":"bone53","pivot":[5.0,21.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone53_r1","parent":"bone53","pivot":[-5.0,21.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone54","parent":"bone52","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone55","parent":"bone54","pivot":[0.0,21.0,-10.560001],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,21.0125,-10.538301],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false}]},{"name":"bone55_r1","parent":"bone55","pivot":[-5.0,21.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone55_r2","parent":"bone55","pivot":[5.0,21.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone56","parent":"bone54","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone57","parent":"bone56","pivot":[0.0,21.0,-10.560001],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,21.0125,-10.538301],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false}]},{"name":"bone57_r2","parent":"bone57","pivot":[5.0,21.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone57_r1","parent":"bone57","pivot":[-5.0,21.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone58","parent":"bone56","pivot":[0.0,21.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone59","parent":"bone58","pivot":[0.0,21.0,-10.560001],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,21.0125,-10.538301],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[36.0,75.0],"mirror":false}]},{"name":"bone59_r1","parent":"bone59","pivot":[-5.0,21.0,-10.56],"rotation":[0.0,0.0,10.5023165800914],"cubes":[{"origin":[-5.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":false}]},{"name":"bone59_r2","parent":"bone59","pivot":[5.0,21.0,-10.56],"rotation":[0.0,0.0,-10.5023165800914],"cubes":[{"origin":[4.0,21.0,-10.56],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[7.0,31.0],"mirror":true}]},{"name":"bone104","parent":"bone60","pivot":[0.0,29.0,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,26.5,-4.9349995],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone105","parent":"bone104","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,26.5,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone106","parent":"bone105","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,26.5,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone107","parent":"bone106","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,26.5,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone108","parent":"bone107","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,26.5,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone109","parent":"bone108","pivot":[0.0,29.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,26.5,-4.935],"size":[2.0,7.0,2.0],"inflate":0.5,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone249","parent":"bone60","pivot":[0.0,71.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone250","parent":"bone249","pivot":[0.0,71.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone250_r1","parent":"bone250","pivot":[0.0,68.5,-8.62],"rotation":[31.249119490616327,0.0,0.0],"cubes":[{"origin":[-1.0,68.5,-8.62],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[91.0,37.0],"mirror":false}]},{"name":"bone251","parent":"bone250","pivot":[0.0,71.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone251_r1","parent":"bone251","pivot":[0.0,68.5,-8.62],"rotation":[31.249119490616327,0.0,0.0],"cubes":[{"origin":[-1.0,68.5,-8.62],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[91.0,37.0],"mirror":false}]},{"name":"bone252","parent":"bone251","pivot":[0.0,71.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone253","parent":"bone252","pivot":[0.0,71.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone254","parent":"bone253","pivot":[0.0,71.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone254_r1","parent":"bone254","pivot":[0.0,68.5,-8.62],"rotation":[31.249119490616327,0.0,0.0],"cubes":[{"origin":[-1.0,68.5,-8.62],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[91.0,37.0],"mirror":false}]},{"name":"bone253_r1","parent":"bone253","pivot":[0.0,68.5,-8.62],"rotation":[31.249119490616327,0.0,0.0],"cubes":[{"origin":[-1.0,68.5,-8.62],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[91.0,37.0],"mirror":false}]},{"name":"bone252_r1","parent":"bone252","pivot":[0.0,68.5,-8.62],"rotation":[31.249119490616327,0.0,0.0],"cubes":[{"origin":[-1.0,68.5,-8.62],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[91.0,37.0],"mirror":false}]},{"name":"bone249_r1","parent":"bone249","pivot":[0.0,68.5,-8.62],"rotation":[31.249119490616327,0.0,0.0],"cubes":[{"origin":[-1.0,68.5,-8.62],"size":[2.0,6.0,1.0],"inflate":0.0,"uv":[91.0,37.0],"mirror":false}]},{"name":"bone116","parent":"bone60","pivot":[0.0,49.0,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.75,33.0,-3.9349995],"size":[2.0,28.0,1.0],"inflate":0.0,"uv":[29.0,53.0],"mirror":false}]},{"name":"bone117","parent":"bone116","pivot":[0.0,49.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,33.0,-3.935],"size":[2.0,28.0,1.0],"inflate":0.0,"uv":[29.0,53.0],"mirror":false}]},{"name":"bone118","parent":"bone117","pivot":[0.0,49.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,33.0,-3.935],"size":[2.0,28.0,1.0],"inflate":0.0,"uv":[29.0,53.0],"mirror":false}]},{"name":"bone120","parent":"bone118","pivot":[0.0,49.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,33.0,-3.935],"size":[2.0,28.0,1.0],"inflate":0.0,"uv":[29.0,53.0],"mirror":false}]},{"name":"bone121","parent":"bone120","pivot":[0.0,49.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,33.0,-3.935],"size":[2.0,28.0,1.0],"inflate":0.0,"uv":[29.0,53.0],"mirror":false}]},{"name":"bone122","parent":"bone121","pivot":[0.0,49.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.75,33.0,-3.935],"size":[2.0,28.0,1.0],"inflate":0.0,"uv":[29.0,53.0],"mirror":false}]},{"name":"bone333","parent":"console","pivot":[0.0,3.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone333_r1","parent":"bone333","pivot":[0.0,-0.0,-11.1],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-11.1],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[16.0,57.0],"mirror":false}]},{"name":"bone334","parent":"bone333","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone334_r1","parent":"bone334","pivot":[0.0,-0.0,-11.1],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-11.1],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[16.0,57.0],"mirror":false}]},{"name":"bone335","parent":"bone334","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone335_r1","parent":"bone335","pivot":[0.0,-0.0,-11.1],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-11.1],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[16.0,57.0],"mirror":false}]},{"name":"bone336","parent":"bone335","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone336_r1","parent":"bone336","pivot":[0.0,-0.0,-11.1],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-11.1],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[16.0,57.0],"mirror":false}]},{"name":"bone337","parent":"bone336","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone337_r1","parent":"bone337","pivot":[0.0,-0.0,-11.1],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-11.1],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[16.0,57.0],"mirror":false}]},{"name":"bone338","parent":"bone337","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone338_r1","parent":"bone338","pivot":[0.0,-0.0,-11.1],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-1.0,-0.0,-11.1],"size":[2.0,8.0,1.0],"inflate":0.0,"uv":[16.0,57.0],"mirror":false}]},{"name":"bone92","parent":"console","pivot":[0.0,11.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.5,8.0,-14.85],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[16.0,53.0],"mirror":false}]},{"name":"bone93","parent":"bone92","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,8.0,-14.85],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[16.0,53.0],"mirror":false}]},{"name":"bone94","parent":"bone93","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,8.0,-14.85],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[16.0,53.0],"mirror":false}]},{"name":"bone95","parent":"bone94","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,8.0,-14.85],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[16.0,53.0],"mirror":false}]},{"name":"bone96","parent":"bone95","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,8.0,-14.85],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[16.0,53.0],"mirror":false}]},{"name":"bone97","parent":"bone96","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,8.0,-14.85],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[16.0,53.0],"mirror":false}]},{"name":"bone74","parent":"console","pivot":[0.0,3.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone74_r1","parent":"bone74","pivot":[0.0,-0.0,-9.66],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-10.66],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[139.0,39.0],"mirror":false}]},{"name":"bone75","parent":"bone74","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone75_r1","parent":"bone75","pivot":[0.0,-0.0,-9.66],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-10.66],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[139.0,39.0],"mirror":false}]},{"name":"bone76","parent":"bone75","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone76_r1","parent":"bone76","pivot":[0.0,-0.0,-9.66],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-10.66],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[139.0,39.0],"mirror":false}]},{"name":"bone77","parent":"bone76","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone77_r1","parent":"bone77","pivot":[0.0,-0.0,-9.66],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-10.66],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[139.0,39.0],"mirror":false}]},{"name":"bone78","parent":"bone77","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone78_r1","parent":"bone78","pivot":[0.0,-0.0,-9.66],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-10.66],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[139.0,39.0],"mirror":false}]},{"name":"bone79","parent":"bone78","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone79_r1","parent":"bone79","pivot":[0.0,-0.0,-9.66],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-10.66],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[139.0,39.0],"mirror":false}]},{"name":"console_r1","parent":"console","pivot":[0.0,66.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-8.0,66.0,-8.0],"size":[16.0,1.0,16.0],"inflate":0.0,"uv":[80.0,61.0],"mirror":false},{"origin":[-8.0,25.0,-8.0],"size":[16.0,1.0,16.0],"inflate":0.0,"uv":[80.0,61.0],"mirror":false}]},{"name":"bone68","parent":"console","pivot":[0.0,11.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,8.0,-13.11],"size":[14.0,2.0,5.0],"inflate":0.0,"uv":[176.0,85.0],"mirror":false}]},{"name":"bone69","parent":"bone68","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.0,8.0,-13.11],"size":[14.0,2.0,5.0],"inflate":0.0,"uv":[176.0,85.0],"mirror":false}]},{"name":"bone70","parent":"bone69","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.0,8.0,-13.11],"size":[14.0,2.0,5.0],"inflate":0.0,"uv":[176.0,85.0],"mirror":false}]},{"name":"bone71","parent":"bone70","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.0,8.0,-13.11],"size":[14.0,2.0,5.0],"inflate":0.0,"uv":[176.0,85.0],"mirror":false}]},{"name":"bone72","parent":"bone71","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.0,8.0,-13.11],"size":[14.0,2.0,5.0],"inflate":0.0,"uv":[176.0,85.0],"mirror":false}]},{"name":"bone73","parent":"bone72","pivot":[0.0,11.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.0,8.0,-13.11],"size":[14.0,2.0,5.0],"inflate":0.0,"uv":[176.0,85.0],"mirror":false}]},{"name":"bone339","parent":"console","pivot":[0.0,3.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.66],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[160.0,42.0],"mirror":false}]},{"name":"bone340","parent":"bone339","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.66],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[160.0,42.0],"mirror":false}]},{"name":"bone341","parent":"bone340","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.66],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[160.0,42.0],"mirror":false}]},{"name":"bone342","parent":"bone341","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.66],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[160.0,42.0],"mirror":false}]},{"name":"bone343","parent":"bone342","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.66],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[160.0,42.0],"mirror":false}]},{"name":"bone344","parent":"bone343","pivot":[0.0,3.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.66],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[160.0,42.0],"mirror":false}]},{"name":"bone218","parent":"console","pivot":[0.0,1.25,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone61","parent":"bone218","pivot":[0.0,14.25,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-14.5,13.25,-25.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false}]},{"name":"bone269","parent":"bone61","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-14.5,13.25,-25.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false}]},{"name":"bone270","parent":"bone269","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-14.5,13.25,-25.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false}]},{"name":"bone271","parent":"bone270","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-14.5,13.25,-25.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false}]},{"name":"bone272","parent":"bone271","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-14.5,13.25,-25.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false}]},{"name":"bone273","parent":"bone272","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-14.5,13.25,-25.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false}]},{"name":"bone80","parent":"bone218","pivot":[0.0,14.25,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone81","parent":"bone80","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone82","parent":"bone81","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone83","parent":"bone82","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone83_r1","parent":"bone83","pivot":[0.5,12.25,-26.73],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.73],"size":[30.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone84","parent":"bone83","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone84_r1","parent":"bone84","pivot":[0.5,12.25,-26.73],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.73],"size":[30.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone85","parent":"bone84","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone85_r1","parent":"bone85","pivot":[0.5,12.25,-26.73],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.73],"size":[30.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone82_r1","parent":"bone82","pivot":[0.5,12.25,-26.73],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.73],"size":[30.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone81_r1","parent":"bone81","pivot":[0.5,12.25,-26.73],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.73],"size":[30.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone80_r1","parent":"bone80","pivot":[0.5,12.25,-26.73],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.73],"size":[30.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone2","parent":"bone218","pivot":[0.0,14.25,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,8.0],"mirror":false},{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,39.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,8.0],"mirror":false},{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,39.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,8.0],"mirror":false},{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,39.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,8.0],"mirror":false},{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,39.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,8.0],"mirror":false},{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,39.0],"mirror":false}]},{"name":"bone7","parent":"bone6","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[10.0,8.0],"mirror":false},{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,39.0],"mirror":false}]},{"name":"bone86","parent":"bone218","pivot":[0.0,14.25,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone86_r1","parent":"bone86","pivot":[0.0,12.25,-30.865],"rotation":[-11.997736126220563,0.0,0.0],"cubes":[{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,18.0],"inflate":0.0,"uv":[47.0,35.0],"mirror":false}]},{"name":"bone87","parent":"bone86","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone87_r1","parent":"bone87","pivot":[0.0,12.25,-30.865],"rotation":[-11.997736126220563,0.0,0.0],"cubes":[{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,18.0],"inflate":0.0,"uv":[47.0,35.0],"mirror":false}]},{"name":"bone88","parent":"bone87","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone88_r1","parent":"bone88","pivot":[0.0,12.25,-30.865],"rotation":[-11.997736126220563,0.0,0.0],"cubes":[{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,18.0],"inflate":0.0,"uv":[47.0,35.0],"mirror":false}]},{"name":"bone89","parent":"bone88","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone90","parent":"bone89","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone90_r1","parent":"bone90","pivot":[0.0,12.25,-30.865],"rotation":[-11.997736126220563,0.0,0.0],"cubes":[{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,18.0],"inflate":0.0,"uv":[47.0,35.0],"mirror":false}]},{"name":"bone91","parent":"bone90","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone91_r1","parent":"bone91","pivot":[0.0,12.25,-30.865],"rotation":[-11.997736126220563,0.0,0.0],"cubes":[{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,18.0],"inflate":0.0,"uv":[47.0,35.0],"mirror":false}]},{"name":"bone89_r1","parent":"bone89","pivot":[0.0,12.25,-30.865],"rotation":[-11.997736126220563,0.0,0.0],"cubes":[{"origin":[-0.5,12.25,-30.865],"size":[1.0,1.0,18.0],"inflate":0.0,"uv":[47.0,35.0],"mirror":false}]},{"name":"bone62","parent":"bone218","pivot":[0.0,14.75,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone62_r1","parent":"bone62","pivot":[-0.75,19.75,-13.45],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-8.0,18.75,-13.45],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[23.0,202.0],"mirror":false}]},{"name":"bone63","parent":"bone62","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone63_r1","parent":"bone63","pivot":[0.0,19.3542,-15.4837],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.0,18.3542,-15.4837],"size":[18.0,1.0,12.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone64","parent":"bone63","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone64_r1","parent":"bone64","pivot":[0.0,19.3542,-15.4837],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.0,18.3542,-15.4837],"size":[18.0,1.0,12.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone65","parent":"bone64","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone66","parent":"bone65","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone66_r1","parent":"bone66","pivot":[0.0,19.3542,-15.4837],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[-9.0,18.3542,-15.4837],"size":[18.0,1.0,12.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone67","parent":"bone66","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone67_r1","parent":"bone67","pivot":[0.75,19.75,-13.450001],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-6.0,18.75,-13.450001],"size":[14.0,1.0,4.0],"inflate":0.0,"uv":[23.0,202.0],"mirror":true}]},{"name":"bone119","parent":"bone218","pivot":[0.0,14.25,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-15.0,12.25,-26.98],"size":[30.0,1.0,2.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-14.5,14.25,-26.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"bone126","parent":"bone119","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-15.0,12.25,-26.98],"size":[30.0,1.0,2.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-14.5,14.25,-26.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"bone127","parent":"bone126","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-15.0,12.25,-26.98],"size":[30.0,1.0,2.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-14.5,14.25,-26.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"bone128","parent":"bone127","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-15.0,12.25,-26.98],"size":[30.0,1.0,2.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-14.5,14.25,-26.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"bone129","parent":"bone128","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-15.0,12.25,-26.98],"size":[30.0,1.0,2.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-14.5,14.25,-26.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"bone130","parent":"bone129","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-15.0,12.25,-26.98],"size":[30.0,1.0,2.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-14.5,14.25,-26.115],"size":[29.0,1.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"bone8","parent":"bone218","pivot":[0.0,14.75,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone295","parent":"bone8","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,11.25,-25.74],"size":[29.0,4.0,4.0],"inflate":0.0,"uv":[134.0,24.0],"mirror":false}]},{"name":"bone295_r1","parent":"bone295","pivot":[14.5,15.25,-25.74],"rotation":[0.0,-27.50197355156249,0.0],"cubes":[{"origin":[13.0,12.225,-14.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":true},{"origin":[13.0,12.225,-21.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":true}]},{"name":"bone9","parent":"bone8","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone10","parent":"bone9","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone10_r1","parent":"bone10","pivot":[0.0,15.25,-25.740002],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,14.25,-25.740002],"size":[29.0,1.0,11.0],"inflate":0.0,"uv":[161.0,62.0],"mirror":true}]},{"name":"bone11","parent":"bone10","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone274","parent":"bone11","pivot":[0.0,15.25,-25.740002],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,11.25,-25.740002],"size":[29.0,4.0,4.0],"inflate":0.0,"uv":[134.0,24.0],"mirror":false}]},{"name":"bone274_r1","parent":"bone274","pivot":[14.5,15.25,-25.74],"rotation":[0.0,-27.50197355156249,0.0],"cubes":[{"origin":[13.0,12.225,-21.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":true},{"origin":[13.0,12.225,-14.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":true}]},{"name":"bone274_r2","parent":"bone274","pivot":[-14.5,15.25,-25.74],"rotation":[0.0,27.50197355156249,0.0],"cubes":[{"origin":[-15.0,12.225,-14.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":false},{"origin":[-15.0,12.225,-21.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone13","parent":"bone12","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone288","parent":"bone13","pivot":[0.0,15.25,-25.740002],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,11.25,-25.740002],"size":[29.0,4.0,4.0],"inflate":0.0,"uv":[134.0,24.0],"mirror":false}]},{"name":"bone288_r1","parent":"bone288","pivot":[-14.5,15.25,-25.74],"rotation":[0.0,27.50197355156249,0.0],"cubes":[{"origin":[-15.0,12.225,-14.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":false},{"origin":[-15.0,12.225,-21.74],"size":[2.0,3.0,9.0],"inflate":0.0,"uv":[73.0,82.0],"mirror":false}]},{"name":"bone12_r1","parent":"bone12","pivot":[0.0,15.25,-25.740002],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,14.25,-25.740002],"size":[29.0,1.0,11.0],"inflate":0.0,"uv":[0.0,18.0],"mirror":false}]},{"name":"bone9_r1","parent":"bone9","pivot":[0.0,15.25,-25.740002],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,14.25,-25.740002],"size":[29.0,1.0,11.0],"inflate":0.0,"uv":[161.0,62.0],"mirror":false}]},{"name":"bone14","parent":"bone218","pivot":[0.0,14.25,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone14_r1","parent":"bone14","pivot":[0.0,15.25,-29.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[0.0,53.0],"mirror":false}]},{"name":"bone15","parent":"bone14","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone16","parent":"bone15","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone17","parent":"bone16","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone18","parent":"bone17","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone19","parent":"bone18","pivot":[0.0,14.25,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone19_r2","parent":"bone19","pivot":[0.0,15.25,-29.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,13.25,-29.866],"size":[1.0,2.0,5.0],"inflate":0.0,"uv":[40.0,231.0],"mirror":false}]},{"name":"bone19_r1","parent":"bone19","pivot":[0.0,14.5,-25.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-1.0,13.5,-25.866],"size":[2.0,1.0,15.0],"inflate":0.0,"uv":[38.0,128.0],"mirror":false}]},{"name":"bone18_r1","parent":"bone18","pivot":[0.0,15.25,-29.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[0.0,53.0],"mirror":false}]},{"name":"bone17_r1","parent":"bone17","pivot":[0.0,15.25,-29.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[0.0,53.0],"mirror":false}]},{"name":"bone16_r1","parent":"bone16","pivot":[0.0,15.25,-29.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,14.25,-29.866],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[0.0,53.0],"mirror":false}]},{"name":"bone313","parent":"bone15","pivot":[0.0,15.25,-29.866],"rotation":[19.4977534104,0.0,0.0],"cubes":[{"origin":[-0.5,13.25,-29.866],"size":[1.0,2.0,5.0],"inflate":0.0,"uv":[40.0,231.0],"mirror":false},{"origin":[-2.5,12.5,-23.866],"size":[5.0,2.0,7.0],"inflate":0.0,"uv":[38.0,245.0],"mirror":false},{"origin":[-3.0,13.25,-24.866],"size":[6.0,2.0,1.0],"inflate":0.0,"uv":[17.0,240.0],"mirror":false}]},{"name":"bone313_r2","parent":"bone313","pivot":[3.0,15.25,-23.866],"rotation":[0.0,-12.501938983203612,0.0],"cubes":[{"origin":[2.0,13.125,-23.866],"size":[1.0,2.0,8.0],"inflate":0.0,"uv":[13.0,223.0],"mirror":false}]},{"name":"bone313_r1","parent":"bone313","pivot":[-3.0,15.25,-23.866],"rotation":[0.0,12.501938983203612,0.0],"cubes":[{"origin":[-3.0,13.125,-23.866],"size":[1.0,2.0,8.0],"inflate":0.0,"uv":[13.0,223.0],"mirror":true}]},{"name":"Rotor","parent":"console","pivot":[0.0,47.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone194","parent":"Rotor","pivot":[0.0,43.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,36.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone195","parent":"bone194","pivot":[0.0,43.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,36.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone196","parent":"bone195","pivot":[0.0,43.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,36.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone197","parent":"bone196","pivot":[0.0,43.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,36.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone198","parent":"bone197","pivot":[0.0,43.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,36.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone199","parent":"bone198","pivot":[0.0,43.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,36.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone164","parent":"Rotor","pivot":[0.0,48.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,41.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone165","parent":"bone164","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,41.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone166","parent":"bone165","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,41.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone167","parent":"bone166","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,41.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone168","parent":"bone167","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,41.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone169","parent":"bone168","pivot":[0.0,48.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,41.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone152","parent":"Rotor","pivot":[0.0,53.5,-21.285],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,46.25,-6.0599995],"size":[7.0,2.0,1.0],"inflate":0.0,"uv":[77.0,9.0],"mirror":false}]},{"name":"bone153","parent":"bone152","pivot":[0.0,53.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,46.25,-6.06],"size":[7.0,2.0,1.0],"inflate":0.0,"uv":[77.0,9.0],"mirror":false}]},{"name":"bone154","parent":"bone153","pivot":[0.0,53.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,46.25,-6.06],"size":[7.0,2.0,1.0],"inflate":0.0,"uv":[77.0,9.0],"mirror":false}]},{"name":"bone155","parent":"bone154","pivot":[0.0,53.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,46.25,-6.06],"size":[7.0,2.0,1.0],"inflate":0.0,"uv":[77.0,9.0],"mirror":false}]},{"name":"bone156","parent":"bone155","pivot":[0.0,53.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,46.25,-6.06],"size":[7.0,2.0,1.0],"inflate":0.0,"uv":[77.0,9.0],"mirror":false}]},{"name":"bone157","parent":"bone156","pivot":[0.0,53.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,46.25,-6.06],"size":[7.0,2.0,1.0],"inflate":0.0,"uv":[77.0,9.0],"mirror":false}]},{"name":"bone188","parent":"Rotor","pivot":[0.0,66.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,59.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone189","parent":"bone188","pivot":[0.0,66.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,59.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone190","parent":"bone189","pivot":[0.0,66.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,59.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone191","parent":"bone190","pivot":[0.0,66.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,59.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone192","parent":"bone191","pivot":[0.0,66.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,59.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone193","parent":"bone192","pivot":[0.0,66.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,59.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone176","parent":"Rotor","pivot":[0.0,62.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,55.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone177","parent":"bone176","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,55.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone178","parent":"bone177","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,55.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone179","parent":"bone178","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,55.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone180","parent":"bone179","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,55.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone181","parent":"bone180","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,55.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone212","parent":"Rotor","pivot":[0.0,50.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,43.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone213","parent":"bone212","pivot":[0.0,50.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,43.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone214","parent":"bone213","pivot":[0.0,50.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,43.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone215","parent":"bone214","pivot":[0.0,50.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,43.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone216","parent":"bone215","pivot":[0.0,50.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,43.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone217","parent":"bone216","pivot":[0.0,50.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,43.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone200","parent":"Rotor","pivot":[0.0,41.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,34.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone201","parent":"bone200","pivot":[0.0,41.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,34.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone202","parent":"bone201","pivot":[0.0,41.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,34.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone203","parent":"bone202","pivot":[0.0,41.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,34.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone204","parent":"bone203","pivot":[0.0,41.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,34.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone205","parent":"bone204","pivot":[0.0,41.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,34.0,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone158","parent":"Rotor","pivot":[0.0,59.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,52.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone159","parent":"bone158","pivot":[0.0,59.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,52.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone160","parent":"bone159","pivot":[0.0,59.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,52.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone161","parent":"bone160","pivot":[0.0,59.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,52.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone162","parent":"bone161","pivot":[0.0,59.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,52.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone163","parent":"bone162","pivot":[0.0,59.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,52.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone206","parent":"Rotor","pivot":[0.0,57.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,50.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone207","parent":"bone206","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,50.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone208","parent":"bone207","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,50.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone209","parent":"bone208","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,50.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone210","parent":"bone209","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,50.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone211","parent":"bone210","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,50.0,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone182","parent":"Rotor","pivot":[0.0,64.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,57.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone183","parent":"bone182","pivot":[0.0,64.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,57.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone184","parent":"bone183","pivot":[0.0,64.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,57.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone185","parent":"bone184","pivot":[0.0,64.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,57.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone186","parent":"bone185","pivot":[0.0,64.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,57.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone187","parent":"bone186","pivot":[0.0,64.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,57.5,-4.31],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[49.0,37.0],"mirror":false}]},{"name":"bone170","parent":"Rotor","pivot":[0.0,45.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,38.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone171","parent":"bone170","pivot":[0.0,45.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,38.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone172","parent":"bone171","pivot":[0.0,45.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,38.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone173","parent":"bone172","pivot":[0.0,45.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,38.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone174","parent":"bone173","pivot":[0.0,45.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,38.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone175","parent":"bone174","pivot":[0.0,45.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,38.5,-5.21],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[49.0,34.0],"mirror":false}]},{"name":"bone276","parent":"root","pivot":[0.0,-0.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone286","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[]},{"name":"bone287","parent":"bone286","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-12.5,14.35,-25.24],"size":[25.0,1.0,7.0],"inflate":0.0,"uv":[32.0,110.0],"mirror":false},{"origin":[-8.75,14.375,-25.49],"size":[5.0,1.0,4.0],"inflate":0.0,"uv":[33.0,133.0],"mirror":false},{"origin":[0.0,15.375,-24.99],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[41.0,148.0],"mirror":false},{"origin":[-2.5,14.875,-24.99],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[30.0,148.0],"mirror":false},{"origin":[5.0,15.35,-21.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[33.0,120.0],"mirror":false},{"origin":[10.5,15.35,-24.74],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[40.0,118.0],"mirror":false},{"origin":[-12.5,15.35,-24.74],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[40.0,128.0],"mirror":false},{"origin":[-9.5,14.85,-24.74],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[49.0,118.0],"mirror":false},{"origin":[-7.0,14.85,-24.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[50.0,121.0],"mirror":false},{"origin":[-11.5,15.35,-22.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[40.0,128.0],"mirror":false},{"origin":[7.5,14.85,-20.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[34.0,124.0],"mirror":false},{"origin":[8.5,14.85,-22.99],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[29.0,123.0],"mirror":false},{"origin":[8.0,14.85,-24.49],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[29.0,123.0],"mirror":false},{"origin":[7.0,14.85,-22.99],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[29.0,123.0],"mirror":false},{"origin":[6.5,14.85,-24.49],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[29.0,123.0],"mirror":false},{"origin":[2.0,14.375,-24.99],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[26.0,126.0],"mirror":false},{"origin":[2.5,15.35,-21.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[33.0,120.0],"mirror":false},{"origin":[-8.5,15.25,-18.74],"size":[17.0,1.0,3.0],"inflate":0.0,"uv":[39.0,123.0],"mirror":false},{"origin":[5.5,16.0,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[23.0,145.0],"mirror":false},{"origin":[4.0,15.75,-18.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[30.0,144.0],"mirror":false},{"origin":[0.0,15.75,-18.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[30.0,144.0],"mirror":false},{"origin":[-2.5,16.0,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[23.0,145.0],"mirror":false},{"origin":[-2.0,17.0,-17.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[20.0,144.0],"mirror":false},{"origin":[6.0,17.0,-17.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[20.0,144.0],"mirror":false},{"origin":[-7.5,15.35,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[21.0,149.0],"mirror":false}]},{"name":"bone306","parent":"bone287","pivot":[-10.5,16.85,-21.24],"rotation":[0.0,-87.5021135325453,0.0],"cubes":[{"origin":[-11.25,16.35,-21.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone305","parent":"bone287","pivot":[-6.5,15.85,-23.74],"rotation":[0.0,-20.00195626738305,0.0],"cubes":[{"origin":[-7.25,15.35,-23.74],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone308","parent":"bone287","pivot":[-6.5,16.35,-17.24],"rotation":[-30.000069136717755,-32.498166429420316,0.0],"cubes":[{"origin":[-6.5,15.35,-20.74],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[20.0,151.0],"mirror":false},{"origin":[-7.0,18.35,-20.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[15.0,153.0],"mirror":false}]},{"name":"bone307","parent":"bone287","pivot":[-11.5,16.35,-23.74],"rotation":[0.0,54.99821998950593,0.0],"cubes":[{"origin":[-12.25,15.85,-23.74],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone289","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone290","parent":"bone289","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-12.5,14.35,-25.24],"size":[25.0,1.0,3.0],"inflate":0.0,"uv":[99.0,117.0],"mirror":false},{"origin":[-8.0,14.85,-23.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[-6.5,14.85,-23.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[-5.0,14.85,-23.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[-0.5,14.85,-24.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[104.0,123.0],"mirror":false},{"origin":[4.0,14.85,-24.74],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[104.0,123.0],"mirror":false},{"origin":[6.5,14.85,-24.74],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[104.0,123.0],"mirror":false},{"origin":[6.5,12.85,-20.99],"size":[2.0,3.0,2.0],"inflate":0.0,"uv":[107.0,127.0],"mirror":false},{"origin":[-3.5,12.6,-20.99],"size":[10.0,2.0,2.0],"inflate":0.0,"uv":[107.0,138.0],"mirror":false},{"origin":[5.75,15.35,-19.99],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[107.0,134.0],"mirror":false},{"origin":[-14.5,12.25,-22.74],"size":[29.0,1.0,13.0],"inflate":0.0,"uv":[11.0,172.0],"mirror":false},{"origin":[-10.5,12.5,-21.74],"size":[21.0,1.0,8.0],"inflate":0.0,"uv":[15.0,186.0],"mirror":false}]},{"name":"bone290_r1","parent":"bone290","pivot":[2.75,15.6,-23.99],"rotation":[0.0,30.000069136717755,0.0],"cubes":[{"origin":[2.0,14.85,-23.99],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false}]},{"name":"bone290_r2","parent":"bone290","pivot":[-10.0,11.35,-14.74],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-11.0,17.1,-15.74],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[110.0,108.0],"mirror":false},{"origin":[-10.5,15.35,-15.24],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[111.0,103.0],"mirror":false},{"origin":[-11.5,11.35,-16.24],"size":[3.0,4.0,3.0],"inflate":0.0,"uv":[99.0,109.0],"mirror":false}]},{"name":"bone291","parent":"bone289","pivot":[-1.0,18.25,-18.24],"rotation":[-22.500051852538316,0.0,0.0],"cubes":[{"origin":[-4.5,16.25,-20.24],"size":[9.0,4.0,4.0],"inflate":0.0,"uv":[35.0,96.0],"mirror":false},{"origin":[4.5,16.75,-19.74],"size":[1.0,3.0,3.0],"inflate":0.0,"uv":[65.0,81.0],"mirror":true},{"origin":[-5.5,16.75,-19.74],"size":[1.0,3.0,3.0],"inflate":0.0,"uv":[65.0,81.0],"mirror":false},{"origin":[-8.5,15.0,-18.24],"size":[3.0,5.0,1.0],"inflate":0.0,"uv":[69.0,98.0],"mirror":false},{"origin":[5.5,15.0,-18.24],"size":[3.0,5.0,1.0],"inflate":0.0,"uv":[69.0,98.0],"mirror":true},{"origin":[-1.0,17.25,-21.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[28.0,94.0],"mirror":false},{"origin":[1.75,16.5,-20.74],"size":[2.0,4.0,4.0],"inflate":0.0,"uv":[97.0,99.0],"mirror":false},{"origin":[-3.75,16.5,-20.74],"size":[2.0,4.0,4.0],"inflate":0.0,"uv":[97.0,99.0],"mirror":false}]},{"name":"bone360","parent":"bone291","pivot":[0.0,17.25,-20.265],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,17.25,-20.244999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":false},{"origin":[-3.5,17.25,-20.244999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":true}]},{"name":"bone309","parent":"bone291","pivot":[-5.475,18.25,-18.24],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-5.975,17.75,-18.74],"size":[1.0,6.0,1.0],"inflate":0.0,"uv":[67.0,88.0],"mirror":true}]},{"name":"bone362","parent":"bone291","pivot":[0.0,20.25,-20.265],"rotation":[-90.00020741015327,0.0,0.0],"cubes":[{"origin":[1.5,20.25,-20.289999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":false},{"origin":[-3.5,20.25,-20.289999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":true}]},{"name":"bone361","parent":"bone291","pivot":[0.0,18.75,-20.265],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,18.75,-20.244999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":false},{"origin":[-3.5,18.75,-20.244999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":true}]},{"name":"bone364","parent":"bone291","pivot":[0.0,20.25,-17.265],"rotation":[-90.00020741015327,0.0,0.0],"cubes":[{"origin":[1.5,20.25,-17.289999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,100.0],"mirror":false},{"origin":[-3.5,20.25,-17.289999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,100.0],"mirror":true}]},{"name":"bone363","parent":"bone291","pivot":[0.0,20.25,-18.765],"rotation":[-90.00020741015327,0.0,0.0],"cubes":[{"origin":[1.5,20.25,-18.789999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":false},{"origin":[-3.5,20.25,-18.789999],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[27.0,98.0],"mirror":true}]},{"name":"bone277","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone278","parent":"bone277","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-12.5,14.35,-25.24],"size":[25.0,1.0,9.0],"inflate":0.0,"uv":[91.0,156.0],"mirror":false},{"origin":[-2.5,14.45,-19.99],"size":[5.0,1.0,2.0],"inflate":0.0,"uv":[98.0,166.0],"mirror":false},{"origin":[-8.0,14.85,-19.99],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[-5.5,15.85,-19.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[-10.0,14.85,-24.49],"size":[1.0,1.0,1.0],"inflate":0.25,"uv":[96.0,122.0],"mirror":false},{"origin":[-11.25,15.6,-23.99],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[107.0,134.0],"mirror":false},{"origin":[9.0,14.85,-24.49],"size":[1.0,1.0,1.0],"inflate":0.25,"uv":[96.0,122.0],"mirror":true},{"origin":[8.5,15.35,-22.49],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":true},{"origin":[8.25,15.6,-23.99],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[107.0,134.0],"mirror":true},{"origin":[-9.5,14.85,-22.49],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[50.0,121.0],"mirror":false},{"origin":[-4.5,14.85,-23.24],"size":[9.0,1.0,2.0],"inflate":0.0,"uv":[61.0,133.0],"mirror":false},{"origin":[-8.25,15.1,-19.49],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[-9.75,15.1,-21.99],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[-4.75,15.1,-22.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[2.75,15.1,-22.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":true},{"origin":[0.75,15.1,-22.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":true},{"origin":[-2.75,15.1,-22.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[-0.75,15.1,-22.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[6.25,15.1,-19.49],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":true},{"origin":[7.0,14.85,-19.99],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":true},{"origin":[-6.5,15.35,-19.74],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[99.0,149.0],"mirror":false},{"origin":[-6.5,15.35,-17.74],"size":[3.0,2.0,2.0],"inflate":0.025000000993410747,"uv":[88.0,152.0],"mirror":false},{"origin":[3.5,15.35,-17.74],"size":[3.0,2.0,2.0],"inflate":0.025000000993410747,"uv":[88.0,152.0],"mirror":true},{"origin":[4.5,15.85,-19.24],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":true},{"origin":[3.5,15.35,-19.74],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[99.0,149.0],"mirror":true},{"origin":[3.5,15.35,-19.74],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[99.0,149.0],"mirror":true},{"origin":[-1.0,14.85,-18.74],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[110.0,147.0],"mirror":true}]},{"name":"bone316","parent":"bone278","pivot":[9.0,17.35,-21.99],"rotation":[-20.00195626738305,20.00195626738305,0.0],"cubes":[{"origin":[8.0,16.85,-25.24],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[20.0,151.0],"mirror":true},{"origin":[8.5,19.85,-25.49],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[15.0,153.0],"mirror":true}]},{"name":"bone279","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"monitor","parent":"bone279","pivot":[-6.0,20.75,-8.75],"rotation":[-9.998113723108352,15.000034568358878,0.0],"cubes":[{"origin":[-9.5,21.75,-12.0],"size":[7.0,4.0,2.0],"inflate":0.0,"uv":[86.0,135.0],"mirror":false},{"origin":[-7.0,20.75,-10.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[87.0,142.0],"mirror":false},{"origin":[-11.0,20.75,-11.975],"size":[10.0,6.0,1.0],"inflate":0.0,"uv":[84.0,126.0],"mirror":false}]},{"name":"bone311","parent":"monitor","pivot":[-6.0,21.75,-11.975],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-10.0,20.75,-14.975],"size":[8.0,1.0,3.0],"inflate":0.0,"uv":[141.0,187.0],"mirror":false},{"origin":[-4.5,21.25,-14.475],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[104.0,123.0],"mirror":false},{"origin":[-9.5,21.25,-14.475],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[104.0,123.0],"mirror":false}]},{"name":"bone359","parent":"monitor","pivot":[-8.5,24.0,-12.025],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.5,23.75,-12.025],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[83.0,134.0],"mirror":false}]},{"name":"bone358","parent":"monitor","pivot":[-8.5,25.0,-12.025],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.5,24.75,-12.025],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[83.0,134.0],"mirror":false}]},{"name":"bone280","parent":"bone279","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-12.5,14.35,-25.24],"size":[25.0,1.0,9.0],"inflate":0.0,"uv":[91.0,169.0],"mirror":false},{"origin":[3.5,14.45,-24.49],"size":[6.0,1.0,3.0],"inflate":0.0,"uv":[72.0,165.0],"mirror":false},{"origin":[-9.75,14.85,-24.24],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[56.0,198.0],"mirror":false},{"origin":[-5.25,14.85,-20.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[50.0,121.0],"mirror":false},{"origin":[-7.25,14.85,-20.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[50.0,121.0],"mirror":false},{"origin":[6.25,14.85,-20.24],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[57.0,118.0],"mirror":false},{"origin":[4.25,14.85,-20.24],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[57.0,118.0],"mirror":false},{"origin":[-5.5,15.35,-20.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[-7.5,15.35,-20.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[6.0,16.35,-19.74],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[4.0,16.35,-19.74],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[-1.0,14.35,-24.74],"size":[2.0,2.0,2.0],"inflate":-0.25,"uv":[40.0,128.0],"mirror":false},{"origin":[-3.0,14.35,-24.74],"size":[2.0,2.0,2.0],"inflate":-0.25,"uv":[40.0,128.0],"mirror":false},{"origin":[1.0,14.35,-24.74],"size":[2.0,2.0,2.0],"inflate":-0.25,"uv":[40.0,128.0],"mirror":false},{"origin":[-3.0,15.35,-22.74],"size":[6.0,2.0,4.0],"inflate":0.0,"uv":[72.0,191.0],"mirror":false}]},{"name":"throttle","parent":"bone280","pivot":[0.0,16.35,-20.74],"rotation":[-45.00010370507663,0.0,0.0],"cubes":[{"origin":[-2.5,16.35,-21.24],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[75.0,198.0],"mirror":false},{"origin":[1.5,16.35,-21.24],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[75.0,198.0],"mirror":true}]},{"name":"bone310","parent":"bone280","pivot":[0.0,-0.0,1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[5.0,15.1,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[76.0,187.0],"mirror":false},{"origin":[2.0,15.1,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[76.0,187.0],"mirror":false},{"origin":[-1.0,15.1,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[76.0,187.0],"mirror":false},{"origin":[-4.0,15.1,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[76.0,187.0],"mirror":false},{"origin":[-7.0,15.1,-18.24],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[76.0,187.0],"mirror":false}]},{"name":"bone314","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone315","parent":"bone314","pivot":[0.0,18.85,-22.24],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.25,19.1,-23.99],"size":[1.0,4.0,4.0],"inflate":0.25,"uv":[128.0,217.0],"mirror":false}]},{"name":"bone315_r1","parent":"bone315","pivot":[0.0,21.1,-22.24],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[0.25,19.1,-23.99],"size":[1.0,4.0,4.0],"inflate":0.25,"uv":[128.0,217.0],"mirror":false}]},{"name":"bone314_r1","parent":"bone314","pivot":[0.0,17.85,-22.24],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.5,16.6,-23.74],"size":[3.0,2.0,3.0],"inflate":0.25,"uv":[73.0,216.0],"mirror":false}]},{"name":"bone281","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone283","parent":"bone281","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-14.5,12.25,-22.74],"size":[29.0,1.0,13.0],"inflate":0.0,"uv":[11.0,172.0],"mirror":false},{"origin":[-8.0,13.0,-17.74],"size":[4.0,2.0,4.0],"inflate":0.0,"uv":[0.0,161.0],"mirror":false},{"origin":[4.0,13.0,-17.74],"size":[4.0,2.0,4.0],"inflate":0.0,"uv":[0.0,161.0],"mirror":true},{"origin":[-6.0,14.35,-25.99],"size":[10.0,1.0,4.0],"inflate":0.0,"uv":[2.0,117.0],"mirror":false},{"origin":[-5.5,15.1,-23.99],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[2.0,123.0],"mirror":false},{"origin":[-4.0,14.45,-24.74],"size":[7.0,1.0,2.0],"inflate":0.0,"uv":[0.0,130.0],"mirror":false},{"origin":[2.5,15.1,-23.99],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[2.0,123.0],"mirror":false}]},{"name":"bone285","parent":"bone283","pivot":[13.75,15.25,-26.24],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[5.25,14.351,-20.3263],"size":[1.0,2.0,3.0],"inflate":0.25,"uv":[21.0,129.0],"mirror":false},{"origin":[4.25,14.35,-24.24],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[5.0,123.0],"mirror":false}]},{"name":"bone285_r1","parent":"bone285","pivot":[5.75,15.35,-23.74],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[4.75,15.6,-23.74],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[9.0,127.0],"mirror":false},{"origin":[4.25,15.1,-23.24],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[16.0,122.0],"mirror":false}]},{"name":"bone301","parent":"bone285","pivot":[5.75,15.5401,-23.1034],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone284","parent":"bone283","pivot":[0.25,15.25,-26.24],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.25,14.351,-20.3263],"size":[1.0,2.0,3.0],"inflate":0.25,"uv":[21.0,129.0],"mirror":true},{"origin":[-9.25,14.35,-24.24],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[5.0,123.0],"mirror":false}]},{"name":"bone284_r1","parent":"bone284","pivot":[-7.75,15.35,-23.74],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[-8.75,15.6,-23.74],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[9.0,127.0],"mirror":false},{"origin":[-9.25,15.1,-23.24],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[16.0,122.0],"mirror":false}]},{"name":"bone300","parent":"bone284","pivot":[-7.75,15.5401,-23.1034],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone283_r1","parent":"bone283","pivot":[-1.0,15.450001,-23.24],"rotation":[-27.50197355156249,0.0,0.0],"cubes":[{"origin":[-3.5,14.950001,-23.24],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[1.0,133.0],"mirror":false}]},{"name":"bone302","parent":"bone283","pivot":[-6.5,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-12.5,14.35,-24.99],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[13.0,135.0],"mirror":false}]},{"name":"bone302_r1","parent":"bone302","pivot":[-11.0,16.1,-23.49],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-12.0,14.85,-24.49],"size":[2.0,2.0,2.0],"inflate":0.5,"uv":[25.0,138.0],"mirror":false}]},{"name":"bone303","parent":"bone283","pivot":[6.5,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[9.5,14.35,-24.99],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[13.0,135.0],"mirror":true}]},{"name":"bone303_r1","parent":"bone303","pivot":[11.0,16.1,-23.49],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[10.0,14.85,-24.49],"size":[2.0,2.0,2.0],"inflate":0.5,"uv":[25.0,138.0],"mirror":true}]},{"name":"bone304","parent":"bone281","pivot":[0.0,1.0,2.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,16.5,-19.24],"size":[5.0,4.0,5.0],"inflate":1.0,"uv":[2.0,101.0],"mirror":false}]},{"name":"bone151","parent":"bone304","pivot":[0.0,20.25,-16.74],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone151_r1","parent":"bone151","pivot":[0.0,20.25,-16.74],"rotation":[0.0,-2.4980960120420894,0.0],"cubes":[{"origin":[-2.0,20.0,-18.74],"size":[4.0,1.0,4.0],"inflate":1.0,"uv":[0.0,136.0],"mirror":false}]},{"name":"bone292","parent":"bone276","pivot":[0.0,14.75,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[]},{"name":"bone294","parent":"bone292","pivot":[0.0,18.25,-19.24],"rotation":[-22.500051852538316,0.0,0.0],"cubes":[]},{"name":"bone293","parent":"bone292","pivot":[0.0,15.25,-25.74],"rotation":[22.500051852538316,0.0,0.0],"cubes":[{"origin":[-12.5,14.35,-25.24],"size":[25.0,1.0,3.0],"inflate":0.0,"uv":[117.0,129.0],"mirror":false},{"origin":[-10.5,12.5,-21.74],"size":[21.0,1.0,8.0],"inflate":0.0,"uv":[15.0,186.0],"mirror":false},{"origin":[-12.0,14.75,-25.24],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[154.0,103.0],"mirror":false},{"origin":[9.0,14.75,-25.24],"size":[3.0,2.0,3.0],"inflate":0.0,"uv":[154.0,103.0],"mirror":false},{"origin":[5.5,14.85,-23.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[3.75,14.85,-23.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[2.0,14.85,-23.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[101.0,122.0],"mirror":false},{"origin":[5.25,15.1,-23.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[3.5,15.1,-23.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[1.75,15.1,-23.24],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[98.0,9.0],"mirror":false},{"origin":[-6.5,15.1,-23.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[15.0,153.0],"mirror":false},{"origin":[-4.75,15.1,-23.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[15.0,153.0],"mirror":false},{"origin":[-3.0,15.1,-23.74],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[15.0,153.0],"mirror":false},{"origin":[0.25,15.1,-24.74],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,147.0],"mirror":false},{"origin":[-1.25,15.1,-24.74],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[5.0,147.0],"mirror":false},{"origin":[-14.5,12.25,-22.74],"size":[29.0,1.0,13.0],"inflate":0.0,"uv":[11.0,172.0],"mirror":false}]},{"name":"bone320","parent":"bone293","pivot":[-7.5,16.6,-20.24],"rotation":[170.00230195097183,0.0,180.00041482030653],"cubes":[{"origin":[-9.5,15.5,-21.74],"size":[4.0,1.0,2.0],"inflate":0.25,"uv":[7.0,200.0],"mirror":false},{"origin":[-8.5,16.1,-21.24],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[112.0,123.0],"mirror":false},{"origin":[-8.5,14.6,-21.24],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[137.0,122.0],"mirror":false}]},{"name":"bone320_r2","parent":"bone320","pivot":[-7.4958,16.082,-20.1971],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-8.4958,15.637001,-21.1971],"size":[3.0,1.0,3.0],"inflate":0.08799999952316284,"uv":[6.0,203.0],"mirror":false}]},{"name":"bone320_r1","parent":"bone320","pivot":[-7.5,15.6,-19.99],"rotation":[7.500017284179439,0.0,0.0],"cubes":[{"origin":[-7.5,12.6,-22.49],"size":[1.0,4.0,5.0],"inflate":0.0,"uv":[146.0,119.0],"mirror":false}]},{"name":"bone317","parent":"bone293","pivot":[6.5,16.6,-20.24],"rotation":[0.0,-9.998113723108352,0.0],"cubes":[{"origin":[4.5,15.5,-21.74],"size":[4.0,1.0,2.0],"inflate":0.25,"uv":[7.0,200.0],"mirror":false},{"origin":[5.5,16.1,-21.24],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[120.0,123.0],"mirror":false},{"origin":[5.5,14.6,-21.24],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[137.0,122.0],"mirror":false}]},{"name":"bone317_r1","parent":"bone317","pivot":[6.5,15.6,-19.74],"rotation":[7.500017284179439,0.0,0.0],"cubes":[{"origin":[6.5,12.6,-22.24],"size":[1.0,4.0,5.0],"inflate":0.0,"uv":[146.0,119.0],"mirror":false}]},{"name":"bone317_r2","parent":"bone317","pivot":[6.5042,16.082,-20.1971],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[5.5042,15.637001,-21.1971],"size":[3.0,1.0,3.0],"inflate":0.08799999952316284,"uv":[6.0,203.0],"mirror":false}]},{"name":"bone319","parent":"bone293","pivot":[-2.5,16.6,-18.49],"rotation":[20.00195626738305,-15.000034568358878,0.0],"cubes":[{"origin":[-4.5,15.5,-20.24],"size":[4.0,1.0,2.0],"inflate":0.25,"uv":[7.0,200.0],"mirror":false},{"origin":[-3.5,16.1,-19.49],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[128.0,123.0],"mirror":false},{"origin":[-3.5,14.6,-19.49],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[137.0,122.0],"mirror":false}]},{"name":"bone319_r1","parent":"bone319","pivot":[-2.5,15.6,-17.99],"rotation":[7.500017284179439,0.0,0.0],"cubes":[{"origin":[-2.5,12.6,-20.49],"size":[1.0,4.0,5.0],"inflate":0.0,"uv":[146.0,119.0],"mirror":false}]},{"name":"bone319_r2","parent":"bone319","pivot":[-2.4958,16.082,-18.6971],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-3.4958,15.637001,-19.6971],"size":[3.0,1.0,3.0],"inflate":0.08799999952316284,"uv":[6.0,203.0],"mirror":false}]},{"name":"bone318","parent":"bone293","pivot":[2.5,17.1,-17.49],"rotation":[169.96219508016551,-4.92170753052472,-179.1295247199949],"cubes":[{"origin":[0.5,16.0,-18.99],"size":[4.0,1.0,2.0],"inflate":0.25,"uv":[7.0,200.0],"mirror":false},{"origin":[1.5,16.6,-18.49],"size":[2.0,1.0,2.0],"inflate":0.25,"uv":[112.0,123.0],"mirror":false},{"origin":[1.5,15.1,-18.49],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[137.0,122.0],"mirror":false}]},{"name":"bone318_r1","parent":"bone318","pivot":[2.5,16.1,-16.99],"rotation":[7.500017284179439,0.0,0.0],"cubes":[{"origin":[2.5,13.1,-19.49],"size":[1.0,4.0,5.0],"inflate":0.0,"uv":[146.0,119.0],"mirror":false}]},{"name":"bone318_r2","parent":"bone318","pivot":[2.5042,16.582,-17.4471],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[1.5042,16.137001,-18.4471],"size":[3.0,1.0,3.0],"inflate":0.08799999952316284,"uv":[6.0,203.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/victorian.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/victorian.json
new file mode 100644
index 00000000..96bc52d3
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/console/victorian.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"victorian","texture_width":128,"texture_height":128},"bones":[{"name":"controls","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"south_left","parent":"controls","pivot":[0.0,7.0,0.0],"rotation":[0.0,-120.00027654687102,0.0],"cubes":[]},{"name":"bone185","parent":"south_left","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-5.0,21.9308,-17.2736],"size":[3.0,1.0,4.0],"inflate":0.0,"uv":[13.0,73.0],"mirror":false},{"origin":[-1.5,22.1808,-17.2736],"size":[3.0,1.0,6.0],"inflate":0.0,"uv":[59.0,58.0],"mirror":false},{"origin":[-1.25,22.2808,-17.5236],"size":[3.0,1.0,6.0],"inflate":0.0,"uv":[0.0,59.0],"mirror":false},{"origin":[-3.5,22.4308,-16.5236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,89.0],"mirror":false},{"origin":[-3.5,22.4308,-15.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,89.0],"mirror":false},{"origin":[-3.5,22.1808,-10.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":false},{"origin":[1.5,22.1808,-10.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":true},{"origin":[-1.0,22.1808,-10.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":true},{"origin":[3.0,22.1808,-16.2736],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[69.0,85.0],"mirror":false},{"origin":[2.0,21.7808,-12.7736],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[82.0,77.0],"mirror":true},{"origin":[-5.0,21.7808,-12.7736],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[82.0,77.0],"mirror":false}]},{"name":"bone187","parent":"bone185","pivot":[4.0,24.1808,-15.2736],"rotation":[0.0,30.000069136717755,0.0],"cubes":[]},{"name":"bone185_r1","parent":"bone187","pivot":[4.0,24.2808,-15.5236],"rotation":[5.001921699024173,0.0,0.0],"cubes":[{"origin":[3.75,24.1808,-15.5236],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[26.0,34.0],"mirror":false}]},{"name":"bone189","parent":"bone185","pivot":[1.25,-1.9073486E-6,-3.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.75,21.880798,-13.0236],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[82.0,3.0],"mirror":true}]},{"name":"bone225","parent":"bone185","pivot":[-0.25,23.1808,-16.2736],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-0.5,22.6808,-16.2736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone224","parent":"bone185","pivot":[-0.25,23.1808,-15.2736],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-0.5,22.6808,-15.2736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone205","parent":"bone185","pivot":[0.0,22.7808,-9.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone182_r2","parent":"bone205","pivot":[0.0,22.7808,-9.2736],"rotation":[0.0,135.0003145303245,0.0],"cubes":[{"origin":[-0.75,22.2808,-10.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,79.0],"mirror":true}]},{"name":"bone204","parent":"bone185","pivot":[-2.5,22.7808,-9.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone181_r1","parent":"bone204","pivot":[-2.5,22.7808,-9.2736],"rotation":[0.0,135.0003145303245,0.0],"cubes":[{"origin":[-3.25,22.2808,-10.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,79.0],"mirror":true}]},{"name":"bone207","parent":"bone185","pivot":[-0.25,23.1808,-12.2736],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-0.5,22.6808,-12.2736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone206","parent":"bone185","pivot":[2.5,22.7808,-9.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone183_r3","parent":"bone206","pivot":[2.5,22.7808,-9.2736],"rotation":[0.0,135.0003145303245,0.0],"cubes":[{"origin":[1.75,22.2808,-10.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,79.0],"mirror":true}]},{"name":"bone190","parent":"bone185","pivot":[-1.25,-1.9073486E-6,-3.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.75,21.880798,-13.0236],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[82.0,3.0],"mirror":false}]},{"name":"bone209","parent":"bone185","pivot":[-0.25,23.1808,-14.2736],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-0.5,22.6808,-14.2736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone208","parent":"bone185","pivot":[-0.25,23.1808,-13.2736],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[-0.5,22.6808,-13.2736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"south_right","parent":"controls","pivot":[0.0,7.0,0.0],"rotation":[0.0,120.00027654687102,0.0],"cubes":[]},{"name":"bone183","parent":"south_right","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-1.5,21.7808,-12.2736],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[21.0,49.0],"mirror":false},{"origin":[-3.5,22.1808,-17.5236],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[47.0,0.0],"mirror":false},{"origin":[-1.0,21.7808,-9.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[84.0,12.0],"mirror":false},{"origin":[-0.5,22.1808,-8.7736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[69.0,51.0],"mirror":false},{"origin":[-6.25,22.2808,-16.7736],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[82.0,72.0],"mirror":true},{"origin":[4.25,22.2808,-16.7736],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[82.0,72.0],"mirror":false}]},{"name":"bone260","parent":"bone183","pivot":[0.0,22.6808,-9.2736],"rotation":[-15.000034568358878,0.0,0.0],"cubes":[{"origin":[-3.25,22.4308,-10.7736],"size":[1.0,1.0,2.0],"inflate":0.25,"uv":[76.0,89.0],"mirror":true},{"origin":[2.25,22.4308,-10.7736],"size":[1.0,1.0,2.0],"inflate":0.25,"uv":[76.0,89.0],"mirror":false}]},{"name":"bone133","parent":"bone183","pivot":[0.0,22.9308,-10.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,22.4308,-11.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[0.0,87.0],"mirror":false}]},{"name":"bone134","parent":"bone183","pivot":[0.0,22.4308,-10.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,21.4308,-11.7736],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[70.0,90.0],"mirror":false}]},{"name":"bone247","parent":"bone183","pivot":[-2.5,23.205801,-13.5236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.75,22.705801,-14.7736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,89.0],"mirror":false},{"origin":[-0.75,22.705801,-14.7736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,89.0],"mirror":false},{"origin":[-0.75,22.705801,-16.7736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,89.0],"mirror":false},{"origin":[-2.75,22.705801,-16.7736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,89.0],"mirror":false}]},{"name":"bone246","parent":"bone183","pivot":[1.5,23.205801,-15.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.75,22.205801,-16.0236],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[85.0,24.0],"mirror":false}]},{"name":"bone235","parent":"bone183","pivot":[4.5,0.4999981,0.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.25,22.205898,-17.2736],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[73.0,32.0],"mirror":false},{"origin":[-3.5,22.205898,-17.2736],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[69.0,66.0],"mirror":false}]},{"name":"south","parent":"controls","pivot":[0.0,7.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone184","parent":"south","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-3.5,22.1808,-17.5236],"size":[7.0,1.0,5.0],"inflate":0.0,"uv":[47.0,0.0],"mirror":false},{"origin":[0.0,23.1808,-16.5236],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[74.0,48.0],"mirror":false},{"origin":[-1.375,22.6808,-16.5236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,70.0],"mirror":false},{"origin":[-2.625,22.6808,-16.5236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,70.0],"mirror":false},{"origin":[-3.25,22.2808,-15.2736],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[82.0,66.0],"mirror":false},{"origin":[-2.0,22.1808,-9.7736],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[49.0,80.0],"mirror":false},{"origin":[-3.5,22.2808,-11.5236],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":true},{"origin":[1.5,22.2808,-11.5236],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false},{"origin":[-1.5,21.7808,-12.2736],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[21.0,49.0],"mirror":false},{"origin":[4.25,22.280901,-16.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[34.0,89.0],"mirror":false},{"origin":[4.25,21.7808,-16.7736],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[18.0,85.0],"mirror":false},{"origin":[-6.25,22.280901,-16.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[34.0,89.0],"mirror":true},{"origin":[-6.25,21.7808,-16.7736],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[18.0,85.0],"mirror":true}]},{"name":"bone131","parent":"bone184","pivot":[0.0,22.6808,-11.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,21.6808,-12.0236],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[60.0,83.0],"mirror":false}]},{"name":"bone132","parent":"bone184","pivot":[0.0,22.6808,-11.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.0,21.6808,-12.0236],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[70.0,90.0],"mirror":false}]},{"name":"bone223","parent":"bone184","pivot":[-0.75,23.0308,-14.5236],"rotation":[0.0,47.49820099777919,0.0],"cubes":[{"origin":[-1.5,22.0308,-14.5236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[0.0,59.0],"mirror":false},{"origin":[-2.0,23.0308,-15.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,16.0],"mirror":false}]},{"name":"bone168","parent":"bone184","pivot":[2.5,23.5308,-11.0236],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone182_r1","parent":"bone168","pivot":[2.5,23.5308,-11.0236],"rotation":[0.0,-35.00199083574193,0.0],"cubes":[{"origin":[2.25,22.5308,-11.0236],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[89.0,57.0],"mirror":false}]},{"name":"bone222","parent":"bone184","pivot":[-2.25,23.7808,-14.5236],"rotation":[0.0,-27.50197355156249,0.0],"cubes":[{"origin":[-3.0,22.7808,-14.5236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[0.0,59.0],"mirror":false},{"origin":[-3.5,23.7808,-15.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,16.0],"mirror":false}]},{"name":"bone167","parent":"bone184","pivot":[-2.5,23.5308,-11.0236],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone183_r2","parent":"bone167","pivot":[-2.5,23.5308,-11.0236],"rotation":[0.0,35.00199083574193,0.0],"cubes":[{"origin":[-4.25,22.5308,-11.0236],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[89.0,57.0],"mirror":true}]},{"name":"bone183_r1","parent":"bone184","pivot":[1.5,23.2808,-15.0236],"rotation":[0.0,-35.00199083574193,0.0],"cubes":[{"origin":[0.5,23.2808,-16.0236],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[58.0,88.0],"mirror":false}]},{"name":"north","parent":"controls","pivot":[0.0,7.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone176","parent":"north","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-2.5,22.4308,-17.2736],"size":[5.0,1.0,2.0],"inflate":0.0,"uv":[73.0,38.0],"mirror":false},{"origin":[-1.5,21.7808,-12.2736],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[90.0,42.0],"mirror":false},{"origin":[-2.5,21.7808,-15.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[82.0,32.0],"mirror":false},{"origin":[2.5,21.7808,-16.7736],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[17.0,70.0],"mirror":false},{"origin":[-5.5,21.7808,-16.7736],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[17.0,70.0],"mirror":true},{"origin":[-1.0,22.1808,-11.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[87.0,49.0],"mirror":false}]},{"name":"bone164","parent":"bone176","pivot":[0.5,23.5308,-11.2736],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-0.5,21.8058,-12.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone175","parent":"bone176","pivot":[-4.0,22.2808,-12.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,22.1808,-13.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[9.0,87.0],"mirror":false},{"origin":[-4.5,22.6808,-13.2736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,61.0],"mirror":false}]},{"name":"bone175_r1","parent":"bone175","pivot":[-4.0,22.2808,-12.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-6.0,21.7808,-14.7736],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[0.0,67.0],"mirror":false}]},{"name":"bone193","parent":"bone175","pivot":[0.0,0.9999008,-4.7683716E-7],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,22.6558,-13.2736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[27.0,85.0],"mirror":false}]},{"name":"bone163","parent":"bone176","pivot":[-0.5,23.5308,-10.2736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,21.8058,-11.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[86.0,35.0],"mirror":false}]},{"name":"bone166","parent":"bone176","pivot":[-0.5,23.5308,-11.2736],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-1.5,21.8058,-12.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[88.0,39.0],"mirror":false}]},{"name":"bone177","parent":"bone176","pivot":[4.0,22.2808,-12.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.0,22.1808,-13.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[9.0,87.0],"mirror":true},{"origin":[3.5,22.6808,-13.2736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,61.0],"mirror":true}]},{"name":"bone194","parent":"bone177","pivot":[0.0,0.9999008,-4.7683716E-7],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.5,22.6558,-13.2736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[27.0,85.0],"mirror":true}]},{"name":"bone177_r2","parent":"bone177","pivot":[4.0,22.2808,-12.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[2.0,21.7808,-14.7736],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[0.0,67.0],"mirror":true}]},{"name":"bone165","parent":"bone176","pivot":[0.5,23.5308,-10.2736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,21.8058,-11.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[88.0,39.0],"mirror":false}]},{"name":"bone234","parent":"bone176","pivot":[-3.5,22.6808,-9.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone128","parent":"bone234","pivot":[-6.3824,24.235199,-6.8062],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone179_r1","parent":"bone128","pivot":[-3.5,22.680801,-9.2736],"rotation":[-20.00195626738305,32.498166429420316,-17.498131861061438],"cubes":[{"origin":[-9.75,24.680801,-9.7736],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[0.0,94.0],"mirror":false}]},{"name":"bone127","parent":"bone234","pivot":[-6.3824,24.235199,-6.8062],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone178_r1","parent":"bone127","pivot":[-3.5,22.680801,-9.2736],"rotation":[-20.00195626738305,32.498166429420316,-17.498131861061438],"cubes":[{"origin":[-9.75,24.680801,-9.7736],"size":[6.0,1.0,1.0],"inflate":0.0,"uv":[0.0,91.0],"mirror":false}]},{"name":"bone177_r1","parent":"bone234","pivot":[-3.5,22.6808,-9.2736],"rotation":[-20.00195626738305,32.498166429420316,-17.498131861061438],"cubes":[{"origin":[-10.0,22.1808,-9.2736],"size":[7.0,4.0,1.0],"inflate":0.0,"uv":[72.0,58.0],"mirror":false}]},{"name":"bone135","parent":"bone176","pivot":[0.0,22.2808,-8.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,21.7808,-9.0236],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[80.0,53.0],"mirror":false}]},{"name":"bone178","parent":"bone176","pivot":[0.0,22.9308,-10.7736],"rotation":[0.0,-22.500051852538316,0.0],"cubes":[{"origin":[-0.5,21.9308,-11.2736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[24.0,63.0],"mirror":false},{"origin":[-1.0,22.4308,-11.0236],"size":[2.0,1.0,1.0],"inflate":0.0,"uv":[0.0,51.0],"mirror":false}]},{"name":"bone136","parent":"bone176","pivot":[0.0,22.3058,-8.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,21.8058,-9.0236],"size":[4.0,1.0,2.0],"inflate":0.0,"uv":[93.0,53.0],"mirror":false}]},{"name":"bone176_r1","parent":"bone176","pivot":[0.25,23.4308,-16.2736],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-2.25,22.9308,-16.2736],"size":[5.0,2.0,1.0],"inflate":0.0,"uv":[69.0,81.0],"mirror":false}]},{"name":"north_right","parent":"controls","pivot":[0.0,7.0,0.0],"rotation":[0.0,60.00013827343551,0.0],"cubes":[{"origin":[-7.5,15.1,-19.5236],"size":[6.0,1.0,4.0],"inflate":0.0,"uv":[56.0,39.0],"mirror":false},{"origin":[-6.5,15.15,-19.5236],"size":[4.0,1.0,3.0],"inflate":0.0,"uv":[73.0,27.0],"mirror":false},{"origin":[2.5,15.4,-19.2736],"size":[5.0,1.0,3.0],"inflate":0.0,"uv":[67.0,0.0],"mirror":false}]},{"name":"bone250","parent":"north_right","pivot":[-4.25,15.75,-17.7736],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-4.5,15.5,-17.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone272","parent":"north_right","pivot":[5.0,16.4,-18.5236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.5,15.65,-18.5236],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[87.0,85.0],"mirror":false}]},{"name":"bone252","parent":"north_right","pivot":[-2.75,15.75,-18.7736],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-3.0,15.5,-18.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone251","parent":"north_right","pivot":[-4.25,15.75,-18.7736],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-4.5,15.5,-18.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone254","parent":"north_right","pivot":[-2.75,15.75,-16.7736],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-3.0,15.5,-16.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone253","parent":"north_right","pivot":[-2.75,15.75,-17.7736],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-3.0,15.5,-17.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone182","parent":"north_right","pivot":[-5.75,15.75,-16.7736],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-5.75,15.5,-17.0236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[13.0,59.0],"mirror":false}]},{"name":"bone181","parent":"north_right","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-1.0,22.1808,-9.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[78.0,85.0],"mirror":false},{"origin":[-3.5,22.1808,-10.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":false},{"origin":[1.5,22.1808,-10.2736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":true},{"origin":[-3.0,22.4308,-12.7736],"size":[6.0,1.0,2.0],"inflate":0.0,"uv":[0.0,73.0],"mirror":false},{"origin":[-4.0,22.4308,-12.7736],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[83.0,89.0],"mirror":false},{"origin":[-1.0,22.1808,-17.7736],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[83.0,89.0],"mirror":false},{"origin":[0.0,22.1808,-17.7736],"size":[1.0,1.0,2.0],"inflate":0.0,"uv":[83.0,89.0],"mirror":true},{"origin":[-3.0,22.1808,-15.2736],"size":[6.0,1.0,2.0],"inflate":0.0,"uv":[0.0,73.0],"mirror":true},{"origin":[-7.5,22.1808,-17.7736],"size":[6.0,1.0,2.0],"inflate":0.0,"uv":[0.0,73.0],"mirror":true},{"origin":[1.5,22.1808,-17.7736],"size":[6.0,1.0,2.0],"inflate":0.0,"uv":[0.0,73.0],"mirror":false},{"origin":[-6.25,22.0308,-15.2736],"size":[3.0,1.0,2.0],"inflate":0.0,"uv":[82.0,81.0],"mirror":false},{"origin":[3.5,21.7808,-15.0236],"size":[2.0,1.0,4.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone232","parent":"bone181","pivot":[0.0,22.7808,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone178_r2","parent":"bone232","pivot":[0.0,22.7808,-8.7736],"rotation":[0.0,-37.50008812844449,0.0],"cubes":[{"origin":[-0.25,22.2808,-9.5236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,79.0],"mirror":false}]},{"name":"bone256","parent":"bone181","pivot":[0.0,22.9308,-11.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,22.4308,-12.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[81.0,0.0],"mirror":false},{"origin":[-2.5,22.1808,-14.7736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[78.0,63.0],"mirror":false},{"origin":[-7.0,22.1808,-17.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[38.0,49.0],"mirror":false},{"origin":[2.0,22.1808,-17.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[78.0,63.0],"mirror":false}]},{"name":"bone245","parent":"bone181","pivot":[2.5,22.7808,-9.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone179_r2","parent":"bone245","pivot":[2.5,22.7808,-9.2736],"rotation":[0.0,60.00013827343551,0.0],"cubes":[{"origin":[2.25,22.2808,-10.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,79.0],"mirror":false}]},{"name":"bone255","parent":"bone181","pivot":[0.0,22.9308,-11.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,22.4308,-12.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[38.0,49.0],"mirror":false},{"origin":[-2.5,22.1808,-14.7736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[81.0,0.0],"mirror":false},{"origin":[-7.0,22.1808,-17.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[81.0,0.0],"mirror":false},{"origin":[2.0,22.1808,-17.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[38.0,49.0],"mirror":false}]},{"name":"bone244","parent":"bone181","pivot":[-2.5,22.7808,-9.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone179_r3","parent":"bone244","pivot":[-2.5,22.7808,-9.2736],"rotation":[0.0,-147.50225180598082,0.0],"cubes":[{"origin":[-3.25,22.2808,-10.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[19.0,79.0],"mirror":true}]},{"name":"bone258","parent":"bone181","pivot":[-5.0,23.0,-13.7736],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-5.0,22.75,-14.0236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[13.0,59.0],"mirror":false}]},{"name":"bone257","parent":"bone181","pivot":[0.0,22.9308,-11.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,22.4308,-12.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[82.0,21.0],"mirror":false},{"origin":[-2.5,22.1808,-14.7736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[82.0,21.0],"mirror":false},{"origin":[-7.0,22.1808,-17.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[38.0,49.0],"mirror":false},{"origin":[2.0,22.1808,-17.2736],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[38.0,49.0],"mirror":false}]},{"name":"bone259","parent":"bone181","pivot":[-5.0,23.0,-14.7736],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-5.0,22.75,-15.0236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[13.0,59.0],"mirror":false}]},{"name":"bone192","parent":"bone181","pivot":[7.0,-1.9073486E-6,-2.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[4.25,22.780897,-13.5236],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false},{"origin":[3.75,24.780897,-13.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[24.0,59.0],"mirror":false}]},{"name":"bone233","parent":"bone192","pivot":[4.25,23.2809,-13.0236],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone184_r1","parent":"bone233","pivot":[4.25,23.2809,-13.0236],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[4.25,23.2809,-13.5236],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[47.0,0.0],"mirror":false}]},{"name":"bone236","parent":"north_right","pivot":[-5.75,15.75,-17.7736],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-5.75,15.5,-18.0236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[13.0,59.0],"mirror":false}]},{"name":"bone249","parent":"north_right","pivot":[-4.25,15.75,-16.7736],"rotation":[-24.998149145240877,0.0,0.0],"cubes":[{"origin":[-4.5,15.5,-16.7736],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[17.0,90.0],"mirror":false}]},{"name":"bone238","parent":"north_right","pivot":[5.0,16.65,-17.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.5,15.9,-17.7736],"size":[3.0,2.0,1.0],"inflate":0.0,"uv":[87.0,85.0],"mirror":true}]},{"name":"bone248","parent":"north_right","pivot":[-5.75,15.75,-18.7736],"rotation":[-20.00195626738305,0.0,0.0],"cubes":[{"origin":[-5.75,15.5,-19.0236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[13.0,59.0],"mirror":false}]},{"name":"bone239","parent":"north_right","pivot":[5.0,16.4,-17.2736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone180_r1","parent":"bone239","pivot":[5.0,16.4,-17.2736],"rotation":[0.0,0.0,-5.001921699024173],"cubes":[{"origin":[3.5,14.9,-17.0236],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[85.0,7.0],"mirror":false}]},{"name":"north_left","parent":"controls","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone179","parent":"north_left","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-3.0,21.9308,-17.7736],"size":[6.0,1.0,4.0],"inflate":0.0,"uv":[56.0,45.0],"mirror":false},{"origin":[0.0,22.0308,-17.5236],"size":[2.0,1.0,3.0],"inflate":0.0,"uv":[47.0,7.0],"mirror":false},{"origin":[-1.5,24.5308,-16.5236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[67.0,90.0],"mirror":false},{"origin":[-1.25,22.5308,-16.0236],"size":[1.0,2.0,1.0],"inflate":0.0,"uv":[39.0,73.0],"mirror":false},{"origin":[-2.0,22.1808,-17.0236],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[25.0,88.0],"mirror":false},{"origin":[3.5,21.705801,-17.7736],"size":[1.0,1.0,4.0],"inflate":0.0,"uv":[35.0,78.0],"mirror":false},{"origin":[-5.5,22.2808,-16.2736],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[90.0,70.0],"mirror":false},{"origin":[-4.0,22.1808,-12.5236],"size":[8.0,1.0,2.0],"inflate":0.0,"uv":[59.0,54.0],"mirror":false},{"origin":[-4.0,22.1808,-14.0236],"size":[8.0,1.0,2.0],"inflate":0.0,"uv":[59.0,54.0],"mirror":false},{"origin":[-3.5,21.9308,-9.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":false},{"origin":[1.5,21.9308,-9.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":true},{"origin":[-1.0,21.9308,-9.7736],"size":[2.0,1.0,2.0],"inflate":0.0,"uv":[26.0,39.0],"mirror":true}]},{"name":"bone162","parent":"bone179","pivot":[-5.0,22.2808,-15.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,21.7808,-17.2736],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[9.0,79.0],"mirror":false}]},{"name":"bone195","parent":"bone179","pivot":[2.5,23.4308,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone183_r4","parent":"bone195","pivot":[2.5,23.4308,-8.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[1.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone184_r3","parent":"bone195","pivot":[2.5,23.4308,-8.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone161","parent":"bone179","pivot":[-5.0,22.2808,-15.7736],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,21.7808,-17.2736],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[19.0,92.0],"mirror":false}]},{"name":"bone186","parent":"bone179","pivot":[2.5,23.4308,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone183_r6","parent":"bone186","pivot":[2.5,23.4308,-8.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[1.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone182_r4","parent":"bone186","pivot":[2.5,23.4308,-8.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[1.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone130","parent":"bone179","pivot":[-2.5,23.4308,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone185_r2","parent":"bone130","pivot":[-2.5,23.4308,-8.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-3.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone186_r1","parent":"bone130","pivot":[-2.5,23.4308,-8.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[-3.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone188","parent":"bone179","pivot":[-2.5,23.4308,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone183_r5","parent":"bone188","pivot":[-2.5,23.4308,-8.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-3.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone184_r4","parent":"bone188","pivot":[-2.5,23.4308,-8.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[-3.5,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone157","parent":"bone179","pivot":[0.0,22.705801,-13.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,22.205801,-13.5236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[95.0,66.0],"mirror":true}]},{"name":"bone191","parent":"bone179","pivot":[1.25,-1.9073486E-6,-0.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.75,21.805798,-17.7736],"size":[1.0,1.0,3.0],"inflate":0.0,"uv":[84.0,44.0],"mirror":false}]},{"name":"bone180","parent":"bone179","pivot":[0.0,23.4308,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone182_r3","parent":"bone180","pivot":[0.0,23.4308,-8.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[-1.0,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[56.0,23.0],"mirror":false}]},{"name":"bone181_r2","parent":"bone180","pivot":[0.0,23.4308,-8.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.0,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[56.0,23.0],"mirror":false}]},{"name":"bone160","parent":"bone179","pivot":[0.0,22.705801,-11.5236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,22.205801,-12.0236],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[95.0,66.0],"mirror":true}]},{"name":"bone137","parent":"bone179","pivot":[2.0,22.705801,-11.5236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.5,22.205801,-12.0236],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[95.0,64.0],"mirror":false}]},{"name":"bone159","parent":"bone179","pivot":[2.0,22.705801,-13.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.5,22.205801,-13.5236],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[95.0,64.0],"mirror":false}]},{"name":"bone158","parent":"bone179","pivot":[-2.0,22.705801,-13.0236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,22.205801,-13.5236],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[95.0,64.0],"mirror":true}]},{"name":"bone138","parent":"bone179","pivot":[-2.0,22.705801,-11.5236],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,22.205801,-12.0236],"size":[3.0,1.0,1.0],"inflate":0.0,"uv":[95.0,64.0],"mirror":true}]},{"name":"bone129","parent":"bone179","pivot":[0.0,23.4308,-8.7736],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone185_r3","parent":"bone129","pivot":[0.0,23.4308,-8.7736],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[-1.0,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone184_r2","parent":"bone129","pivot":[0.0,23.4308,-8.7736],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.0,22.4308,-8.7736],"size":[2.0,3.0,1.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"base_console","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone151","parent":"base_console","pivot":[0.0,2.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone152","parent":"bone151","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone153","parent":"bone152","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone153_r1","parent":"bone153","pivot":[0.0,6.0,-8.6],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.0,-3.0,-10.6],"size":[1.0,9.0,4.0],"inflate":0.0,"uv":[51.0,64.0],"mirror":false}]},{"name":"bone154","parent":"bone153","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone154_r1","parent":"bone154","pivot":[0.0,6.0,-8.6],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.0,-3.0,-10.6],"size":[1.0,9.0,4.0],"inflate":0.0,"uv":[51.0,64.0],"mirror":false}]},{"name":"bone155","parent":"bone154","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone155_r1","parent":"bone155","pivot":[0.0,6.0,-8.6],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.0,-3.0,-10.6],"size":[1.0,9.0,4.0],"inflate":0.0,"uv":[51.0,64.0],"mirror":false}]},{"name":"bone156","parent":"bone155","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone156_r1","parent":"bone156","pivot":[0.0,6.0,-8.6],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.0,-3.0,-10.6],"size":[1.0,9.0,4.0],"inflate":0.0,"uv":[51.0,64.0],"mirror":false}]},{"name":"bone152_r1","parent":"bone152","pivot":[0.0,6.0,-8.6],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.0,-3.0,-10.6],"size":[1.0,9.0,4.0],"inflate":0.0,"uv":[51.0,64.0],"mirror":false}]},{"name":"bone151_r1","parent":"bone151","pivot":[0.0,6.0,-8.6],"rotation":[-50.002025404100806,0.0,0.0],"cubes":[{"origin":[-1.0,-3.0,-10.6],"size":[1.0,9.0,4.0],"inflate":0.0,"uv":[51.0,64.0],"mirror":false}]},{"name":"bone37","parent":"base_console","pivot":[0.0,7.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone37_r1","parent":"bone37","pivot":[0.0,16.0,-21.95],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-10.5,14.0,-20.175001],"size":[21.0,2.0,7.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone38","parent":"bone37","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone38_r1","parent":"bone38","pivot":[0.0,16.0,-21.95],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-10.5,14.0,-20.175001],"size":[21.0,2.0,7.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone39_r1","parent":"bone39","pivot":[0.0,16.0,-21.95],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-10.5,14.0,-20.175001],"size":[21.0,2.0,7.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone40_r1","parent":"bone40","pivot":[0.0,16.0,-21.95],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-10.5,14.0,-20.175001],"size":[21.0,2.0,7.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone42","parent":"bone41","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone42_r1","parent":"bone42","pivot":[0.0,16.0,-21.95],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-10.5,14.0,-20.175001],"size":[21.0,2.0,7.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone41_r1","parent":"bone41","pivot":[0.0,16.0,-21.95],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-10.5,14.0,-20.175001],"size":[21.0,2.0,7.0],"inflate":0.0,"uv":[0.0,14.0],"mirror":false}]},{"name":"bone49","parent":"base_console","pivot":[0.0,6.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone50_r1","parent":"bone49","pivot":[0.0,16.0,-17.075],"rotation":[35.99893890737533,0.0,0.0],"cubes":[{"origin":[-0.5,15.35,-17.575],"size":[1.0,1.0,13.0],"inflate":-0.25,"uv":[40.0,24.0],"mirror":false},{"origin":[-1.0,15.0,-17.075],"size":[2.0,1.0,13.0],"inflate":0.0,"uv":[22.0,34.0],"mirror":false}]},{"name":"bone50","parent":"bone49","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone51","parent":"bone50","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone52","parent":"bone51","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone53","parent":"bone52","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone54","parent":"bone53","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone50_r6","parent":"bone54","pivot":[0.0,16.0,-17.075],"rotation":[35.99893890737533,0.0,0.0],"cubes":[{"origin":[-0.5,15.35,-17.575],"size":[1.0,1.0,13.0],"inflate":-0.25,"uv":[40.0,24.0],"mirror":false},{"origin":[-1.0,15.0,-17.075],"size":[2.0,1.0,13.0],"inflate":0.0,"uv":[22.0,34.0],"mirror":false}]},{"name":"bone50_r5","parent":"bone53","pivot":[0.0,16.0,-17.075],"rotation":[35.99893890737533,0.0,0.0],"cubes":[{"origin":[-0.5,15.35,-17.575],"size":[1.0,1.0,13.0],"inflate":-0.25,"uv":[40.0,24.0],"mirror":false},{"origin":[-1.0,15.0,-17.075],"size":[2.0,1.0,13.0],"inflate":0.0,"uv":[22.0,34.0],"mirror":false}]},{"name":"bone50_r4","parent":"bone52","pivot":[0.0,16.0,-17.075],"rotation":[35.99893890737533,0.0,0.0],"cubes":[{"origin":[-0.5,15.35,-17.575],"size":[1.0,1.0,13.0],"inflate":-0.25,"uv":[40.0,24.0],"mirror":false},{"origin":[-1.0,15.0,-17.075],"size":[2.0,1.0,13.0],"inflate":0.0,"uv":[22.0,34.0],"mirror":false}]},{"name":"bone50_r3","parent":"bone51","pivot":[0.0,16.0,-17.075],"rotation":[35.99893890737533,0.0,0.0],"cubes":[{"origin":[-0.5,15.35,-17.575],"size":[1.0,1.0,13.0],"inflate":-0.25,"uv":[40.0,24.0],"mirror":false},{"origin":[-1.0,15.0,-17.075],"size":[2.0,1.0,13.0],"inflate":0.0,"uv":[22.0,34.0],"mirror":false}]},{"name":"bone50_r2","parent":"bone50","pivot":[0.0,16.0,-17.075],"rotation":[35.99893890737533,0.0,0.0],"cubes":[{"origin":[-0.5,15.35,-17.575],"size":[1.0,1.0,13.0],"inflate":-0.25,"uv":[40.0,24.0],"mirror":false},{"origin":[-1.0,15.0,-17.075],"size":[2.0,1.0,13.0],"inflate":0.0,"uv":[22.0,34.0],"mirror":false}]},{"name":"bone121","parent":"base_console","pivot":[0.0,51.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,59.975,-7.725],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone122","parent":"bone121","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,59.975,-7.725],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone123","parent":"bone122","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,59.975,-7.725],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone124","parent":"bone123","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,59.975,-7.725],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone125","parent":"bone124","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,59.975,-7.725],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone126","parent":"bone125","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,59.975,-7.725],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone19","parent":"base_console","pivot":[0.0,7.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone20","parent":"bone19","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone21","parent":"bone20","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-8.5,21.6808,-18.2736],"size":[17.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone21_r2","parent":"bone21","pivot":[7.7553,22.705801,-17.7188],"rotation":[0.0,-24.001202781154767,0.0],"cubes":[{"origin":[6.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone21_r1","parent":"bone21","pivot":[-7.7553,22.705801,-17.7188],"rotation":[0.0,24.001202781154767,0.0],"cubes":[{"origin":[-7.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":true}]},{"name":"bone22","parent":"bone20","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone24","parent":"bone22","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone57","parent":"bone24","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone59","parent":"bone57","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone60","parent":"bone59","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-8.5,21.6808,-18.2736],"size":[17.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone60_r1","parent":"bone60","pivot":[-7.7553,22.705801,-17.7188],"rotation":[0.0,24.001202781154767,0.0],"cubes":[{"origin":[-7.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":true}]},{"name":"bone60_r2","parent":"bone60","pivot":[7.7553,22.705801,-17.7188],"rotation":[0.0,-24.001202781154767,0.0],"cubes":[{"origin":[6.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone58","parent":"bone57","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-8.5,21.6808,-18.2736],"size":[17.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone58_r1","parent":"bone58","pivot":[-7.7553,22.705801,-17.7188],"rotation":[0.0,24.001202781154767,0.0],"cubes":[{"origin":[-7.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":true}]},{"name":"bone58_r2","parent":"bone58","pivot":[7.7553,22.705801,-17.7188],"rotation":[0.0,-24.001202781154767,0.0],"cubes":[{"origin":[6.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone56","parent":"bone24","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-8.5,21.6808,-18.2736],"size":[17.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone56_r1","parent":"bone56","pivot":[-7.7553,22.705801,-17.7188],"rotation":[0.0,24.001202781154767,0.0],"cubes":[{"origin":[-7.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":true}]},{"name":"bone56_r2","parent":"bone56","pivot":[7.7553,22.705801,-17.7188],"rotation":[0.0,-24.001202781154767,0.0],"cubes":[{"origin":[6.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-8.5,21.6808,-18.2736],"size":[17.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone23_r1","parent":"bone23","pivot":[-7.7553,22.705801,-17.7188],"rotation":[0.0,24.001202781154767,0.0],"cubes":[{"origin":[-7.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":true}]},{"name":"bone23_r2","parent":"bone23","pivot":[7.7553,22.705801,-17.7188],"rotation":[0.0,-24.001202781154767,0.0],"cubes":[{"origin":[6.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone55","parent":"bone19","pivot":[0.0,22.6975,-7.2465],"rotation":[39.99818200605246,0.0,0.0],"cubes":[{"origin":[-8.5,21.6808,-18.2736],"size":[17.0,1.0,12.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone55_r1","parent":"bone55","pivot":[-7.7553,22.705801,-17.7188],"rotation":[0.0,24.001202781154767,0.0],"cubes":[{"origin":[-7.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":true}]},{"name":"bone55_r2","parent":"bone55","pivot":[7.7553,22.705801,-17.7188],"rotation":[0.0,-24.001202781154767,0.0],"cubes":[{"origin":[6.7553,21.705801,-18.2188],"size":[1.0,1.0,13.0],"inflate":0.0,"uv":[40.0,39.0],"mirror":false}]},{"name":"bone145","parent":"base_console","pivot":[0.0,6.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,6.0,-7.6],"size":[2.0,7.0,2.0],"inflate":0.0,"uv":[0.0,77.0],"mirror":false}]},{"name":"bone146","parent":"bone145","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,6.0,-7.6],"size":[2.0,7.0,2.0],"inflate":0.0,"uv":[0.0,77.0],"mirror":false}]},{"name":"bone147","parent":"bone146","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,6.0,-7.6],"size":[2.0,7.0,2.0],"inflate":0.0,"uv":[0.0,77.0],"mirror":false}]},{"name":"bone148","parent":"bone147","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,6.0,-7.6],"size":[2.0,7.0,2.0],"inflate":0.0,"uv":[0.0,77.0],"mirror":false}]},{"name":"bone149","parent":"bone148","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,6.0,-7.6],"size":[2.0,7.0,2.0],"inflate":0.0,"uv":[0.0,77.0],"mirror":false}]},{"name":"bone150","parent":"bone149","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,6.0,-7.6],"size":[2.0,7.0,2.0],"inflate":0.0,"uv":[0.0,77.0],"mirror":false}]},{"name":"bone31","parent":"base_console","pivot":[0.0,2.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.5,1.9749999,-8.6],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[75.0,14.0],"mirror":false}]},{"name":"bone32","parent":"bone31","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,1.9749999,-8.6],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[75.0,14.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,1.9749999,-8.6],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[75.0,14.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,1.9749999,-8.6],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[75.0,14.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,1.9749999,-8.6],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[75.0,14.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.5,1.9749999,-8.6],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[75.0,14.0],"mirror":false}]},{"name":"bone97","parent":"base_console","pivot":[0.0,47.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,56.0,-6.3],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[27.0,67.0],"mirror":false}]},{"name":"bone98","parent":"bone97","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-6.3],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[27.0,67.0],"mirror":false}]},{"name":"bone99","parent":"bone98","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-6.3],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[27.0,67.0],"mirror":false}]},{"name":"bone100","parent":"bone99","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-6.3],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[27.0,67.0],"mirror":false}]},{"name":"bone101","parent":"bone100","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-6.3],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[27.0,67.0],"mirror":false}]},{"name":"bone102","parent":"bone101","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-6.3],"size":[5.0,2.0,3.0],"inflate":0.0,"uv":[27.0,67.0],"mirror":false}]},{"name":"bone43","parent":"base_console","pivot":[0.0,14.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,14.025,-22.725],"size":[2.0,2.0,6.0],"inflate":0.0,"uv":[13.0,61.0],"mirror":false},{"origin":[-0.5,13.35,-23.075],"size":[1.0,3.0,7.0],"inflate":-0.25,"uv":[56.0,21.0],"mirror":false}]},{"name":"bone44","parent":"bone43","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,14.025,-22.725],"size":[2.0,2.0,6.0],"inflate":0.0,"uv":[13.0,61.0],"mirror":false},{"origin":[-0.5,13.35,-23.075],"size":[1.0,3.0,7.0],"inflate":-0.25,"uv":[56.0,21.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,14.025,-22.725],"size":[2.0,2.0,6.0],"inflate":0.0,"uv":[13.0,61.0],"mirror":false},{"origin":[-0.5,13.35,-23.075],"size":[1.0,3.0,7.0],"inflate":-0.25,"uv":[56.0,21.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,14.025,-22.725],"size":[2.0,2.0,6.0],"inflate":0.0,"uv":[13.0,61.0],"mirror":false},{"origin":[-0.5,13.35,-23.075],"size":[1.0,3.0,7.0],"inflate":-0.25,"uv":[56.0,21.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,14.025,-22.725],"size":[2.0,2.0,6.0],"inflate":0.0,"uv":[13.0,61.0],"mirror":false},{"origin":[-0.5,13.35,-23.075],"size":[1.0,3.0,7.0],"inflate":-0.25,"uv":[56.0,21.0],"mirror":false}]},{"name":"bone48","parent":"bone47","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,14.025,-22.725],"size":[2.0,2.0,6.0],"inflate":0.0,"uv":[13.0,61.0],"mirror":false},{"origin":[-0.5,13.35,-23.075],"size":[1.0,3.0,7.0],"inflate":-0.25,"uv":[56.0,21.0],"mirror":false}]},{"name":"bone7","parent":"base_console","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,-0.024999976,-9.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[51.0,84.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.024999976,-9.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[51.0,84.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.024999976,-9.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[51.0,84.0],"mirror":false}]},{"name":"bone10","parent":"bone9","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.024999976,-9.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[51.0,84.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.024999976,-9.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[51.0,84.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.024999976,-9.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[51.0,84.0],"mirror":false}]},{"name":"bone73","parent":"base_console","pivot":[0.0,14.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,22.025,-7.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[42.0,84.0],"mirror":false}]},{"name":"bone74","parent":"bone73","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.025,-7.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[42.0,84.0],"mirror":false}]},{"name":"bone75","parent":"bone74","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.025,-7.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[42.0,84.0],"mirror":false}]},{"name":"bone76","parent":"bone75","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.025,-7.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[42.0,84.0],"mirror":false}]},{"name":"bone77","parent":"bone76","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.025,-7.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[42.0,84.0],"mirror":false}]},{"name":"bone78","parent":"bone77","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,22.025,-7.725],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[42.0,84.0],"mirror":false}]},{"name":"bone","parent":"base_console","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,-0.0,-8.925],"size":[8.0,2.0,9.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-8.925],"size":[8.0,2.0,9.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-8.925],"size":[8.0,2.0,9.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-8.925],"size":[8.0,2.0,9.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-8.925],"size":[8.0,2.0,9.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.0,-0.0,-8.925],"size":[8.0,2.0,9.0],"inflate":0.0,"uv":[0.0,34.0],"mirror":false}]},{"name":"bone85","parent":"base_console","pivot":[0.0,15.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,23.525,-5.725],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[41.0,24.0],"mirror":false}]},{"name":"bone86","parent":"bone85","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,23.525,-5.725],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[41.0,24.0],"mirror":false}]},{"name":"bone87","parent":"bone86","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,23.525,-5.725],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[41.0,24.0],"mirror":false}]},{"name":"bone88","parent":"bone87","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,23.525,-5.725],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[41.0,24.0],"mirror":false}]},{"name":"bone89","parent":"bone88","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,23.525,-5.725],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[41.0,24.0],"mirror":false}]},{"name":"bone90","parent":"bone89","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,23.525,-5.725],"size":[2.0,3.0,3.0],"inflate":0.0,"uv":[41.0,24.0],"mirror":false}]},{"name":"bone79","parent":"base_console","pivot":[0.0,15.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone80_r7","parent":"bone79","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,24.25,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[50.0,89.0],"mirror":false}]},{"name":"bone79_r1","parent":"bone79","pivot":[0.0,26.4869,-5.4707],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,23.5,-5.4642],"size":[4.0,3.0,6.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false}]},{"name":"bone80","parent":"bone79","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone81","parent":"bone80","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone82","parent":"bone81","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone83","parent":"bone82","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone84_r1","parent":"bone83","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,24.25,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[50.0,89.0],"mirror":false},{"origin":[-2.0,23.5,-5.475],"size":[4.0,3.0,6.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false}]},{"name":"bone84","parent":"bone83","pivot":[0.0,15.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone85_r1","parent":"bone84","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,24.25,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[50.0,89.0],"mirror":false},{"origin":[-2.0,23.5,-5.475],"size":[4.0,3.0,6.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false}]},{"name":"bone83_r1","parent":"bone82","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,24.25,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[50.0,89.0],"mirror":false},{"origin":[-2.0,23.5,-5.475],"size":[4.0,3.0,6.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false}]},{"name":"bone82_r1","parent":"bone81","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,24.25,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[50.0,89.0],"mirror":false},{"origin":[-2.0,23.5,-5.475],"size":[4.0,3.0,6.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false}]},{"name":"bone81_r1","parent":"bone80","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,24.25,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[50.0,89.0],"mirror":false},{"origin":[-2.0,23.5,-5.475],"size":[4.0,3.0,6.0],"inflate":0.0,"uv":[44.0,54.0],"mirror":false}]},{"name":"bone13","parent":"base_console","pivot":[0.0,2.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,2.0,-8.2],"size":[6.0,4.0,2.0],"inflate":0.0,"uv":[68.0,7.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,2.0,-8.2],"size":[6.0,4.0,2.0],"inflate":0.0,"uv":[68.0,7.0],"mirror":false}]},{"name":"bone15","parent":"bone14","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,2.0,-8.2],"size":[6.0,4.0,2.0],"inflate":0.0,"uv":[68.0,7.0],"mirror":false}]},{"name":"bone16","parent":"bone15","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,2.0,-8.2],"size":[6.0,4.0,2.0],"inflate":0.0,"uv":[68.0,7.0],"mirror":false}]},{"name":"bone17","parent":"bone16","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,2.0,-8.2],"size":[6.0,4.0,2.0],"inflate":0.0,"uv":[68.0,7.0],"mirror":false}]},{"name":"bone18","parent":"bone17","pivot":[0.0,2.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,2.0,-8.2],"size":[6.0,4.0,2.0],"inflate":0.0,"uv":[68.0,7.0],"mirror":false}]},{"name":"bone25","parent":"base_console","pivot":[0.0,6.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.5,6.0,-6.425],"size":[5.0,7.0,1.0],"inflate":0.0,"uv":[69.0,72.0],"mirror":false}]},{"name":"bone26","parent":"bone25","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,6.0,-6.425],"size":[5.0,7.0,1.0],"inflate":0.0,"uv":[69.0,72.0],"mirror":false}]},{"name":"bone27","parent":"bone26","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,6.0,-6.425],"size":[5.0,7.0,1.0],"inflate":0.0,"uv":[69.0,72.0],"mirror":false}]},{"name":"bone28","parent":"bone27","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,6.0,-6.425],"size":[5.0,7.0,1.0],"inflate":0.0,"uv":[69.0,72.0],"mirror":false}]},{"name":"bone29","parent":"bone28","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,6.0,-6.425],"size":[5.0,7.0,1.0],"inflate":0.0,"uv":[69.0,72.0],"mirror":false}]},{"name":"bone30","parent":"bone29","pivot":[0.0,6.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,6.0,-6.425],"size":[5.0,7.0,1.0],"inflate":0.0,"uv":[69.0,72.0],"mirror":false}]},{"name":"bone220","parent":"bone30","pivot":[0.0,9.5,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone221","parent":"bone220","pivot":[0.0,2.0,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,-1.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone218","parent":"bone29","pivot":[0.0,9.5,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone219","parent":"bone218","pivot":[0.0,2.0,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,-1.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone216","parent":"bone28","pivot":[0.0,9.5,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone217","parent":"bone216","pivot":[0.0,2.0,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,-1.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone214","parent":"bone27","pivot":[0.0,9.5,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone215","parent":"bone214","pivot":[0.0,2.0,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,-1.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone212","parent":"bone26","pivot":[0.0,6.0,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone213","parent":"bone26","pivot":[0.0,6.0,-5.725],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.225],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone210","parent":"bone25","pivot":[0.0,9.5,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,6.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone211","parent":"bone210","pivot":[0.0,2.0,-5.825],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-2.0,-1.0,-6.325],"size":[4.0,7.0,1.0],"inflate":0.0,"uv":[28.0,73.0],"mirror":false}]},{"name":"bone67","parent":"base_console","pivot":[0.0,14.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,22.0,-7.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[66.0,21.0],"mirror":false}]},{"name":"bone68","parent":"bone67","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[66.0,21.0],"mirror":false}]},{"name":"bone69","parent":"bone68","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[66.0,21.0],"mirror":false}]},{"name":"bone70","parent":"bone69","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[66.0,21.0],"mirror":false}]},{"name":"bone71","parent":"bone70","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[66.0,21.0],"mirror":false}]},{"name":"bone72","parent":"bone71","pivot":[0.0,14.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,22.0,-7.2],"size":[6.0,2.0,3.0],"inflate":0.0,"uv":[66.0,21.0],"mirror":false}]},{"name":"bone61","parent":"base_console","pivot":[0.0,8.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone61_r1","parent":"bone61","pivot":[0.0,7.0,-6.85],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[0.0,7.0,-6.85],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[29.0,49.0],"mirror":false}]},{"name":"bone62","parent":"bone61","pivot":[0.0,8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone62_r1","parent":"bone62","pivot":[0.0,7.0,-6.85],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[0.0,7.0,-6.85],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[29.0,49.0],"mirror":false}]},{"name":"bone63","parent":"bone62","pivot":[0.0,8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone63_r1","parent":"bone63","pivot":[0.0,7.0,-6.85],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[0.0,7.0,-6.85],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[29.0,49.0],"mirror":false}]},{"name":"bone64","parent":"bone63","pivot":[0.0,8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone64_r1","parent":"bone64","pivot":[0.0,7.0,-6.85],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[0.0,7.0,-6.85],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[29.0,49.0],"mirror":false}]},{"name":"bone65","parent":"bone64","pivot":[0.0,8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone65_r1","parent":"bone65","pivot":[0.0,7.0,-6.85],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[0.0,7.0,-6.85],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[29.0,49.0],"mirror":false}]},{"name":"bone66","parent":"bone65","pivot":[0.0,8.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone66_r1","parent":"bone66","pivot":[0.0,7.0,-6.85],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[0.0,7.0,-6.85],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[29.0,49.0],"mirror":false}]},{"name":"bone91","parent":"base_console","pivot":[0.0,52.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone91_r1","parent":"bone91","pivot":[0.0,54.0,-5.475],"rotation":[0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,54.0,-5.475],"size":[4.0,6.0,7.0],"inflate":0.0,"uv":[52.0,7.0],"mirror":false}]},{"name":"bone92","parent":"bone91","pivot":[0.0,52.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone93","parent":"bone92","pivot":[0.0,52.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone91_r3","parent":"bone93","pivot":[0.0,53.0,-5.475],"rotation":[0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,54.0,-5.4706],"size":[4.0,6.0,7.0],"inflate":0.0,"uv":[52.0,7.0],"mirror":false}]},{"name":"bone94","parent":"bone93","pivot":[0.0,52.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone91_r4","parent":"bone94","pivot":[0.0,53.0,-5.475],"rotation":[0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,54.0,-5.4706],"size":[4.0,6.0,7.0],"inflate":0.0,"uv":[52.0,7.0],"mirror":false}]},{"name":"bone95","parent":"bone94","pivot":[0.0,52.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone91_r5","parent":"bone95","pivot":[0.0,53.0,-5.475],"rotation":[0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,54.0,-5.4706],"size":[4.0,6.0,7.0],"inflate":0.0,"uv":[52.0,7.0],"mirror":false}]},{"name":"bone96","parent":"bone95","pivot":[0.0,52.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone91_r6","parent":"bone96","pivot":[0.0,53.0,-5.475],"rotation":[0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,54.0,-5.4706],"size":[4.0,6.0,7.0],"inflate":0.0,"uv":[52.0,7.0],"mirror":false}]},{"name":"bone91_r2","parent":"bone92","pivot":[0.0,53.0,-5.475],"rotation":[0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-2.0,54.0,-5.4706],"size":[4.0,6.0,7.0],"inflate":0.0,"uv":[52.0,7.0],"mirror":false}]},{"name":"bone115","parent":"base_console","pivot":[0.0,51.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,60.0,-7.2],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone116","parent":"bone115","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,60.0,-7.2],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone117","parent":"bone116","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,60.0,-7.2],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone118","parent":"bone117","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,60.0,-7.2],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone119","parent":"bone118","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,60.0,-7.2],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone120","parent":"bone119","pivot":[0.0,51.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.0,60.0,-7.2],"size":[6.0,4.0,8.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bone103","parent":"base_console","pivot":[0.0,47.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,55.975,-6.7],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[33.0,84.0],"mirror":false}]},{"name":"bone104","parent":"bone103","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,55.975,-6.7],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[33.0,84.0],"mirror":false}]},{"name":"bone105","parent":"bone104","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,55.975,-6.7],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[33.0,84.0],"mirror":false}]},{"name":"bone106","parent":"bone105","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,55.975,-6.7],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[33.0,84.0],"mirror":false}]},{"name":"bone107","parent":"bone106","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,55.975,-6.7],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[33.0,84.0],"mirror":false}]},{"name":"bone108","parent":"bone107","pivot":[0.0,47.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,55.975,-6.7],"size":[2.0,2.0,2.0],"inflate":0.0,"uv":[33.0,84.0],"mirror":false}]},{"name":"bone169","parent":"base_console","pivot":[0.0,7.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,13.0,-13.85],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone170","parent":"bone169","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.0,13.0,-13.85],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone171","parent":"bone170","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.0,13.0,-13.85],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone172","parent":"bone171","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.0,13.0,-13.85],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone173","parent":"bone172","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.0,13.0,-13.85],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone174","parent":"bone173","pivot":[0.0,7.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.0,13.0,-13.85],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone139","parent":"base_console","pivot":[0.0,52.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone140","parent":"bone139","pivot":[0.0,52.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone141","parent":"bone140","pivot":[0.0,52.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone142","parent":"bone141","pivot":[0.0,52.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone143","parent":"bone142","pivot":[0.0,52.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone144","parent":"bone143","pivot":[0.0,52.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone80_r6","parent":"bone144","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,54.025,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false},{"origin":[-1.0,58.0,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false}]},{"name":"bone80_r5","parent":"bone143","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,54.025,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false},{"origin":[-1.0,58.0,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false}]},{"name":"bone80_r4","parent":"bone142","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,54.025,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false},{"origin":[-1.0,58.0,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false}]},{"name":"bone80_r3","parent":"bone141","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,54.025,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false},{"origin":[-1.0,58.0,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false}]},{"name":"bone80_r2","parent":"bone140","pivot":[0.0,24.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,54.025,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false},{"origin":[-1.0,58.0,-5.9793997],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false}]},{"name":"bone80_r1","parent":"bone139","pivot":[0.0,25.0,-5.475],"rotation":[-0.2521014284915244,0.0,0.0],"cubes":[{"origin":[-1.0,54.025,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false},{"origin":[-1.0,58.0,-5.975],"size":[2.0,2.0,1.0],"inflate":0.0,"uv":[43.0,89.0],"mirror":false}]},{"name":"bone109","parent":"base_console","pivot":[0.0,45.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,53.975,-5.725],"size":[2.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone110","parent":"bone109","pivot":[0.0,45.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,53.975,-5.725],"size":[2.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone111","parent":"bone110","pivot":[0.0,45.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,53.975,-5.725],"size":[2.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone112","parent":"bone111","pivot":[0.0,45.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,53.975,-5.725],"size":[2.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone113","parent":"bone112","pivot":[0.0,45.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,53.975,-5.725],"size":[2.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone114","parent":"bone113","pivot":[0.0,45.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,53.975,-5.725],"size":[2.0,6.0,3.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"rotor_bottom","pivot":[0.0,26.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"low_rotor","parent":"rotor_bottom","pivot":[0.0,35.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,25.5,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,26.5,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone197","parent":"low_rotor","pivot":[0.0,35.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,25.5,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,26.5,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone198","parent":"bone197","pivot":[0.0,35.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,25.5,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,26.5,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone199","parent":"bone198","pivot":[0.0,35.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,25.5,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,26.5,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone200","parent":"bone199","pivot":[0.0,35.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,25.5,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,26.5,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone201","parent":"bone200","pivot":[0.0,35.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,25.5,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,26.5,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"low_rotor3","parent":"rotor_bottom","pivot":[0.0,34.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.5,30.5,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone228","parent":"low_rotor3","pivot":[0.0,34.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,30.5,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone229","parent":"bone228","pivot":[0.0,34.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,30.5,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone230","parent":"bone229","pivot":[0.0,34.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,30.5,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone231","parent":"bone230","pivot":[0.0,34.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,30.5,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone237","parent":"bone231","pivot":[0.0,34.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,30.5,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"low_rotor2","parent":"rotor_bottom","pivot":[0.0,38.5,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.0,34.5,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone196","parent":"low_rotor2","pivot":[0.0,38.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,34.5,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone202","parent":"bone196","pivot":[0.0,38.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,34.5,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone203","parent":"bone202","pivot":[0.0,38.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,34.5,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone226","parent":"bone203","pivot":[0.0,38.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,34.5,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone227","parent":"bone226","pivot":[0.0,38.5,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,34.5,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"rotor_top","pivot":[0.0,53.0,0.0],"rotation":[180.00041482030653,-30.000069136717755,0.0],"cubes":[]},{"name":"low_rotor5","parent":"rotor_top","pivot":[0.0,65.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.0,60.0,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone262","parent":"low_rotor5","pivot":[0.0,65.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,60.0,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone263","parent":"bone262","pivot":[0.0,65.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,60.0,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone264","parent":"bone263","pivot":[0.0,65.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,60.0,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone265","parent":"bone264","pivot":[0.0,65.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,60.0,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"bone266","parent":"bone265","pivot":[0.0,65.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.0,60.0,-3.464],"size":[4.0,1.0,1.0],"inflate":0.0,"uv":[9.0,84.0],"mirror":false}]},{"name":"low_rotor6","parent":"rotor_top","pivot":[0.0,61.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-2.5,56.0,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone267","parent":"low_rotor6","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone268","parent":"bone267","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone269","parent":"bone268","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone270","parent":"bone269","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"bone271","parent":"bone270","pivot":[0.0,61.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-2.5,56.0,-4.33],"size":[5.0,1.0,1.0],"inflate":0.0,"uv":[40.0,34.0],"mirror":false}]},{"name":"low_rotor4","parent":"rotor_top","pivot":[0.0,62.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,51.0,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,52.0,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone240","parent":"low_rotor4","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,51.0,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,52.0,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone241","parent":"bone240","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,51.0,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,52.0,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone242","parent":"bone241","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,51.0,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,52.0,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone243","parent":"bone242","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,51.0,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,52.0,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]},{"name":"bone261","parent":"bone243","pivot":[0.0,62.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,51.0,-4.225],"size":[2.0,16.0,1.0],"inflate":0.0,"uv":[62.0,66.0],"mirror":false},{"origin":[0.0,52.0,-4.225],"size":[1.0,15.0,2.0],"inflate":0.0,"uv":[44.0,64.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/briefcase_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/briefcase_door.json
new file mode 100644
index 00000000..3be9e110
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/briefcase_door.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"briefcase_door","texture_width":128,"texture_height":128},"bones":[{"name":"door_open","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,45.9,-6.0],"size":[20.0,1.0,14.0],"inflate":0.0,"uv":[51.0,17.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,46.0,-6.0],"size":[20.0,1.0,14.0],"inflate":0.0,"uv":[0.0,33.0],"mirror":false},{"origin":[-10.0,45.75,-6.0],"size":[20.0,2.0,14.0],"inflate":0.25,"uv":[0.0,0.0],"mirror":false}]},{"name":"cube_r1","parent":"bb_main","pivot":[0.0,48.0,9.25],"rotation":[-7.500017284179439,0.0,0.0],"cubes":[{"origin":[-7.0,-1.0,7.0],"size":[14.0,48.0,1.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"door_closed","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,45.9,-6.0],"size":[20.0,1.0,14.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/bulk_head_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/bulk_head_door.json
index def354ca..c27636a4 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/bulk_head_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/bulk_head_door.json
@@ -13,24 +13,24 @@
"bones": [
{
"name": "root",
- "pivot": [0, 24, 16]
+ "pivot": [0, 0, 0]
},
{
"name": "right_door",
"parent": "root",
- "pivot": [0, 0, 16],
+ "pivot": [0, 0, 0],
"cubes": [
- {"origin": [0, 0, -4], "size": [24, 48, 6], "uv": [64, 54]},
- {"origin": [0, 0, -5], "size": [24, 48, 8], "uv": [0, 56]}
+ {"origin": [0, 0, -3], "size": [24, 48, 6], "uv": [64, 54]},
+ {"origin": [0, 0, -4], "size": [24, 48, 8], "uv": [0, 56]}
]
},
{
"name": "left_door",
"parent": "root",
- "pivot": [0, 0, 16],
+ "pivot": [0, 0, 0],
"cubes": [
- {"origin": [-24, 0, -4], "size": [24, 48, 6], "uv": [64, 0]},
- {"origin": [-24, 0, -5], "size": [24, 48, 8], "uv": [0, 0]}
+ {"origin": [-24, 0, -3], "size": [24, 48, 6], "uv": [64, 0]},
+ {"origin": [-24, 0, -4], "size": [24, 48, 8], "uv": [0, 0]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/castle_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/castle_door.json
index 193cfc99..dfdaa0bf 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/castle_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/castle_door.json
@@ -35,7 +35,8 @@
{"origin": [2.5, 32, 3], "size": [4, 3, 2], "uv": [45, 45]},
{"origin": [6.5, 32, 3], "size": [4, 4, 2], "uv": [34, 40]},
{"origin": [-10.5, 32, 3], "size": [4, 4, 2], "uv": [34, 40], "mirror": true},
- {"origin": [-6.5, 32, 3], "size": [4, 3, 2], "uv": [45, 45], "mirror": true}
+ {"origin": [-6.5, 32, 3], "size": [4, 3, 2], "uv": [45, 45], "mirror": true},
+ {"origin": [-7.5, 0, 5], "size": [15, 36, 3], "uv": [0, 0]}
]
},
{
@@ -72,7 +73,7 @@
"name": "portal",
"pivot": [0, 0, 0],
"cubes": [
- {"origin": [-7.5, 0, 5], "size": [15, 36, 3], "uv": [0, 0]}
+ {"origin": [-7.5, 0, 5], "size": [15, 35, 1], "uv": [53, 3]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/drifter_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/drifter_door.json
index 6167ef6d..d049de3a 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/drifter_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/drifter_door.json
@@ -23,7 +23,7 @@
"name": "portal",
"pivot": [0, 0, 0.5],
"cubes": [
- {"origin": [-9.5, 0.025, 7.025], "size": [19, 34, 1], "uv": [0, 0]}
+ {"origin": [-8.5, 0.025, 7.025], "size": [17, 33, 1], "uv": [2, 0]}
]
},
{
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/groening_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/groening_door.json
index e77a1595..64ea7660 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/groening_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/groening_door.json
@@ -13,18 +13,45 @@
"bones": [
{
"name": "door",
- "pivot": [7.5, 17, 5.025],
+ "pivot": [-7.5, 17, 5.025],
"cubes": [
{"origin": [-7.5, 0, 3.025], "size": [15, 8, 1], "uv": [47, 0]},
- {"origin": [-7.5, 8, 3.025], "size": [15, 2, 1], "pivot": [0.5, 8, 3.025], "rotation": [-30, 0, 0], "uv": [47, 25]},
{"origin": [-7.5, 0, 4.025], "size": [15, 34, 2], "uv": [0, 42]}
]
},
+ {
+ "name": "door2",
+ "parent": "door",
+ "pivot": [0.5, 8, 3.025],
+ "rotation": [-30, 0, 0],
+ "cubes": [
+ {"origin": [-7.5, 8, 3.025], "size": [15, 2, 1], "uv": [47, 25]}
+ ]
+ },
+ {
+ "name": "bone3",
+ "parent": "door",
+ "pivot": [0, 4, 6.525],
+ "rotation": [0, 180, 0],
+ "cubes": [
+ {"origin": [-7.5, 0, 6.025], "size": [15, 8, 1], "uv": [47, 0]}
+ ]
+ },
+ {
+ "name": "door3",
+ "parent": "bone3",
+ "pivot": [0.5, 8, 6.025],
+ "rotation": [-30, 0, 0],
+ "cubes": [
+ {"origin": [-7.5, 8, 6.025], "size": [15, 2, 1], "uv": [47, 25]}
+ ]
+ },
{
"name": "frame",
"pivot": [0, 0, 0],
"cubes": [
- {"origin": [-9, 34, 3.025], "size": [18, 5, 4], "uv": [35, 42]}
+ {"origin": [-9, 34, 3.025], "size": [18, 5, 4], "uv": [35, 42]},
+ {"origin": [-10.5, 0, 7], "size": [21, 39, 1], "uv": [84, 88]}
]
},
{
@@ -34,10 +61,18 @@
"rotation": [0, 90, 0],
"cubes": [
{"origin": [-10.5, 0, 5.025], "size": [2, 39, 3], "uv": [35, 52], "mirror": true},
- {"origin": [-11.475, 4, 2.275], "size": [3, 4, 6], "inflate": 0.025, "pivot": [-10.475, 8, 2.275], "rotation": [55, 0, 0], "uv": [47, 29]},
{"origin": [-11.475, 0, 2.375], "size": [3, 8, 5], "uv": [46, 52], "mirror": true}
]
},
+ {
+ "name": "bone4",
+ "parent": "bone2",
+ "pivot": [-10.475, 8, 2.275],
+ "rotation": [55, 0, 0],
+ "cubes": [
+ {"origin": [-11.475, 4, 2.275], "size": [3, 4, 6], "inflate": 0.025, "uv": [47, 29]}
+ ]
+ },
{
"name": "bone",
"parent": "frame",
@@ -45,15 +80,23 @@
"rotation": [0, -90, 0],
"cubes": [
{"origin": [8.5, 0, 5.025], "size": [2, 39, 3], "uv": [35, 52]},
- {"origin": [8.475, 4, 2.275], "size": [3, 4, 10], "inflate": 0.025, "pivot": [10.475, 8, 2.275], "rotation": [55, 0, 0], "uv": [47, 10]},
{"origin": [8.475, 0, 2.375], "size": [3, 8, 5], "uv": [46, 52]}
]
},
+ {
+ "name": "bone5",
+ "parent": "bone",
+ "pivot": [10.475, 8, 2.275],
+ "rotation": [55, 0, 0],
+ "cubes": [
+ {"origin": [8.475, 4, 2.275], "size": [3, 4, 10], "inflate": 0.025, "uv": [47, 10]}
+ ]
+ },
{
"name": "portal",
"pivot": [0, 17, 8],
"cubes": [
- {"origin": [-10.5, 0, 6], "size": [21, 39, 2], "uv": [0, 0]}
+ {"origin": [-7.5, 0, 6], "size": [15, 38, 1], "uv": [7, 1]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/growth_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/growth_door.json
new file mode 100644
index 00000000..c08cdd84
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/growth_door.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"growth_door","texture_width":128,"texture_height":128},"bones":[{"name":"door_open","pivot":[-19.0,-0.0,19.55],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.5,-0.0,7.549999],"size":[4.0,32.0,1.0],"inflate":0.0,"uv":[33.0,80.0],"mirror":true},{"origin":[-7.5,-0.0,7.549999],"size":[15.0,32.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false},{"origin":[7.5,-0.0,7.549999],"size":[4.0,32.0,1.0],"inflate":0.0,"uv":[33.0,80.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.5,32.0,7.55],"size":[11.0,2.0,1.0],"inflate":0.0,"uv":[44.0,46.0],"mirror":false},{"origin":[-15.5,-0.0,7.825],"size":[31.0,44.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"door_closed","pivot":[-19.0,-0.0,19.55],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.5,-0.0,7.549999],"size":[4.0,32.0,1.0],"inflate":0.0,"uv":[33.0,46.0],"mirror":true},{"origin":[-7.5,-0.0,7.549999],"size":[15.0,32.0,1.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false},{"origin":[7.5,-0.0,7.549999],"size":[4.0,32.0,1.0],"inflate":0.0,"uv":[33.0,46.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/half_baked_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/half_baked_door.json
new file mode 100644
index 00000000..401bc89c
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/half_baked_door.json
@@ -0,0 +1,52 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "geometry.half_baked_door",
+ "texture_width": 128,
+ "texture_height": 128,
+ "visible_bounds_width": 3,
+ "visible_bounds_height": 3.5,
+ "visible_bounds_offset": [0, 1.25, 0]
+ },
+ "bones": [
+ {
+ "name": "door",
+ "pivot": [0, -2, 13],
+ "cubes": [
+ {"origin": [-9, 0, 5], "size": [18, 2, 3], "uv": [48, 6]},
+ {"origin": [-7, 2, 7], "size": [14, 33, 1], "uv": [0, 0]},
+ {"origin": [-9, 35, 5], "size": [18, 2, 3], "uv": [48, 0]},
+ {"origin": [-5, 33, 5], "size": [10, 2, 2], "uv": [48, 17]},
+ {"origin": [-9, 2, 6], "size": [2, 33, 2], "uv": [9, 35]},
+ {"origin": [7, 2, 6], "size": [2, 33, 2], "uv": [0, 35]},
+ {"origin": [-7, 32, 6.9], "size": [14, 3, 1], "uv": [48, 12]}
+ ]
+ },
+ {
+ "name": "bone",
+ "parent": "door",
+ "pivot": [0, 18, 24],
+ "rotation": [0, 90.00021, 0]
+ },
+ {
+ "name": "right_door",
+ "pivot": [7, 18, 7.4],
+ "cubes": [
+ {"origin": [0, 2, 6.8], "size": [7, 31, 1], "uv": [31, 0]},
+ {"origin": [0.5, 2, 7.3], "size": [6, 31, 0], "uv": [49, 24]}
+ ]
+ },
+ {
+ "name": "left_door",
+ "pivot": [-7, 18, 7.4],
+ "cubes": [
+ {"origin": [-7, 2, 6.8], "size": [7, 31, 1], "uv": [31, 33]},
+ {"origin": [-6.5, 2, 7.3], "size": [6, 31, 0], "uv": [62, 24]}
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/hieroglyph_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/hieroglyph_door.json
index f452cf78..932d2773 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/hieroglyph_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/hieroglyph_door.json
@@ -6,7 +6,7 @@
"identifier": "geometry.unknown",
"texture_width": 256,
"texture_height": 256,
- "visible_bounds_width": 3,
+ "visible_bounds_width": 4,
"visible_bounds_height": 4.5,
"visible_bounds_offset": [0, 1.75, 0]
},
@@ -16,15 +16,31 @@
"pivot": [0, 0, 12.5],
"cubes": [
{"origin": [-7.5, 2, 5], "size": [15, 31, 1], "uv": [66, 69]},
- {"origin": [-5, 27, 1.5], "size": [10, 5, 3], "pivot": [0, 27, 1.5], "rotation": [-30, 0, 0], "uv": [99, 69]},
{"origin": [-5, 24, 1.5], "size": [10, 3, 4], "inflate": 0.025, "uv": [95, 98]},
{"origin": [2.5, 12, 3], "size": [2, 12, 2], "uv": [0, 25]},
{"origin": [-4.5, 12, 3], "size": [2, 12, 2], "uv": [0, 25], "mirror": true},
{"origin": [-5, 0, 1.5], "size": [10, 12, 4], "uv": [98, 33]},
- {"origin": [-2.5, 9.5, 2.5], "size": [5, 5, 2], "pivot": [0, 12, 3.5], "rotation": [0, 0, 45], "uv": [0, 13]},
{"origin": [-4.5, 2.5, 2], "size": [9, 9, 3], "uv": [64, 33]}
]
},
+ {
+ "name": "door_closed_roof",
+ "parent": "door_closed",
+ "pivot": [0, 27, 1.5],
+ "rotation": [-30, 0, 0],
+ "cubes": [
+ {"origin": [-5, 27, 1.5], "size": [10, 5, 3], "uv": [99, 69]}
+ ]
+ },
+ {
+ "name": "door_closed_pyramid",
+ "parent": "door_closed",
+ "pivot": [0, 12, 3.5],
+ "rotation": [0, 0, 45],
+ "cubes": [
+ {"origin": [-2.5, 9.5, 2.5], "size": [5, 5, 2], "uv": [0, 13]}
+ ]
+ },
{
"name": "bone29",
"parent": "door_closed",
@@ -36,25 +52,42 @@
{
"name": "door_open",
"pivot": [1.5, 0, 8],
- "rotation": [0, -5, 0],
+ "rotation": [0, 5, 0],
+ "cubes": [
+ {"origin": [-22, 0, 0.5], "size": [15, 33, 1], "uv": [33, 69]},
+ {"origin": [-22, 0, 1.5], "size": [15, 33, 1], "uv": [0, 60]},
+ {"origin": [-19.5, 24, -3], "size": [10, 3, 4], "inflate": 0.025, "uv": [95, 98]},
+ {"origin": [-16, 19, -1.5], "size": [3, 5, 1], "inflate": 0.25, "uv": [9, 25]},
+ {"origin": [-12, 12, -1.5], "size": [2, 12, 2], "uv": [0, 25]},
+ {"origin": [-19, 12, -1.5], "size": [2, 12, 2], "uv": [0, 25], "mirror": true},
+ {"origin": [-19.5, 0, -3], "size": [10, 12, 4], "uv": [98, 33]},
+ {"origin": [-19, 2.5, -2.5], "size": [9, 9, 3], "uv": [64, 33]},
+ {"origin": [-19, -0.8, -6.75], "size": [26, 1, 9], "uv": [0, 49], "mirror": true}
+ ]
+ },
+ {
+ "name": "door_open_roof",
+ "parent": "door_open",
+ "pivot": [-14.5, 27, -3],
+ "rotation": [-30, 0, 0],
"cubes": [
- {"origin": [7, 0, 0.5], "size": [15, 33, 1], "uv": [33, 69]},
- {"origin": [7, 0, 1.5], "size": [15, 33, 1], "uv": [0, 60]},
- {"origin": [9.5, 27, -3], "size": [10, 5, 3], "pivot": [14.5, 27, -3], "rotation": [-30, 0, 0], "uv": [99, 69]},
- {"origin": [9.5, 24, -3], "size": [10, 3, 4], "inflate": 0.025, "uv": [95, 98]},
- {"origin": [13, 19, -1.5], "size": [3, 5, 1], "inflate": 0.25, "uv": [9, 25]},
- {"origin": [17, 12, -1.5], "size": [2, 12, 2], "uv": [0, 25]},
- {"origin": [10, 12, -1.5], "size": [2, 12, 2], "uv": [0, 25], "mirror": true},
- {"origin": [9.5, 0, -3], "size": [10, 12, 4], "uv": [98, 33]},
- {"origin": [12, 9.5, -2], "size": [5, 5, 2], "pivot": [14.5, 12, -1], "rotation": [0, 0, 45], "uv": [0, 13]},
- {"origin": [10, 2.5, -2.5], "size": [9, 9, 3], "uv": [64, 33]},
- {"origin": [-7, -0.8, -6.75], "size": [26, 1, 9], "uv": [0, 49]}
+ {"origin": [-19.5, 27, -3], "size": [10, 5, 3], "uv": [99, 69]}
+ ]
+ },
+ {
+ "name": "door_open_pyramid",
+ "parent": "door_open",
+ "pivot": [-14.5, 12, -1],
+ "rotation": [0, 0, 45],
+ "cubes": [
+ {"origin": [-17, 9.5, -2], "size": [5, 5, 2], "uv": [0, 13]}
]
},
{
"name": "frame",
"pivot": [0, 0, 0],
"cubes": [
+ {"origin": [-10.5, 0, 6], "size": [21, 39, 2], "uv": [15, 105]},
{"origin": [-10.5, 36, 2], "size": [21, 3, 4], "uv": [17, 17]},
{"origin": [-6.5, 39, 6], "size": [13, 6, 2], "uv": [69, 60]},
{"origin": [-10.5, 0, 2], "size": [21, 2, 4], "uv": [17, 42]}
@@ -104,26 +137,37 @@
"name": "bone5",
"parent": "bone6",
"pivot": [-3.24503, 38.77043, 4.5],
- "rotation": [0, -0.25, 0],
+ "rotation": [0, -0.25, 0]
+ },
+ {
+ "name": "bone5_b",
+ "parent": "bone5",
+ "pivot": [-7, 39, 3],
+ "rotation": [0, 0, -20],
"cubes": [
- {"origin": [-7.55, 36, 3], "size": [8, 3, 3], "pivot": [-7, 39, 3], "rotation": [0, 0, -20], "uv": [33, 60], "mirror": true}
+ {"origin": [-7.55, 36, 3], "size": [8, 3, 3], "uv": [33, 60], "mirror": true}
]
},
{
"name": "bone2",
"parent": "bone6",
"pivot": [3.24503, 38.77043, 4.5],
- "rotation": [0, 0.25, 0],
+ "rotation": [0, 0.25, 0]
+ },
+ {
+ "name": "bone2_b",
+ "parent": "bone2",
+ "pivot": [7, 39, 3],
+ "rotation": [0, 0, 20],
"cubes": [
- {"origin": [-0.45, 36, 3], "size": [8, 3, 3], "pivot": [7, 39, 3], "rotation": [0, 0, 20], "uv": [33, 60]}
+ {"origin": [-0.45, 36, 3], "size": [8, 3, 3], "uv": [33, 60]}
]
},
{
"name": "portal",
"pivot": [0, 0, 0],
"cubes": [
- {"origin": [-7, 2, 5.5], "size": [14, 31, 1], "uv": [85, 0]},
- {"origin": [-10.5, 0, 6], "size": [21, 39, 2], "uv": [15, 105]}
+ {"origin": [-7, 2, 5.5], "size": [14, 31, 1], "uv": [85, 0]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/lift_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/lift_door.json
index 6eb7a05f..cf0d92bd 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/lift_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/lift_door.json
@@ -18,7 +18,14 @@
{"origin": [-9, 32, 6], "size": [18, 3, 1], "inflate": 0.025, "uv": [0, 73]},
{"origin": [-9.5, 35, 5.5], "size": [19, 1, 2], "uv": [66, 72]},
{"origin": [-5.5, 35.5, 6.225], "size": [11, 5, 1], "uv": [42, 33]},
- {"origin": [-10, 0, 7.25], "size": [20, 39, 1], "uv": [0, 0]},
+ {"origin": [-10, 0, 7.25], "size": [20, 39, 1], "uv": [0, 0]}
+ ]
+ },
+ {
+ "name": "bone10",
+ "parent": "frame",
+ "pivot": [0, 0, 7],
+ "cubes": [
{"origin": [8, 0, 5.25], "size": [2, 37, 2], "uv": [68, 33]},
{"origin": [-8.5, 32.25, 3.5], "size": [3, 1, 3], "uv": [46, 73]},
{"origin": [-7.5, 32.225, 4.5], "size": [16, 1, 2], "uv": [74, 31]},
@@ -26,6 +33,11 @@
{"origin": [7.5, 16, 4.75], "size": [3, 6, 1], "uv": [58, 73]}
]
},
+ {
+ "name": "blackface",
+ "parent": "frame",
+ "pivot": [0, 0, 8]
+ },
{
"name": "clock_hand",
"parent": "frame",
@@ -112,7 +124,7 @@
"name": "portal",
"pivot": [0, 0, 0],
"cubes": [
- {"origin": [-8, 0, 7.25], "size": [16, 32, 1], "uv": [0, 40]}
+ {"origin": [-8, 0, 7], "size": [16, 32, 1], "uv": [0, 40]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/mystic_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/mystic_door.json
index 47e06ba3..6b017593 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/mystic_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/mystic_door.json
@@ -16,6 +16,8 @@
"pivot": [7, 17, 6],
"cubes": [
{"origin": [0, 1, 6], "size": [7, 32, 1], "uv": [0, 38]},
+ {"origin": [0, 1, 7.025], "size": [7, 32, 0], "uv": [1, 72]},
+ {"origin": [0, 1, 6.975], "size": [7, 32, 0], "uv": [16, 72]},
{"origin": [0.025, 14, 5], "size": [3, 6, 2], "uv": [39, 27]}
]
},
@@ -24,6 +26,8 @@
"pivot": [-7, 17, 6],
"cubes": [
{"origin": [-7, 1, 6], "size": [7, 32, 1], "uv": [0, 38], "mirror": true},
+ {"origin": [-7, 1, 7.025], "size": [7, 32, 0], "uv": [1, 72], "mirror": true},
+ {"origin": [-7, 1, 6.975], "size": [7, 32, 0], "uv": [16, 72], "mirror": true},
{"origin": [-3.025, 14, 5], "size": [3, 6, 2], "uv": [39, 27], "mirror": true}
]
},
@@ -89,7 +93,7 @@
"name": "portal",
"pivot": [-15, 14, 15],
"cubes": [
- {"origin": [-9, 0, 7.1], "size": [18, 36, 1], "uv": [0, 0]}
+ {"origin": [-8, 0, 7.1], "size": [16, 35, 1], "uv": [3, 0]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/nuka_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/nuka_door.json
index 17232fda..c160c955 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/nuka_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/nuka_door.json
@@ -30,15 +30,32 @@
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-11.5, 32.0625, 4.5], "size": [23, 3, 4], "inflate": 0.125, "uv": [0, 39]},
- {"origin": [-11, 0, 5], "size": [3, 35, 3], "pivot": [-9.5, -1.5, 6.5], "rotation": [0, 45, 0], "uv": [38, 47]},
- {"origin": [8, 0, 5], "size": [3, 35, 3], "pivot": [9.5, -1.5, 6.5], "rotation": [0, -45, 0], "uv": [51, 47]}
+ {"origin": [-11.5, 0, 6.5], "size": [23, 35, 3], "uv": [0, 0]}
+ ]
+ },
+ {
+ "name": "frame3",
+ "parent": "frame",
+ "pivot": [-9.5, -1.5, 6.5],
+ "rotation": [0, 45, 0],
+ "cubes": [
+ {"origin": [-11, 0, 5], "size": [3, 35, 3], "uv": [38, 47]}
+ ]
+ },
+ {
+ "name": "frame2",
+ "parent": "frame",
+ "pivot": [9.5, -1.5, 6.5],
+ "rotation": [0, -45, 0],
+ "cubes": [
+ {"origin": [8, 0, 5], "size": [3, 35, 3], "uv": [51, 47]}
]
},
{
"name": "portal",
"pivot": [9.5, -1.5, 6.5],
"cubes": [
- {"origin": [-11.5, 0, 6.5], "size": [23, 35, 3], "uv": [0, 0]}
+ {"origin": [-7.5, 0, 6.5], "size": [15, 32, 0], "uv": [95, 3]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pagoda_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pagoda_door.json
new file mode 100644
index 00000000..07535736
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pagoda_door.json
@@ -0,0 +1,158 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "geometry.unknown",
+ "texture_width": 128,
+ "texture_height": 128,
+ "visible_bounds_width": 3,
+ "visible_bounds_height": 3.5,
+ "visible_bounds_offset": [0, 1.25, 0]
+ },
+ "bones": [
+ {
+ "name": "door",
+ "pivot": [-6.9, 18, 4],
+ "cubes": [
+ {"origin": [-7, 8, 3.5], "size": [14, 24, 1], "uv": [43, 0], "mirror": true},
+ {"origin": [-7, 0, 4], "size": [14, 32, 1], "uv": [0, 42], "mirror": true}
+ ]
+ },
+ {
+ "name": "frame",
+ "pivot": [0, 0, 0],
+ "cubes": [
+ {"origin": [-9, -0.975, 3], "size": [18, 1, 2], "uv": [0, 76]},
+ {"origin": [-9, 0, 5], "size": [18, 38, 3], "uv": [0, 0]}
+ ]
+ },
+ {
+ "name": "bone4",
+ "parent": "frame",
+ "pivot": [0, 0, 11],
+ "cubes": [
+ {"origin": [7, 0, 3], "size": [2, 33, 2], "uv": [58, 45]}
+ ]
+ },
+ {
+ "name": "bone5",
+ "parent": "bone4",
+ "pivot": [0, 0, 12],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "bone7",
+ "parent": "bone5",
+ "pivot": [0, 0, 12],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "bone8",
+ "parent": "bone7",
+ "pivot": [0, 0, 12],
+ "rotation": [0, -90, 0],
+ "cubes": [
+ {"origin": [7, 0, 3], "size": [2, 33, 2], "uv": [58, 45]}
+ ]
+ },
+ {
+ "name": "bone",
+ "parent": "frame",
+ "pivot": [0, 0, 12],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "bone2",
+ "parent": "bone",
+ "pivot": [0, 0, 12],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "bone6",
+ "parent": "bone2",
+ "pivot": [0, 0, 12],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "roof_front",
+ "parent": "frame",
+ "pivot": [0, 35.25, 7],
+ "rotation": [20, 0, 0],
+ "cubes": [
+ {"origin": [-9.5, 33.25, 1], "size": [19, 2, 6], "uv": [37, 36]}
+ ]
+ },
+ {
+ "name": "roof_west",
+ "parent": "frame",
+ "pivot": [5, 35.25, 12],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "roof_west2",
+ "parent": "roof_west",
+ "pivot": [5, 35.25, 12],
+ "rotation": [20, 0, 0],
+ "cubes": [
+ {"origin": [-4.5, 33.25, 6], "size": [6, 2, 6], "uv": [86, 45]}
+ ]
+ },
+ {
+ "name": "roof_east",
+ "parent": "frame",
+ "pivot": [-5, 35.25, 12],
+ "rotation": [0, 90, 0]
+ },
+ {
+ "name": "roof_east2",
+ "parent": "roof_east",
+ "pivot": [-5, 35.25, 12],
+ "rotation": [20, 0, 0],
+ "cubes": [
+ {"origin": [-1.5, 33.25, 6], "size": [6, 2, 6], "uv": [86, 36]}
+ ]
+ },
+ {
+ "name": "roof_cornerw",
+ "parent": "frame",
+ "pivot": [0, 35.25, 12],
+ "rotation": [0, -45, 0]
+ },
+ {
+ "name": "bone3",
+ "parent": "roof_cornerw",
+ "pivot": [0, 35.25, 6],
+ "rotation": [20, 0, 0],
+ "cubes": [
+ {"origin": [-1, 34.25, -3], "size": [2, 2, 10], "uv": [31, 62]},
+ {"origin": [0, 33.75, -5], "size": [1, 4, 12], "uv": [31, 45]}
+ ]
+ },
+ {
+ "name": "roof_cornere",
+ "parent": "frame",
+ "pivot": [0, 35.25, 12],
+ "rotation": [0, 45, 0]
+ },
+ {
+ "name": "bone11",
+ "parent": "roof_cornere",
+ "pivot": [0, 35.25, 6],
+ "rotation": [20, 0, 0],
+ "cubes": [
+ {"origin": [-1, 33.75, -5], "size": [1, 4, 12], "uv": [31, 45], "mirror": true},
+ {"origin": [-1, 34.25, -3], "size": [2, 2, 10], "uv": [31, 62], "mirror": true}
+ ]
+ },
+ {
+ "name": "portal",
+ "pivot": [0, 0, 10.5],
+ "cubes": [
+ {"origin": [-7, 0, 4.5], "size": [14, 32, 1], "uv": [75, 0]}
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pathfinder_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pathfinder_door.json
index 970f4377..8586437b 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pathfinder_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/pathfinder_door.json
@@ -15,9 +15,7 @@
"name": "frame",
"pivot": [0.5, -5, 1.25],
"cubes": [
- {"origin": [-16.45649, 36.35102, 4.025], "size": [4, 14, 4], "pivot": [-16.45649, 36.35102, 6], "rotation": [0, 0, 30], "uv": [46, 47]},
{"origin": [-9.5, 45, 4.025], "size": [19, 4, 4], "inflate": 0.025, "uv": [47, 19]},
- {"origin": [12.45649, 36.35102, 4.025], "size": [4, 14, 4], "pivot": [16.45649, 36.35102, 6], "rotation": [0, 0, -30], "uv": [46, 47], "mirror": true},
{"origin": [-11.5, 37, 4.275], "size": [23, 8, 2], "uv": [27, 36]},
{"origin": [-11.5, 37, 5.275], "size": [23, 8, 2], "uv": [47, 0]},
{"origin": [-10, 34, 4], "size": [20, 3, 4], "uv": [47, 11]},
@@ -27,20 +25,54 @@
{"origin": [-16, 0, 4], "size": [5, 34, 4], "uv": [27, 47]}
]
},
+ {
+ "name": "frameslopee",
+ "parent": "frame",
+ "pivot": [-16.5, 36.375, 6],
+ "rotation": [0, 0, 30],
+ "cubes": [
+ {"origin": [-16.5, 36.375, 4.025], "size": [4, 14, 4], "uv": [46, 47]}
+ ]
+ },
+ {
+ "name": "frameslopew",
+ "parent": "frame",
+ "pivot": [16.5, 36.375, 6],
+ "rotation": [0, 0, -30],
+ "cubes": [
+ {"origin": [12.5, 36.375, 4.025], "size": [4, 14, 4], "uv": [46, 47], "mirror": true}
+ ]
+ },
{
"name": "right_door",
"pivot": [10, 16, 6.75],
"cubes": [
- {"origin": [0, 0, 5.75], "size": [11, 34, 2], "uv": [0, 36]},
- {"origin": [1, 11, 5.75], "size": [5, 5, 1], "pivot": [3.5, 16, 5.75], "rotation": [-15, 0, -15], "uv": [47, 28]}
+ {"origin": [0, 0, 5.75], "size": [11, 34, 2], "uv": [0, 36]}
+ ]
+ },
+ {
+ "name": "right_door2",
+ "parent": "right_door",
+ "pivot": [3.5, 16, 5.75],
+ "rotation": [-15, 0, -15],
+ "cubes": [
+ {"origin": [1, 11, 5.75], "size": [5, 5, 1], "uv": [47, 28]}
]
},
{
"name": "left_door",
"pivot": [-10, 16, 6.75],
"cubes": [
- {"origin": [-11, 0, 5.75], "size": [11, 34, 2], "uv": [0, 36], "mirror": true},
- {"origin": [-6, 11, 5.75], "size": [5, 5, 1], "pivot": [-3.5, 16, 5.75], "rotation": [-15, 0, 15], "uv": [47, 28]}
+ {"origin": [-11, 0, 5.75], "size": [11, 34, 2], "uv": [0, 36], "mirror": true}
+ ]
+ },
+ {
+ "name": "left_door2",
+ "parent": "left_door",
+ "pivot": [-3.5, 16, 5.75],
+ "rotation": [-15, 0, 15],
+ "cubes": [
+ {"origin": [-6, 11, 5.75], "size": [5, 5, 1], "uv": [47, 28]}
]
},
{
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/phone_booth_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/phone_booth_door.json
index ff004827..3c422953 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/phone_booth_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/phone_booth_door.json
@@ -47,7 +47,7 @@
"name": "portal",
"pivot": [0, 0, 0],
"cubes": [
- {"origin": [-9, 0, 7.25], "size": [18, 37, 1], "uv": [0, 79]}
+ {"origin": [-8, 0, 7.25], "size": [16, 37, 1], "uv": [2, 79]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/portaloo_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/portaloo_door.json
index 763387a2..82828e90 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/portaloo_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/portaloo_door.json
@@ -13,37 +13,37 @@
"bones": [
{
"name": "door",
- "pivot": [7, 21.5, 6.75],
+ "pivot": [7, 21.5, 7],
"cubes": [
- {"origin": [-7, 0, 5.75], "size": [14, 31, 1], "uv": [0, 37]},
- {"origin": [-6, 31, 5.75], "size": [12, 1, 1], "uv": [47, 4]},
- {"origin": [-6, 15.5, 4], "size": [2, 4, 2], "uv": [47, 7]}
+ {"origin": [-7, 0, 6], "size": [14, 31, 1], "uv": [0, 37]},
+ {"origin": [-6, 31, 6], "size": [12, 1, 1], "uv": [47, 4]},
+ {"origin": [-6, 15.5, 4.25], "size": [2, 4, 2], "uv": [47, 7]}
]
},
{
"name": "frame",
- "pivot": [0, -2, 6.25],
+ "pivot": [0, -2, 6.5],
"cubes": [
- {"origin": [-7, 31, 6.25], "size": [14, 2, 1], "uv": [47, 0]},
- {"origin": [7, 0, 6.25], "size": [1, 33, 1], "uv": [42, 42]},
- {"origin": [-8, 0, 6.25], "size": [1, 33, 1], "uv": [42, 42], "mirror": true}
+ {"origin": [-7, 31, 6.5], "size": [14, 2, 1], "uv": [47, 0]},
+ {"origin": [7, 0, 6.5], "size": [1, 33, 1], "uv": [42, 42]},
+ {"origin": [-8, 0, 6.5], "size": [1, 33, 1], "uv": [42, 42], "mirror": true}
]
},
{
"name": "bone4",
"parent": "frame",
- "pivot": [0, -2, 5.75],
+ "pivot": [0, -2, 6],
"cubes": [
- {"origin": [8, 0, 5.75], "size": [3, 33, 2], "uv": [31, 42]},
- {"origin": [-11, 0, 5.75], "size": [3, 33, 2], "uv": [31, 42], "mirror": true},
- {"origin": [-11, 33, 5.75], "size": [22, 2, 2], "uv": [31, 37]}
+ {"origin": [8, 0, 6], "size": [3, 33, 2], "uv": [31, 42]},
+ {"origin": [-11, 0, 6], "size": [3, 33, 2], "uv": [31, 42], "mirror": true},
+ {"origin": [-11, 33, 6], "size": [22, 2, 2], "uv": [31, 37]}
]
},
{
"name": "portal",
- "pivot": [0, 0, 0],
+ "pivot": [0, 0, 0.25],
"cubes": [
- {"origin": [-11, 0, 7], "size": [22, 35, 1], "uv": [0, 0]}
+ {"origin": [-10, 0, 7.25], "size": [20, 34, 1], "uv": [2, 0]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/present_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/present_door.json
index d6f7d905..c925e80f 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/present_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/present_door.json
@@ -34,7 +34,7 @@
"name": "portal",
"pivot": [-46, 0, -1],
"cubes": [
- {"origin": [-9, 0, 8.025], "size": [18, 35, 1], "uv": [0, 0]}
+ {"origin": [-8, 0, 8.025], "size": [16, 35, 1], "uv": [2, 0]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/root_shell_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/root_shell_door.json
new file mode 100644
index 00000000..3f94b15d
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/root_shell_door.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_shell_door","texture_width":128,"texture_height":128},"bones":[{"name":"stage7","pivot":[-114.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,-0.0,6.55],"size":[18.0,38.0,1.0],"inflate":0.0,"uv":[39.0,48.0],"mirror":false},{"origin":[-18.0,-0.0,6.825],"size":[36.0,46.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,-0.0,6.8],"size":[18.0,38.0,1.0],"inflate":0.0,"uv":[0.0,48.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/shulker_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/shulker_door.json
new file mode 100644
index 00000000..bb1109bf
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/shulker_door.json
@@ -0,0 +1,39 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "geometry.shulker",
+ "texture_width": 64,
+ "texture_height": 64,
+ "visible_bounds_width": 2,
+ "visible_bounds_height": 2.5,
+ "visible_bounds_offset": [0, 0.75, 0]
+ },
+ "bones": [
+ {
+ "name": "head",
+ "pivot": [0, 12, 0],
+ "cubes": [
+ {"origin": [-3, 6, -3], "size": [6, 6, 6], "uv": [0, 52]}
+ ]
+ },
+ {
+ "name": "lid",
+ "pivot": [0, 0, 0],
+ "cubes": [
+ {"origin": [-8, 4, -8], "size": [16, 12, 16], "uv": [0, 0]}
+ ]
+ },
+ {
+ "name": "base",
+ "pivot": [0, 0, 0],
+ "cubes": [
+ {"origin": [-8, 0, -8], "size": [16, 8, 16], "uv": [0, 28]},
+ {"origin": [-8, 0.025, -8], "size": [16, 0, 16], "uv": [16, 28]}
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/vending_door.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/vending_door.json
index 682e7037..19da0bdc 100644
--- a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/vending_door.json
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/door/vending_door.json
@@ -6,7 +6,7 @@
"identifier": "geometry.unknown",
"texture_width": 128,
"texture_height": 128,
- "visible_bounds_width": 5,
+ "visible_bounds_width": 3,
"visible_bounds_height": 3.5,
"visible_bounds_offset": [0, 1.25, 0]
},
@@ -18,21 +18,22 @@
{"origin": [-7, 33, 6], "size": [14, 6, 3], "uv": [58, 0]},
{"origin": [6.975, 0, 6], "size": [3, 33, 2], "uv": [47, 0], "mirror": true},
{"origin": [-9.975, 0, 6], "size": [3, 33, 2], "uv": [47, 0]},
- {"origin": [-8, 1, 8], "size": [16, 33, 1], "uv": [0, 40]}
+ {"origin": [-10, 0, 8], "size": [20, 36, 3], "uv": [0, 0]}
]
},
{
"name": "door",
"pivot": [0, 2, 8],
"cubes": [
- {"origin": [-7, 3, 7], "size": [14, 30, 1], "uv": [35, 40]}
+ {"origin": [-7, 3, 7], "size": [14, 30, 1], "uv": [35, 40]},
+ {"origin": [-8, 1, 8], "size": [16, 33, 1], "uv": [0, 40]}
]
},
{
"name": "portal",
"pivot": [37, 0, -40.5],
"cubes": [
- {"origin": [-10, 0, 8], "size": [20, 36, 3], "uv": [0, 0]}
+ {"origin": [-7, 5, 8], "size": [14, 27, 1], "uv": [98, 0]}
]
}
]
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_five.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_five.json
new file mode 100644
index 00000000..57664aeb
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_five.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_plant_five","texture_width":128,"texture_height":128},"bones":[{"name":"stage5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,-1.75,-11.0],"size":[22.0,1.0,22.0],"inflate":1.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone80","parent":"stage5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone81","parent":"bone80","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone82","parent":"bone81","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone83","parent":"bone82","pivot":[0.0,-0.0,-9.6],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-5.5,-0.0,-9.6],"size":[11.0,34.0,1.0],"inflate":0.0,"uv":[29.0,24.0],"mirror":false}]},{"name":"bone84","parent":"bone82","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone85","parent":"bone84","pivot":[0.0,-0.0,-9.6],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-5.5,-0.0,-9.6],"size":[11.0,34.0,1.0],"inflate":0.0,"uv":[29.0,24.0],"mirror":false}]},{"name":"bone88","parent":"bone84","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone90","parent":"bone88","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone91","parent":"bone90","pivot":[0.0,-0.0,-9.6],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-5.5,-0.0,-9.6],"size":[11.0,34.0,1.0],"inflate":0.0,"uv":[29.0,24.0],"mirror":false}]},{"name":"bone89","parent":"bone88","pivot":[0.0,-0.0,-9.6],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-5.5,-0.0,-9.6],"size":[11.0,34.0,1.0],"inflate":0.0,"uv":[29.0,24.0],"mirror":false}]},{"name":"bone87","parent":"bone81","pivot":[0.0,-0.0,-9.6],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-5.5,-0.0,-9.6],"size":[11.0,34.0,1.0],"inflate":0.0,"uv":[29.0,24.0],"mirror":false}]},{"name":"bone86","parent":"bone80","pivot":[0.0,-0.0,-9.6],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-5.5,-0.0,-9.6],"size":[11.0,34.0,1.0],"inflate":0.0,"uv":[29.0,24.0],"mirror":false}]},{"name":"bone92","parent":"stage5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,32.0,7.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone93","parent":"bone92","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,32.0,7.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone94","parent":"bone93","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,32.0,7.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone95","parent":"bone94","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,32.0,7.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone96","parent":"bone95","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,32.0,7.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone97","parent":"bone96","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,32.0,7.0],"inflate":0.0,"uv":[0.0,24.0],"mirror":false}]},{"name":"bone98","parent":"stage5","pivot":[60.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone100","parent":"bone98","pivot":[60.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone102","parent":"bone100","pivot":[60.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone104","parent":"bone102","pivot":[60.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone105","parent":"bone104","pivot":[60.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[54.0,-13.9864,-68.5778],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false},{"origin":[54.0,-13.9864,-68.5778],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false}]},{"name":"bone103","parent":"bone102","pivot":[60.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[114.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false},{"origin":[114.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false}]},{"name":"bone101","parent":"bone100","pivot":[60.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[54.0,11.9864,48.5778],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false},{"origin":[54.0,11.9864,48.5778],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false}]},{"name":"bone99","parent":"bone98","pivot":[60.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false},{"origin":[-6.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[46.0,52.0],"mirror":false}]},{"name":"bone108","parent":"stage5","pivot":[0.0,32.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,32.0,-6.1],"size":[7.0,4.0,7.0],"inflate":0.0,"uv":[54.0,24.0],"mirror":false}]},{"name":"bone109","parent":"bone108","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,32.0,-6.1],"size":[7.0,4.0,7.0],"inflate":0.0,"uv":[54.0,24.0],"mirror":false}]},{"name":"bone110","parent":"bone109","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,32.0,-6.1],"size":[7.0,4.0,7.0],"inflate":0.0,"uv":[54.0,24.0],"mirror":false}]},{"name":"bone111","parent":"bone110","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,32.0,-6.1],"size":[7.0,4.0,7.0],"inflate":0.0,"uv":[54.0,24.0],"mirror":false}]},{"name":"bone112","parent":"bone111","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,32.0,-6.1],"size":[7.0,4.0,7.0],"inflate":0.0,"uv":[54.0,24.0],"mirror":false}]},{"name":"bone113","parent":"bone112","pivot":[0.0,32.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,32.0,-6.1],"size":[7.0,4.0,7.0],"inflate":0.0,"uv":[54.0,24.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_four.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_four.json
new file mode 100644
index 00000000..270fd3e3
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_four.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_plant_four","texture_width":128,"texture_height":128},"bones":[{"name":"stage4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,0.5,-4.0],"size":[8.0,22.0,8.0],"inflate":0.5,"uv":[0.0,24.0],"mirror":false},{"origin":[-11.0,-0.75,-11.0],"size":[22.0,1.0,22.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone50","parent":"stage4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,26.0,1.0],"inflate":0.0,"uv":[33.0,34.0],"mirror":false}]},{"name":"bone51","parent":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,26.0,1.0],"inflate":0.0,"uv":[33.0,34.0],"mirror":false}]},{"name":"bone52","parent":"bone51","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,26.0,1.0],"inflate":0.0,"uv":[33.0,34.0],"mirror":false}]},{"name":"bone53","parent":"bone52","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,26.0,1.0],"inflate":0.0,"uv":[33.0,34.0],"mirror":false}]},{"name":"bone54","parent":"bone53","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,26.0,1.0],"inflate":0.0,"uv":[33.0,34.0],"mirror":false}]},{"name":"bone55","parent":"bone54","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-3.5,-0.0,-6.1],"size":[7.0,26.0,1.0],"inflate":0.0,"uv":[33.0,34.0],"mirror":false}]},{"name":"bone72","parent":"stage4","pivot":[36.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone73","parent":"bone72","pivot":[36.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false},{"origin":[-6.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false}]},{"name":"bone74","parent":"bone72","pivot":[36.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone75","parent":"bone74","pivot":[36.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[30.0,6.7918,25.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false},{"origin":[30.0,6.7918,25.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false}]},{"name":"bone76","parent":"bone74","pivot":[36.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone77","parent":"bone76","pivot":[36.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[66.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false},{"origin":[66.0,-1.0,-10.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false}]},{"name":"bone78","parent":"bone76","pivot":[36.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone79","parent":"bone78","pivot":[36.0,-0.0,-2.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[30.0,-8.7918,-45.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false},{"origin":[30.0,-8.7918,-45.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[33.0,24.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_one.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_one.json
new file mode 100644
index 00000000..5d8aa3d1
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_one.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_plant_one","texture_width":64,"texture_height":64},"bones":[{"name":"stage1","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,-0.0,-3.0],"size":[6.0,6.0,6.0],"inflate":0.25,"uv":[19.0,17.0],"mirror":false},{"origin":[-3.0,-0.0,-3.0],"size":[6.0,6.0,6.0],"inflate":0.0,"uv":[0.0,10.0],"mirror":false}]},{"name":"bone","parent":"stage1","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone3","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone15","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone16","parent":"bone15","pivot":[0.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone47","parent":"bone15","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone48","parent":"bone47","pivot":[0.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone14","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_three.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_three.json
new file mode 100644
index 00000000..5d81b8f4
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_three.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_plant_three","texture_width":64,"texture_height":64},"bones":[{"name":"stage3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,1.0,-4.0],"size":[8.0,16.0,8.0],"inflate":1.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.5,1.0,-2.5],"size":[5.0,14.0,5.0],"inflate":1.0,"uv":[36.0,34.0],"mirror":false},{"origin":[-5.0,18.0,-5.0],"size":[10.0,3.0,10.0],"inflate":0.0,"uv":[23.0,15.0],"mirror":false}]},{"name":"bone64","parent":"stage3","pivot":[36.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone65","parent":"bone64","pivot":[36.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false},{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false}]},{"name":"bone66","parent":"bone64","pivot":[36.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone68","parent":"bone66","pivot":[36.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone70","parent":"bone68","pivot":[36.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone71","parent":"bone70","pivot":[36.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[30.0,-8.7918,-43.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false},{"origin":[30.0,-8.7918,-43.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false}]},{"name":"bone69","parent":"bone68","pivot":[36.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[66.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false},{"origin":[66.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false}]},{"name":"bone67","parent":"bone66","pivot":[36.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[30.0,6.7918,27.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false},{"origin":[30.0,6.7918,27.1467],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,29.0],"mirror":false}]},{"name":"bone8","parent":"stage3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone7","parent":"bone8","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone10","parent":"bone7","pivot":[0.0,-0.0,-4.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-4.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"bone11","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone13","parent":"bone11","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone49","parent":"bone13","pivot":[0.0,-0.0,-4.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-4.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,-0.0,-4.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-4.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,-0.0,-4.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-4.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_two.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_two.json
new file mode 100644
index 00000000..dc7ce910
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/growth/root_plant_two.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_plant_two","texture_width":64,"texture_height":64},"bones":[{"name":"stage2","pivot":[76.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.5,-0.0,-3.5],"size":[7.0,11.0,7.0],"inflate":0.0,"uv":[0.0,27.0],"mirror":false},{"origin":[-2.5,-0.0,-2.5],"size":[5.0,7.0,5.0],"inflate":0.0,"uv":[36.0,12.0],"mirror":false},{"origin":[-3.5,11.0,-3.5],"size":[7.0,3.0,7.0],"inflate":0.0,"uv":[29.0,27.0],"mirror":false}]},{"name":"bone22","parent":"stage2","pivot":[38.25,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone20","parent":"bone22","pivot":[39.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone21","parent":"bone20","pivot":[39.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-0.5,-8.0],"size":[12.0,8.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone4","parent":"bone20","pivot":[39.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone5","parent":"bone4","pivot":[39.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[33.0,7.9411,30.0755],"size":[12.0,8.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone6","parent":"bone4","pivot":[39.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone17","parent":"bone6","pivot":[39.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[72.0,-0.5,-8.0],"size":[12.0,8.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone18","parent":"bone6","pivot":[39.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone19","parent":"bone18","pivot":[39.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[33.0,-8.9411,-46.0755],"size":[12.0,8.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone56","parent":"stage2","pivot":[56.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone57","parent":"bone56","pivot":[56.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false},{"origin":[-6.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false}]},{"name":"bone58","parent":"bone56","pivot":[56.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone59","parent":"bone58","pivot":[56.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[50.0,11.1206,46.6726],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false},{"origin":[50.0,11.1206,46.6726],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false}]},{"name":"bone60","parent":"bone58","pivot":[56.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone61","parent":"bone60","pivot":[56.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[106.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false},{"origin":[106.0,-1.0,-8.0],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false}]},{"name":"bone62","parent":"bone60","pivot":[56.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone63","parent":"bone62","pivot":[56.0,-0.0,0.0],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[50.0,-13.1206,-62.6726],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false},{"origin":[50.0,-13.1206,-62.6726],"size":[12.0,1.0,8.0],"inflate":0.0,"uv":[0.0,17.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/living/zeiton_glass.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/living/zeiton_glass.json
new file mode 100644
index 00000000..8e7ea44e
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/living/zeiton_glass.json
@@ -0,0 +1,96 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "geometry.unknown",
+ "texture_width": 16,
+ "texture_height": 16,
+ "visible_bounds_width": 4,
+ "visible_bounds_height": 3.5,
+ "visible_bounds_offset": [0, 1.25, 0]
+ },
+ "bones": [
+ {
+ "name": "bb_main",
+ "pivot": [0, 0, 0]
+ },
+ {
+ "name": "bone3",
+ "parent": "bb_main",
+ "pivot": [0, 8, 0]
+ },
+ {
+ "name": "bone",
+ "parent": "bone3",
+ "pivot": [0, 8, 0.1],
+ "rotation": [-45, 0, 0],
+ "cubes": [
+ {"origin": [-8, -3.38442, 0.02929], "size": [16, 22.62742, 0], "uv": [-12, 2]}
+ ]
+ },
+ {
+ "name": "bone2",
+ "parent": "bone3",
+ "pivot": [0, 8, -0.1],
+ "rotation": [45, 0, 0],
+ "cubes": [
+ {"origin": [-8, -3.38442, -0.02929], "size": [16, 22.62742, 0], "uv": [-12, 2]}
+ ]
+ },
+ {
+ "name": "bone4",
+ "parent": "bb_main",
+ "pivot": [0, 8, 0],
+ "rotation": [0, -90, 0]
+ },
+ {
+ "name": "bone5",
+ "parent": "bone4",
+ "pivot": [0, 8, 0.1],
+ "rotation": [-45, 0, 0],
+ "cubes": [
+ {"origin": [-8, -3.38442, 0.02929], "size": [16, 22.62742, 0], "uv": [-12, 2]}
+ ]
+ },
+ {
+ "name": "bone6",
+ "parent": "bone4",
+ "pivot": [0, 8, -0.1],
+ "rotation": [45, 0, 0],
+ "cubes": [
+ {"origin": [-8, -3.38442, -0.02929], "size": [16, 22.62742, 0], "uv": [-12, 2]}
+ ]
+ },
+ {
+ "name": "bone7",
+ "parent": "bb_main",
+ "pivot": [0, 8, 0],
+ "rotation": [-90, 0, 90]
+ },
+ {
+ "name": "bone8",
+ "parent": "bone7",
+ "pivot": [0, 8, 0.1],
+ "rotation": [-45, 0, 0],
+ "cubes": [
+ {"origin": [-8, -3.38442, 0.02929], "size": [16, 22.62742, 0], "uv": [-12, 2]}
+ ]
+ },
+ {
+ "name": "bone9",
+ "parent": "bone7",
+ "pivot": [0, 8, -0.1],
+ "rotation": [45, 0, 0],
+ "cubes": [
+ {"origin": [-8, -3.38442, -0.02929], "size": [16, 22.62742, 0], "uv": [-12, 2]}
+ ]
+ },
+ {
+ "name": "root",
+ "pivot": [0, 0, 0]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/big_ben_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/big_ben_shell.json
new file mode 100644
index 00000000..9f901500
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/big_ben_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"big_ben_shell","texture_width":256,"texture_height":256},"bones":[{"name":"bone28","pivot":[0.0,43.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-6.0,37.0,-8.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[106.0,41.0],"mirror":false}]},{"name":"bone29","parent":"bone28","pivot":[0.0,43.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-6.0,37.0,-8.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[106.0,41.0],"mirror":false}]},{"name":"bone30","parent":"bone29","pivot":[0.0,43.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-6.0,37.0,-8.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[106.0,41.0],"mirror":false}]},{"name":"door","pivot":[7.025,17.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.9999995,-0.0,-7.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[62.0,77.0],"mirror":false},{"origin":[-6.9999995,-0.0,-7.0],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[93.0,77.0],"mirror":false}]},{"name":"bone15","pivot":[-1.0,-0.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[{"origin":[-12.0,33.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[52.0,113.0],"mirror":true}]},{"name":"bone17","parent":"bone15","pivot":[-1.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,38.0,-9.0],"size":[4.0,9.0,4.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":true},{"origin":[-11.0,38.0,-9.0],"size":[4.0,9.0,4.0],"inflate":-0.25,"uv":[0.0,23.0],"mirror":true}]},{"name":"bone18","parent":"bone15","pivot":[-1.0,6.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-12.0,47.0,-10.0],"size":[5.0,6.0,5.0],"inflate":0.0,"uv":[110.0,21.0],"mirror":true},{"origin":[-12.0,53.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,113.0],"mirror":true}]},{"name":"bone16","parent":"bone15","pivot":[-1.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.5,-0.0,-9.5],"size":[4.0,18.0,4.0],"inflate":0.0,"uv":[35.0,113.0],"mirror":true},{"origin":[-11.0,-0.0,-9.0],"size":[3.0,34.0,3.0],"inflate":0.0,"uv":[13.0,103.0],"mirror":true},{"origin":[-10.5,-0.0,-8.5],"size":[2.0,34.0,2.0],"inflate":0.0,"uv":[26.0,113.0],"mirror":true}]},{"name":"bone27","pivot":[0.0,43.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-8.0],"size":[12.0,12.0,1.0],"inflate":0.0,"uv":[106.0,41.0],"mirror":false}]},{"name":"bone19","pivot":[1.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[7.0,33.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[52.0,113.0],"mirror":false}]},{"name":"bone20","parent":"bone19","pivot":[1.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.5,-0.0,-9.5],"size":[4.0,18.0,4.0],"inflate":0.0,"uv":[35.0,113.0],"mirror":false},{"origin":[8.0,-0.0,-9.0],"size":[3.0,34.0,3.0],"inflate":0.0,"uv":[13.0,103.0],"mirror":false},{"origin":[8.5,-0.0,-8.5],"size":[2.0,34.0,2.0],"inflate":0.0,"uv":[26.0,113.0],"mirror":false}]},{"name":"bone21","parent":"bone19","pivot":[1.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.0,38.0,-9.0],"size":[4.0,9.0,4.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false},{"origin":[7.0,38.0,-9.0],"size":[4.0,9.0,4.0],"inflate":-0.25,"uv":[0.0,23.0],"mirror":false}]},{"name":"bone22","parent":"bone19","pivot":[1.0,6.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.0,47.0,-10.0],"size":[5.0,6.0,5.0],"inflate":0.0,"uv":[110.0,21.0],"mirror":false},{"origin":[7.0,53.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,113.0],"mirror":false}]},{"name":"W_small_hand","pivot":[8.0,43.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.5,41.0,-0.475],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[60.0,56.0],"mirror":false}]},{"name":"bone5","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,33.0,-11.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[52.0,113.0],"mirror":true}]},{"name":"bone7","parent":"bone5","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,38.0,-10.0],"size":[4.0,9.0,4.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":true},{"origin":[-10.0,38.0,-10.0],"size":[4.0,9.0,4.0],"inflate":-0.25,"uv":[0.0,23.0],"mirror":true}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,-0.0,-10.5],"size":[4.0,18.0,4.0],"inflate":0.0,"uv":[35.0,113.0],"mirror":true},{"origin":[-10.0,-0.0,-10.0],"size":[3.0,34.0,3.0],"inflate":0.0,"uv":[13.0,103.0],"mirror":true},{"origin":[-9.5,-0.0,-9.5],"size":[2.0,34.0,2.0],"inflate":0.0,"uv":[26.0,113.0],"mirror":true}]},{"name":"bone8","parent":"bone5","pivot":[0.0,6.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,47.0,-11.0],"size":[5.0,6.0,5.0],"inflate":0.0,"uv":[110.0,21.0],"mirror":true},{"origin":[-11.0,53.0,-11.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,113.0],"mirror":true}]},{"name":"E_big_hand","pivot":[-8.0,43.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.475,41.0,-0.475],"size":[1.0,7.0,1.0],"inflate":0.0,"uv":[60.0,47.0],"mirror":true}]},{"name":"bone4","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.0,33.0,-11.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[52.0,113.0],"mirror":false}]},{"name":"bone3","parent":"bone4","pivot":[0.0,6.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.0,47.0,-11.0],"size":[5.0,6.0,5.0],"inflate":0.0,"uv":[110.0,21.0],"mirror":false},{"origin":[6.0,53.0,-11.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,113.0],"mirror":false}]},{"name":"bone2","parent":"bone4","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.0,38.0,-10.0],"size":[4.0,9.0,4.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false},{"origin":[6.0,38.0,-10.0],"size":[4.0,9.0,4.0],"inflate":-0.25,"uv":[0.0,23.0],"mirror":false}]},{"name":"bone","parent":"bone4","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.5,-0.0,-10.5],"size":[4.0,18.0,4.0],"inflate":0.0,"uv":[35.0,113.0],"mirror":false},{"origin":[7.0,-0.0,-10.0],"size":[3.0,34.0,3.0],"inflate":0.0,"uv":[13.0,103.0],"mirror":false},{"origin":[7.5,-0.0,-9.5],"size":[2.0,34.0,2.0],"inflate":0.0,"uv":[26.0,113.0],"mirror":false}]},{"name":"N_big_hand","pivot":[0.0,43.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,41.0,-8.5],"size":[1.0,7.0,1.0],"inflate":0.0,"uv":[55.0,47.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"E_small_hand","pivot":[-8.0,43.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.5,41.0,-0.475],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[60.0,56.0],"mirror":true}]},{"name":"bone9","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone10","parent":"bone9","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone11","parent":"bone10","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"root_r3","parent":"bone11","pivot":[0.0,60.0,-3.25],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-5.0,59.8377,-4.9822],"size":[10.0,12.0,1.0],"inflate":0.0,"uv":[107.0,0.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"root_r4","parent":"bone12","pivot":[0.0,60.0,-3.25],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-5.0,59.8377,-4.9822],"size":[10.0,12.0,1.0],"inflate":0.0,"uv":[107.0,0.0],"mirror":false}]},{"name":"root_r2","parent":"bone10","pivot":[0.0,60.0,-3.25],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-5.0,59.8377,-4.9822],"size":[10.0,12.0,1.0],"inflate":0.0,"uv":[107.0,0.0],"mirror":false}]},{"name":"root_r1","parent":"bone9","pivot":[0.0,60.0,-3.25],"rotation":[-12.501938983203612,0.0,0.0],"cubes":[{"origin":[-5.0,59.8377,-4.9822],"size":[10.0,12.0,1.0],"inflate":0.0,"uv":[107.0,0.0],"mirror":false}]},{"name":"bone24","pivot":[0.0,34.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"root_r5","parent":"bone24","pivot":[0.0,34.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,34.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"root_r6","parent":"bone24","pivot":[0.0,49.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,49.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"bone23","parent":"bone24","pivot":[0.0,34.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"root_r7","parent":"bone23","pivot":[0.0,34.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,34.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"root_r8","parent":"bone23","pivot":[0.0,49.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,49.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"bone25","parent":"bone23","pivot":[0.0,34.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone26","parent":"bone25","pivot":[0.0,34.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"root_r12","parent":"bone26","pivot":[0.0,49.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,49.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"root_r11","parent":"bone26","pivot":[0.0,34.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,34.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"root_r9","parent":"bone25","pivot":[0.0,34.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,34.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"root_r10","parent":"bone25","pivot":[0.0,49.0,-10.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.0,49.0,-10.0],"size":[14.0,3.0,2.0],"inflate":0.0,"uv":[106.0,55.0],"mirror":false}]},{"name":"N_small_hand","pivot":[0.0,43.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,41.0,-8.525],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[55.0,56.0],"mirror":false}]},{"name":"S_small_hand","pivot":[0.0,43.0,8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,41.0,7.525],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[55.0,56.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,34.0,-10.0],"size":[20.0,3.0,20.0],"inflate":0.0,"uv":[0.0,23.0],"mirror":false},{"origin":[-9.0,33.5,-9.0],"size":[18.0,1.0,18.0],"inflate":-0.47499998410542804,"uv":[0.0,47.0],"mirror":false},{"origin":[-10.5,-0.9,-10.5],"size":[21.0,1.0,21.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-10.0,49.0,-10.0],"size":[20.0,3.0,20.0],"inflate":0.0,"uv":[0.0,23.0],"mirror":false},{"origin":[-8.0,51.0,-8.0],"size":[16.0,9.0,16.0],"inflate":0.0,"uv":[57.0,51.0],"mirror":false},{"origin":[-2.0,60.0,-2.0],"size":[4.0,14.0,4.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-8.0,60.0,-8.0],"size":[16.0,1.0,16.0],"inflate":0.0,"uv":[61.0,23.0],"mirror":false},{"origin":[-7.0,60.0,-7.0],"size":[14.0,6.0,14.0],"inflate":0.0,"uv":[64.0,0.0],"mirror":false},{"origin":[-7.0,53.0,-7.0],"size":[14.0,6.0,14.0],"inflate":3.0,"uv":[64.0,0.0],"mirror":false},{"origin":[-8.5,-0.0,5.5],"size":[3.0,34.0,3.0],"inflate":0.0,"uv":[0.0,103.0],"mirror":false},{"origin":[5.5,-0.0,5.5],"size":[3.0,34.0,3.0],"inflate":0.0,"uv":[0.0,103.0],"mirror":true}]},{"name":"sides","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,-0.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[31.0,77.0],"mirror":false},{"origin":[-7.0,-0.0,-9.4],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,67.0],"mirror":false}]},{"name":"bone13","parent":"sides","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,-0.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[31.0,77.0],"mirror":false},{"origin":[-7.0,-0.0,-9.4],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,67.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,-0.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[31.0,77.0],"mirror":false},{"origin":[-7.0,-0.0,-9.4],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,67.0],"mirror":false}]},{"name":"W_big_hand","pivot":[8.0,43.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.475,41.0,-0.475],"size":[1.0,7.0,1.0],"inflate":0.0,"uv":[60.0,47.0],"mirror":false}]},{"name":"S_big_hand","pivot":[0.0,43.0,8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,41.0,7.5],"size":[1.0,7.0,1.0],"inflate":0.0,"uv":[55.0,47.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/briefcase_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/briefcase_shell.json
new file mode 100644
index 00000000..a1a79b94
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/briefcase_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"briefcase_shell","texture_width":128,"texture_height":128},"bones":[{"name":"door","pivot":[0.0,4.5,7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,6.0,-7.0],"size":[20.0,3.0,14.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false},{"origin":[-7.0,4.5,6.5],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[0.0,6.0],"mirror":true},{"origin":[4.0,4.5,6.5],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[0.0,6.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,-0.0,-7.0],"size":[20.0,6.0,14.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false},{"origin":[-10.0,0.25,-7.0],"size":[20.0,6.0,14.0],"inflate":0.25,"uv":[0.0,0.0],"mirror":false},{"origin":[-5.0,2.25,-10.0],"size":[10.0,2.0,3.0],"inflate":0.0,"uv":[55.0,21.0],"mirror":false},{"origin":[-8.0,4.5,-8.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[5.0,4.5,-8.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":true}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"door_cover","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,5.35,-6.0],"size":[18.0,1.0,12.0],"inflate":0.25,"uv":[55.0,0.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/castle_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/castle_shell.json
new file mode 100644
index 00000000..cf069287
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/castle_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"castle_shell","texture_width":128,"texture_height":128},"bones":[{"name":"bone38","pivot":[9.0,36.0,-13.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone39","parent":"bone38","pivot":[-12.0,1.5,-7.25],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r15","parent":"bone39","pivot":[-11.75,-0.75,-7.25],"rotation":[-69.99825114277021,82.50019524861571,0.0],"cubes":[{"origin":[-13.25,-3.75,-9.25],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r16","parent":"bone39","pivot":[-9.5,2.0,-9.0],"rotation":[-20.00195626738305,57.50204439582754,0.0],"cubes":[{"origin":[-11.0,-1.0,-11.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r17","parent":"bone39","pivot":[-9.5,6.0,-9.0],"rotation":[7.500017284179439,77.49827013449695,0.0],"cubes":[{"origin":[-11.0,3.0,-11.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r12","parent":"bone39","pivot":[-9.5,0.25,-7.75],"rotation":[-39.99818200605246,84.99828912622368,0.0],"cubes":[{"origin":[-11.0,-2.75,-9.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r13","parent":"bone39","pivot":[-12.0,1.5,-7.25],"rotation":[-35.97602020761535,61.77630847652982,-39.48825032790307],"cubes":[{"origin":[-13.5,0.5,-7.25],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,73.0],"mirror":false}]},{"name":"cube_r14","parent":"bone39","pivot":[-11.5,2.25,-4.75],"rotation":[-5.001921699024173,84.99828912622368,0.0],"cubes":[{"origin":[-13.0,-0.75,-6.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r10","parent":"bone38","pivot":[5.0,34.75,-13.0],"rotation":[-60.00013827343551,-27.50197355156249,0.0],"cubes":[{"origin":[3.5,31.75,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r4","parent":"bone38","pivot":[-9.0,36.0,-13.0],"rotation":[-15.000034568358878,67.50015726516224,0.0],"cubes":[{"origin":[-10.5,33.0,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r5","parent":"bone38","pivot":[-6.0,35.75,-13.0],"rotation":[-35.00199083574193,20.00195626738305,0.0],"cubes":[{"origin":[-7.5,32.75,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r6","parent":"bone38","pivot":[-4.0,35.0,-13.0],"rotation":[-30.000069136717755,-15.000034568358878,0.0],"cubes":[{"origin":[-5.5,32.0,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"bone40","parent":"bone38","pivot":[12.0,1.5,-7.25],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r20","parent":"bone40","pivot":[11.5,2.25,-4.75],"rotation":[-5.001921699024173,-84.99828912622368,0.0],"cubes":[{"origin":[10.0,-0.75,-6.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r21","parent":"bone40","pivot":[11.75,-0.75,-7.25],"rotation":[-69.99825114277021,-82.50019524861571,0.0],"cubes":[{"origin":[10.25,-3.75,-9.25],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r19","parent":"bone40","pivot":[12.0,1.5,-7.25],"rotation":[-35.97602020761535,-61.77630847652982,39.48825032790307],"cubes":[{"origin":[10.5,0.5,-7.25],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,67.0],"mirror":true}]},{"name":"cube_r26","parent":"bone40","pivot":[9.5,2.0,-9.0],"rotation":[-20.00195626738305,-57.50204439582754,0.0],"cubes":[{"origin":[8.0,-1.0,-11.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r27","parent":"bone40","pivot":[9.5,6.0,-9.0],"rotation":[7.500017284179439,-77.49827013449695,0.0],"cubes":[{"origin":[8.0,3.0,-11.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r18","parent":"bone40","pivot":[9.5,0.25,-7.75],"rotation":[-39.99818200605246,-84.99828912622368,0.0],"cubes":[{"origin":[8.0,-2.75,-9.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r22","parent":"bone40","pivot":[9.5,10.75,-13.75],"rotation":[-54.99821998950593,-50.002025404100806,0.0],"cubes":[{"origin":[8.0,7.75,-15.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r23","parent":"bone40","pivot":[9.5,15.5,-13.75],"rotation":[15.000034568358878,-69.99825114277021,0.0],"cubes":[{"origin":[8.0,12.5,-15.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r24","parent":"bone40","pivot":[9.5,6.5,-13.75],"rotation":[-32.498166429420316,-22.500051852538316,0.0],"cubes":[{"origin":[8.0,3.5,-15.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r25","parent":"bone40","pivot":[10.25,4.0,-14.25],"rotation":[7.500017284179439,-54.99821998950593,0.0],"cubes":[{"origin":[8.75,1.0,-16.25],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r7","parent":"bone38","pivot":[0.0,36.0,-13.0],"rotation":[-30.000069136717755,-2.4980960120420894,0.0],"cubes":[{"origin":[-1.5,33.0,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r11","parent":"bone38","pivot":[4.0,35.0,-13.0],"rotation":[-32.498166429420316,0.0,0.0],"cubes":[{"origin":[2.5,32.0,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r1","parent":"bone38","pivot":[9.0,36.0,-13.0],"rotation":[-15.000034568358878,-67.50015726516224,0.0],"cubes":[{"origin":[7.5,33.0,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":true}]},{"name":"cube_r2","parent":"bone38","pivot":[-9.25,16.0,-13.0],"rotation":[-20.00195626738305,57.50204439582754,0.0],"cubes":[{"origin":[-10.75,13.0,-15.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r3","parent":"bone38","pivot":[-10.0,24.0,-13.75],"rotation":[7.500017284179439,114.9983650931306,0.0],"cubes":[{"origin":[-11.5,21.0,-15.75],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r8","parent":"bone38","pivot":[4.25,35.0,-13.5],"rotation":[0.0,0.0,12.501938983203612],"cubes":[{"origin":[2.75,34.0,-14.0],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,73.0],"mirror":false}]},{"name":"cube_r9","parent":"bone38","pivot":[-3.75,35.0,-13.5],"rotation":[0.0,0.0,-17.498131861061438],"cubes":[{"origin":[-5.25,34.0,-14.0],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,67.0],"mirror":false}]},{"name":"bone16","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone17","parent":"bone16","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone18","parent":"bone17","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone19","parent":"bone18","pivot":[0.0,42.0,-13.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.5,41.0,-13.0],"size":[15.0,1.0,13.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"cube_r42","parent":"bone19","pivot":[7.5,42.0,-13.0],"rotation":[0.0,-25.250249719958752,0.0],"cubes":[{"origin":[5.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]},{"name":"cube_r43","parent":"bone19","pivot":[-7.5,42.0,-13.0],"rotation":[0.0,25.250249719958752,0.0],"cubes":[{"origin":[-7.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"bone20","parent":"bone18","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone21","parent":"bone20","pivot":[0.0,42.0,-13.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.5,41.0,-13.0],"size":[15.0,1.0,13.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"cube_r44","parent":"bone21","pivot":[7.5,42.0,-13.0],"rotation":[0.0,-25.250249719958752,0.0],"cubes":[{"origin":[5.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]},{"name":"cube_r45","parent":"bone21","pivot":[-7.5,42.0,-13.0],"rotation":[0.0,25.250249719958752,0.0],"cubes":[{"origin":[-7.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"bone24","parent":"bone20","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone26","parent":"bone24","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone27","parent":"bone26","pivot":[0.0,42.0,-13.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.5,41.0,-13.0],"size":[15.0,1.0,13.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"cube_r48","parent":"bone27","pivot":[7.5,42.0,-13.0],"rotation":[0.0,-25.250249719958752,0.0],"cubes":[{"origin":[5.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]},{"name":"cube_r49","parent":"bone27","pivot":[-7.5,42.0,-13.0],"rotation":[0.0,25.250249719958752,0.0],"cubes":[{"origin":[-7.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"bone25","parent":"bone24","pivot":[0.0,42.0,-13.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.5,41.0,-13.0],"size":[15.0,1.0,13.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"cube_r46","parent":"bone25","pivot":[7.5,42.0,-13.0],"rotation":[0.0,-25.250249719958752,0.0],"cubes":[{"origin":[5.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]},{"name":"cube_r47","parent":"bone25","pivot":[-7.5,42.0,-13.0],"rotation":[0.0,25.250249719958752,0.0],"cubes":[{"origin":[-7.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"bone23","parent":"bone17","pivot":[0.0,42.0,-13.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.5,41.0,-13.0],"size":[15.0,1.0,13.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"cube_r40","parent":"bone23","pivot":[7.5,42.0,-13.0],"rotation":[0.0,-25.250249719958752,0.0],"cubes":[{"origin":[5.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]},{"name":"cube_r41","parent":"bone23","pivot":[-7.5,42.0,-13.0],"rotation":[0.0,25.250249719958752,0.0],"cubes":[{"origin":[-7.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"bone22","parent":"bone16","pivot":[0.0,42.0,-13.0],"rotation":[35.00199083574193,0.0,0.0],"cubes":[{"origin":[-7.5,41.0,-13.0],"size":[15.0,1.0,13.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false}]},{"name":"cube_r38","parent":"bone22","pivot":[-7.5,42.0,-13.0],"rotation":[0.0,25.250249719958752,0.0],"cubes":[{"origin":[-7.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"cube_r39","parent":"bone22","pivot":[7.5,42.0,-13.0],"rotation":[0.0,-25.250249719958752,0.0],"cubes":[{"origin":[5.5,40.975,-13.0],"size":[2.0,1.0,14.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]},{"name":"blackbox","pivot":[0.0,-0.0,-4.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,-0.0,-10.25],"size":[1.0,33.0,5.0],"inflate":0.0,"uv":[67.0,46.0],"mirror":true},{"origin":[8.0,-0.0,-10.25],"size":[1.0,33.0,5.0],"inflate":0.0,"uv":[67.0,46.0],"mirror":false},{"origin":[-8.0,33.0,-13.25],"size":[16.0,1.0,8.0],"inflate":0.0,"uv":[33.0,15.0],"mirror":false},{"origin":[-8.0,-0.0,-5.25],"size":[16.0,33.0,1.0],"inflate":0.0,"uv":[0.0,46.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,48.0,-3.0],"size":[6.0,5.0,6.0],"inflate":0.0,"uv":[74.0,79.0],"mirror":false}]},{"name":"l_door","pivot":[7.5,16.0,-13.5],"rotation":[0.0,90.00020741015327,0.0],"cubes":[{"origin":[-0.25,-0.0,-14.0],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[48.0,46.0],"mirror":false}]},{"name":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,32.0,-13.0],"size":[15.0,10.0,1.0],"inflate":0.0,"uv":[77.0,0.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.0,-13.0],"size":[15.0,42.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.0,-13.0],"size":[15.0,42.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-5.5,21.0,-14.0],"size":[11.0,11.0,1.0],"inflate":0.0,"uv":[80.0,41.0],"mirror":false},{"origin":[-6.5,18.0,-15.0],"size":[13.0,3.0,2.0],"inflate":0.0,"uv":[80.0,54.0],"mirror":false}]},{"name":"bone28","parent":"bone5","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.5,21.0,-14.5],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,73.0],"mirror":false},{"origin":[-5.25,21.0,-14.75],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,67.0],"mirror":false},{"origin":[-1.25,19.0,-14.75],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,67.0],"mirror":false}]},{"name":"cube_r30","parent":"bone28","pivot":[-4.0,21.0,-14.0],"rotation":[-39.99818200605246,32.498166429420316,0.0],"cubes":[{"origin":[-5.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r31","parent":"bone28","pivot":[-2.0,21.5,-14.0],"rotation":[0.0,0.0,-15.000034568358878],"cubes":[{"origin":[-3.5,20.5,-14.5],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,73.0],"mirror":false}]},{"name":"cube_r32","parent":"bone28","pivot":[2.0,21.0,-14.0],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[0.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r28","parent":"bone28","pivot":[4.0,21.0,-14.0],"rotation":[-39.99818200605246,-30.000069136717755,0.0],"cubes":[{"origin":[2.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r29","parent":"bone28","pivot":[-3.0,21.0,-14.0],"rotation":[-39.99818200605246,-30.000069136717755,0.0],"cubes":[{"origin":[-4.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.0,-13.0],"size":[15.0,42.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone7","parent":"bone6","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.0,-13.0],"size":[15.0,42.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-5.5,21.0,-14.0],"size":[11.0,11.0,1.0],"inflate":0.0,"uv":[80.0,41.0],"mirror":false},{"origin":[-6.5,18.0,-15.0],"size":[13.0,3.0,2.0],"inflate":0.0,"uv":[80.0,54.0],"mirror":false}]},{"name":"bone29","parent":"bone7","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.5,21.0,-14.5],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,73.0],"mirror":false},{"origin":[-5.25,21.0,-14.75],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,67.0],"mirror":false},{"origin":[-1.25,19.0,-14.75],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,67.0],"mirror":false}]},{"name":"cube_r37","parent":"bone29","pivot":[2.0,21.0,-14.0],"rotation":[-39.99818200605246,0.0,0.0],"cubes":[{"origin":[0.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r33","parent":"bone29","pivot":[4.0,21.0,-14.0],"rotation":[-39.99818200605246,-30.000069136717755,0.0],"cubes":[{"origin":[2.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r34","parent":"bone29","pivot":[-3.0,21.0,-14.0],"rotation":[-39.99818200605246,-30.000069136717755,0.0],"cubes":[{"origin":[-4.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r35","parent":"bone29","pivot":[-4.0,21.0,-14.0],"rotation":[-39.99818200605246,32.498166429420316,0.0],"cubes":[{"origin":[-5.5,18.0,-16.0],"size":[3.0,3.0,2.0],"inflate":0.0,"uv":[64.0,32.0],"mirror":false}]},{"name":"cube_r36","parent":"bone29","pivot":[-2.0,21.5,-14.0],"rotation":[0.0,0.0,-15.000034568358878],"cubes":[{"origin":[-3.5,20.5,-14.5],"size":[3.0,4.0,1.0],"inflate":0.0,"uv":[80.0,73.0],"mirror":false}]},{"name":"bone9","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.0,-13.0],"size":[15.0,42.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":true}]},{"name":"r_door","pivot":[-7.5,16.0,-13.5],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.75,-0.0,-14.0],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[48.0,46.0],"mirror":true}]},{"name":"bone10","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.5,38.0,-14.725],"size":[17.0,4.0,2.0],"inflate":0.0,"uv":[74.0,15.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,38.0,-14.725],"size":[17.0,4.0,2.0],"inflate":0.0,"uv":[74.0,15.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,38.0,-14.725],"size":[17.0,4.0,2.0],"inflate":0.0,"uv":[74.0,15.0],"mirror":false}]},{"name":"bone13","parent":"bone12","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,38.0,-14.725],"size":[17.0,4.0,2.0],"inflate":0.0,"uv":[74.0,15.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,38.0,-14.725],"size":[17.0,4.0,2.0],"inflate":0.0,"uv":[74.0,15.0],"mirror":false}]},{"name":"bone15","parent":"bone14","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-8.5,38.0,-14.725],"size":[17.0,4.0,2.0],"inflate":0.0,"uv":[74.0,15.0],"mirror":false}]},{"name":"bone32","pivot":[0.0,-1.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,-0.79999995,-13.0],"size":[15.0,1.0,14.0],"inflate":0.0,"uv":[19.0,30.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,-1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.79999995,-13.0],"size":[15.0,1.0,14.0],"inflate":0.0,"uv":[19.0,30.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,-1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.79999995,-13.0],"size":[15.0,1.0,14.0],"inflate":0.0,"uv":[19.0,30.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[0.0,-1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.79999995,-13.0],"size":[15.0,1.0,14.0],"inflate":0.0,"uv":[19.0,30.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,-1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.79999995,-13.0],"size":[15.0,1.0,14.0],"inflate":0.0,"uv":[19.0,30.0],"mirror":false}]},{"name":"bone37","parent":"bone36","pivot":[0.0,-1.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-7.5,-0.79999995,-13.0],"size":[15.0,1.0,14.0],"inflate":0.0,"uv":[19.0,30.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone8","pivot":[0.0,-0.0,-20.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,-0.0,-13.0],"size":[3.0,36.0,3.0],"inflate":0.0,"uv":[35.0,46.0],"mirror":false},{"origin":[7.5,-0.0,-13.0],"size":[3.0,36.0,3.0],"inflate":0.0,"uv":[35.0,46.0],"mirror":true},{"origin":[-2.5,32.0,-15.0],"size":[5.0,4.0,2.0],"inflate":0.0,"uv":[48.0,80.0],"mirror":false},{"origin":[2.5,32.0,-15.0],"size":[4.0,3.0,2.0],"inflate":0.0,"uv":[33.0,7.0],"mirror":false},{"origin":[6.5,32.0,-15.0],"size":[4.0,4.0,2.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false},{"origin":[-10.5,32.0,-15.0],"size":[4.0,4.0,2.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":true},{"origin":[-6.5,32.0,-15.0],"size":[4.0,3.0,2.0],"inflate":0.0,"uv":[33.0,7.0],"mirror":true}]},{"name":"bone2","parent":"bone8","pivot":[0.0,-0.0,-20.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.5,-0.0,-15.0],"size":[4.0,4.0,2.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":true},{"origin":[-10.5,4.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true},{"origin":[-11.5,8.0,-15.0],"size":[4.0,4.0,2.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":true},{"origin":[-10.5,12.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true},{"origin":[-9.5,16.0,-15.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[80.0,60.0],"mirror":true},{"origin":[-10.5,20.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true},{"origin":[-9.5,24.0,-15.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[80.0,60.0],"mirror":true},{"origin":[-10.5,28.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":true}]},{"name":"bone","parent":"bone8","pivot":[0.0,-0.0,-20.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.5,-0.0,-15.0],"size":[4.0,4.0,2.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false},{"origin":[7.5,4.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false},{"origin":[7.5,8.0,-15.0],"size":[4.0,4.0,2.0],"inflate":0.0,"uv":[33.0,0.0],"mirror":false},{"origin":[7.5,12.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false},{"origin":[7.5,16.0,-15.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[80.0,60.0],"mirror":false},{"origin":[7.5,20.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false},{"origin":[7.5,24.0,-15.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[80.0,60.0],"mirror":false},{"origin":[7.5,28.0,-15.0],"size":[3.0,4.0,2.0],"inflate":0.0,"uv":[64.0,25.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/drifter_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/drifter_shell.json
new file mode 100644
index 00000000..c8360371
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/drifter_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"drifter_shell","texture_width":256,"texture_height":256},"bones":[{"name":"door_open","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,2.0,-9.0],"size":[14.0,30.0,1.0],"inflate":0.0,"uv":[33.0,133.0],"mirror":false},{"origin":[-7.5,1.5,-8.5],"size":[15.0,31.0,1.0],"inflate":0.0,"uv":[0.0,119.0],"mirror":false}]},{"name":"door_closed","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,2.0,-9.0],"size":[14.0,30.0,1.0],"inflate":0.0,"uv":[33.0,85.0],"mirror":false},{"origin":[-7.5,1.5,-8.5],"size":[15.0,31.0,1.0],"inflate":0.0,"uv":[0.0,71.0],"mirror":false}]},{"name":"bone32","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.5,-0.0,-9.5],"size":[2.0,35.0,2.0],"inflate":0.0,"uv":[64.0,93.0],"mirror":false},{"origin":[-10.5,16.0,-2.5],"size":[2.0,2.0,9.0],"inflate":0.0,"uv":[101.0,37.0],"mirror":false},{"origin":[-9.4,0.024999619,1.0],"size":[1.0,11.0,6.0],"inflate":0.0,"uv":[101.0,49.0],"mirror":false},{"origin":[7.5,-0.0,-9.5],"size":[2.0,35.0,2.0],"inflate":0.0,"uv":[64.0,93.0],"mirror":true},{"origin":[7.5,-0.0,-7.5],"size":[1.0,33.0,15.0],"inflate":0.0,"uv":[0.0,22.0],"mirror":true},{"origin":[-7.5,-0.0,7.5],"size":[15.0,33.0,1.0],"inflate":0.0,"uv":[68.0,39.0],"mirror":false},{"origin":[-8.5,-0.0,-7.5],"size":[1.0,33.0,15.0],"inflate":0.0,"uv":[0.0,22.0],"mirror":false},{"origin":[7.5,-0.0,7.5],"size":[2.0,35.0,2.0],"inflate":0.0,"uv":[64.0,93.0],"mirror":true},{"origin":[-9.5,-0.0,7.5],"size":[2.0,35.0,2.0],"inflate":0.0,"uv":[64.0,93.0],"mirror":false},{"origin":[-8.0,0.025001526,-7.75],"size":[16.0,32.0,1.0],"inflate":0.0,"uv":[33.0,39.0],"mirror":false},{"origin":[-9.5,32.0,-9.5],"size":[19.0,2.0,19.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-7.5,-0.0,-7.5],"size":[15.0,1.0,15.0],"inflate":0.0,"uv":[33.0,22.0],"mirror":false},{"origin":[-7.0,-0.0,-10.5],"size":[14.0,2.0,2.0],"inflate":0.0,"uv":[58.0,11.0],"mirror":false},{"origin":[6.4,-0.5,-11.0],"size":[1.0,3.0,3.0],"inflate":0.0,"uv":[101.0,37.0],"mirror":false},{"origin":[-7.4,-0.5,-11.0],"size":[1.0,3.0,3.0],"inflate":0.0,"uv":[101.0,37.0],"mirror":false},{"origin":[-1.0,33.0,-1.0],"size":[2.0,11.0,2.0],"inflate":0.0,"uv":[9.0,104.0],"mirror":false},{"origin":[8.0,17.0,-3.0],"size":[1.0,12.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[8.0,8.0,3.75],"size":[1.0,8.0,3.0],"inflate":0.0,"uv":[99.0,106.0],"mirror":false},{"origin":[7.75,26.0,-8.0],"size":[1.0,2.0,16.0],"inflate":0.0,"uv":[70.0,74.0],"mirror":true},{"origin":[-8.75,26.0,-8.0],"size":[1.0,2.0,16.0],"inflate":0.0,"uv":[70.0,74.0],"mirror":false},{"origin":[7.0,0.024999619,-6.5],"size":[3.0,22.0,3.0],"inflate":0.0,"uv":[73.0,93.0],"mirror":true},{"origin":[6.5,5.0,-7.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[102.0,0.0],"mirror":true},{"origin":[6.0,0.025000095,0.5],"size":[4.0,4.0,7.0],"inflate":0.0,"uv":[94.0,11.0],"mirror":false},{"origin":[6.0,4.025,1.0],"size":[3.0,3.0,6.0],"inflate":0.0,"uv":[101.0,87.0],"mirror":false},{"origin":[6.5,5.0,-3.0],"size":[3.0,4.0,3.0],"inflate":0.0,"uv":[86.0,106.0],"mirror":true},{"origin":[6.5,20.5,-7.0],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[101.0,67.0],"mirror":true},{"origin":[6.5,-0.5,-7.0],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[101.0,67.0],"mirror":true},{"origin":[7.0,0.024999619,-2.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,104.0],"mirror":true},{"origin":[6.5,10.5,-3.0],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[77.0,16.0],"mirror":true},{"origin":[6.5,0.5,-3.0],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[77.0,16.0],"mirror":true},{"origin":[-9.5,5.0,-2.5],"size":[3.0,4.0,3.0],"inflate":0.0,"uv":[86.0,106.0],"mirror":false},{"origin":[-9.0,0.024999619,-2.0],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,104.0],"mirror":false},{"origin":[-9.5,10.5,-2.5],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[77.0,16.0],"mirror":false},{"origin":[-9.5,0.5,-2.5],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[77.0,16.0],"mirror":false},{"origin":[-6.5,5.0,6.5],"size":[3.0,4.0,3.0],"inflate":0.0,"uv":[86.0,106.0],"mirror":false},{"origin":[-2.5,0.024999619,7.0],"size":[9.0,9.0,3.0],"inflate":0.0,"uv":[18.0,22.0],"mirror":false},{"origin":[2.5,9.025,8.5],"size":[3.0,6.0,1.0],"inflate":0.0,"uv":[33.0,73.0],"mirror":false},{"origin":[-0.5,9.025,8.5],"size":[2.0,4.0,1.0],"inflate":0.0,"uv":[9.0,0.0],"mirror":false},{"origin":[-6.0,0.024999619,7.0],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,104.0],"mirror":false},{"origin":[-6.5,10.5,6.5],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[77.0,16.0],"mirror":false},{"origin":[-6.5,0.5,6.5],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[77.0,16.0],"mirror":false},{"origin":[-10.0,0.024999619,-6.5],"size":[3.0,22.0,3.0],"inflate":0.0,"uv":[73.0,93.0],"mirror":false},{"origin":[-10.5,-0.5,-7.0],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[101.0,67.0],"mirror":false},{"origin":[-10.5,20.5,-7.0],"size":[4.0,1.0,4.0],"inflate":0.0,"uv":[101.0,67.0],"mirror":false},{"origin":[-10.5,10.0,-7.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[102.0,0.0],"mirror":false}]},{"name":"bone28","parent":"bone32","pivot":[-8.4,4.0,4.0],"rotation":[0.0,0.0,-35.00199083574193],"cubes":[{"origin":[-10.9,3.0,1.5],"size":[3.0,1.0,5.0],"inflate":0.0,"uv":[89.0,83.0],"mirror":false}]},{"name":"bone17","parent":"bone32","pivot":[0.0,32.5,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[]},{"name":"bone18","parent":"bone17","pivot":[0.0,33.0,-13.0],"rotation":[67.50015726516224,0.0,0.0],"cubes":[{"origin":[-1.0,24.0,-13.0],"size":[1.0,9.0,12.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false}]},{"name":"bone19","parent":"bone17","pivot":[0.0,32.5,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone20","parent":"bone19","pivot":[0.0,33.0,-13.0],"rotation":[67.50015726516224,0.0,0.0],"cubes":[{"origin":[-1.0,24.0,-13.0],"size":[1.0,9.0,12.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false}]},{"name":"bone21","parent":"bone19","pivot":[0.0,32.5,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone22","parent":"bone21","pivot":[0.0,33.0,-13.0],"rotation":[67.50015726516224,0.0,0.0],"cubes":[{"origin":[-1.0,24.0,-13.0],"size":[1.0,9.0,12.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false}]},{"name":"bone23","parent":"bone21","pivot":[0.0,32.5,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone24","parent":"bone23","pivot":[0.0,33.0,-13.0],"rotation":[67.50015726516224,0.0,0.0],"cubes":[{"origin":[-1.0,24.0,-13.0],"size":[1.0,9.0,12.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false}]},{"name":"bone29","parent":"bone32","pivot":[-8.4,6.5,4.0],"rotation":[0.0,0.0,-35.00199083574193],"cubes":[{"origin":[-10.4,5.5,1.5],"size":[2.0,1.0,5.0],"inflate":0.0,"uv":[18.0,104.0],"mirror":false}]},{"name":"bone26","parent":"bone32","pivot":[9.0,15.0,5.25],"rotation":[0.0,0.0,-5.001921699024173],"cubes":[{"origin":[8.0,9.0,4.25],"size":[1.0,6.0,2.0],"inflate":0.0,"uv":[86.0,93.0],"mirror":false}]},{"name":"bone27","parent":"bone32","pivot":[-10.0,17.25,-0.5],"rotation":[0.0,0.0,32.498166429420316],"cubes":[{"origin":[-10.8735,16.3306,-3.0],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[86.0,93.0],"mirror":false}]},{"name":"bone2","parent":"bone32","pivot":[0.0,1.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone3","parent":"bone2","pivot":[0.0,1.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone5","parent":"bone3","pivot":[0.0,1.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone7","parent":"bone5","pivot":[0.0,1.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone8","parent":"bone7","pivot":[0.0,35.0,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-8.5,34.0,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[33.0,74.0],"mirror":false},{"origin":[-8.5,34.25,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[58.0,0.0],"mirror":false},{"origin":[-8.5,34.25,-11.25],"size":[17.0,1.0,2.0],"inflate":0.0,"uv":[79.0,33.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,35.0,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-8.5,34.0,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[33.0,74.0],"mirror":false},{"origin":[-8.5,34.25,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[58.0,0.0],"mirror":false},{"origin":[-8.5,34.25,-11.25],"size":[17.0,1.0,2.0],"inflate":0.0,"uv":[79.0,33.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,35.0,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-8.5,34.0,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[33.0,74.0],"mirror":false},{"origin":[-8.5,34.25,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[58.0,0.0],"mirror":false},{"origin":[-8.5,34.25,-11.25],"size":[17.0,1.0,2.0],"inflate":0.0,"uv":[79.0,33.0],"mirror":false}]},{"name":"bone","parent":"bone2","pivot":[0.0,35.0,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-8.5,34.0,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[33.0,74.0],"mirror":false},{"origin":[-8.5,34.25,-9.25],"size":[17.0,1.0,9.0],"inflate":0.0,"uv":[58.0,0.0],"mirror":false},{"origin":[-8.5,34.25,-11.25],"size":[17.0,1.0,2.0],"inflate":0.0,"uv":[79.0,33.0],"mirror":false}]},{"name":"bone31","parent":"bone32","pivot":[-8.75,27.0,-5.5],"rotation":[0.0,0.0,9.998113723108352],"cubes":[{"origin":[-8.75,23.0,-7.0],"size":[1.0,4.0,3.0],"inflate":0.0,"uv":[77.0,74.0],"mirror":false},{"origin":[-8.75,23.0,4.0],"size":[1.0,4.0,3.0],"inflate":0.0,"uv":[77.0,74.0],"mirror":false},{"origin":[-8.75,22.0,-1.5],"size":[1.0,5.0,3.0],"inflate":0.0,"uv":[58.0,0.0],"mirror":false}]},{"name":"bone30","parent":"bone32","pivot":[-8.4,8.5,4.0],"rotation":[0.0,0.0,-35.00199083574193],"cubes":[{"origin":[-10.4,7.5,1.5],"size":[2.0,1.0,5.0],"inflate":0.0,"uv":[106.0,23.0],"mirror":false}]},{"name":"bone9","parent":"bone32","pivot":[0.0,2.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone10","parent":"bone9","pivot":[0.0,36.5,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-4.5,35.5,-5.5],"size":[9.0,1.0,7.0],"inflate":0.0,"uv":[89.0,74.0],"mirror":false}]},{"name":"bone11","parent":"bone9","pivot":[0.0,2.5,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone13","parent":"bone11","pivot":[0.0,2.5,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone15","parent":"bone13","pivot":[0.0,2.5,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone16","parent":"bone15","pivot":[0.0,36.5,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-4.5,35.5,-5.5],"size":[9.0,1.0,7.0],"inflate":0.0,"uv":[89.0,74.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,36.5,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-4.5,35.5,-5.5],"size":[9.0,1.0,7.0],"inflate":0.0,"uv":[89.0,74.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,36.5,-8.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-4.5,35.5,-5.5],"size":[9.0,1.0,7.0],"inflate":0.0,"uv":[89.0,74.0],"mirror":false}]},{"name":"bone25","parent":"bone32","pivot":[9.0,28.0,0.0],"rotation":[0.0,0.0,-5.001921699024173],"cubes":[{"origin":[8.0,19.0,-2.5],"size":[1.0,9.0,5.0],"inflate":0.0,"uv":[0.0,22.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[2.0,2.0,9.75],"rotation":[-45.00010370507663,0.0,0.0],"cubes":[{"origin":[-1.5,1.0,8.75],"size":[7.0,2.0,2.0],"inflate":0.0,"uv":[64.0,85.0],"mirror":false}]},{"name":"bone34","parent":"bone32","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[7.75,26.0,-8.0],"size":[1.0,2.0,16.0],"inflate":0.0,"uv":[70.0,74.0],"mirror":true},{"origin":[8.0,17.0,-3.0],"size":[1.0,12.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[9.0,28.0,0.0],"rotation":[0.0,0.0,-5.001921699024173],"cubes":[{"origin":[8.0,19.0,-2.5],"size":[1.0,9.0,5.0],"inflate":0.0,"uv":[0.0,22.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/factory_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/factory_shell.json
new file mode 100644
index 00000000..fe92a3ad
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/factory_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"factory_shell","texture_width":128,"texture_height":128},"bones":[{"name":"model_outline","pivot":[0.0,-0.0,-2.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,-0.0,-10.0],"size":[20.0,3.0,20.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false},{"origin":[-10.0,37.0,-10.0],"size":[20.0,7.0,20.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-5.0,35.0,-10.0],"size":[10.0,2.0,2.0],"inflate":0.0,"uv":[81.0,46.0],"mirror":false},{"origin":[-5.0,3.0,-10.0],"size":[10.0,2.0,2.0],"inflate":0.0,"uv":[61.0,41.0],"mirror":false},{"origin":[-8.0,3.0,-8.0],"size":[1.0,34.0,3.0],"inflate":0.0,"uv":[79.0,84.0],"mirror":false},{"origin":[-9.0,3.0,5.0],"size":[18.0,34.0,4.0],"inflate":0.0,"uv":[0.0,52.0],"mirror":false},{"origin":[7.0,3.0,-8.0],"size":[1.0,34.0,3.0],"inflate":0.0,"uv":[70.0,84.0],"mirror":false},{"origin":[-7.0,34.0,-8.0],"size":[14.0,3.0,1.0],"inflate":0.0,"uv":[61.0,32.0],"mirror":false},{"origin":[-7.0,3.0,-8.0],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[61.0,37.0],"mirror":false},{"origin":[8.0,3.0,-5.0],"size":[2.0,34.0,10.0],"inflate":0.0,"uv":[45.0,52.0],"mirror":true},{"origin":[-10.0,3.0,-5.0],"size":[2.0,34.0,10.0],"inflate":0.0,"uv":[45.0,52.0],"mirror":false}]},{"name":"right_door","parent":"model_outline","pivot":[7.0,20.0,-7.6],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,5.0,-8.1],"size":[7.0,30.0,1.0],"inflate":0.0,"uv":[70.0,52.0],"mirror":false}]},{"name":"left_door","parent":"model_outline","pivot":[-7.0,20.0,-7.6],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,5.0,-8.1],"size":[7.0,30.0,1.0],"inflate":0.0,"uv":[81.0,0.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/groening_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/groening_shell.json
new file mode 100644
index 00000000..c7698612
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/groening_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"groening_shell","texture_width":256,"texture_height":256},"bones":[{"name":"door","pivot":[7.225,17.0,-8.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5000005,-0.0,-11.0],"size":[15.0,8.0,1.0],"inflate":0.0,"uv":[19.0,56.0],"mirror":false},{"origin":[-7.5000005,-0.0,-10.0],"size":[15.0,34.0,2.0],"inflate":0.0,"uv":[82.0,69.0],"mirror":false}]},{"name":"cube_r1","parent":"door","pivot":[0.5,8.0,-11.0],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-7.5,8.0,-11.0],"size":[15.0,2.0,1.0],"inflate":0.0,"uv":[19.0,66.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone8","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.0,40.0,-3.0],"size":[6.0,4.0,6.0],"inflate":0.0,"uv":[47.0,108.0],"mirror":false},{"origin":[-14.5,-1.975,-14.5],"size":[29.0,1.0,29.0],"inflate":1.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,34.0,-11.25],"size":[18.0,5.0,3.0],"inflate":0.0,"uv":[88.0,0.0],"mirror":false},{"origin":[-8.0,-0.0,7.0],"size":[16.0,36.0,1.0],"inflate":0.0,"uv":[81.0,31.0],"mirror":false},{"origin":[-8.0,-0.0,-8.0],"size":[1.0,36.0,16.0],"inflate":0.0,"uv":[0.0,56.0],"mirror":false},{"origin":[7.0,-0.0,-8.0],"size":[1.0,36.0,16.0],"inflate":0.0,"uv":[0.0,56.0],"mirror":true},{"origin":[-6.0,22.5,7.75],"size":[12.0,10.0,1.0],"inflate":0.0,"uv":[0.0,16.0],"mirror":false},{"origin":[-10.0,36.0,-10.0],"size":[20.0,4.0,20.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false}]},{"name":"bone2","parent":"bone8","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-1.5,-0.0,-15.15],"size":[3.0,8.0,5.0],"inflate":0.0,"uv":[63.0,56.0],"mirror":false},{"origin":[-1.0,-0.0,-12.5],"size":[2.0,36.0,3.0],"inflate":0.0,"uv":[81.0,106.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-1.0,-0.0,-12.5],"size":[2.0,36.0,3.0],"inflate":0.0,"uv":[81.0,106.0],"mirror":false},{"origin":[-1.5,-0.0,-15.15],"size":[3.0,12.0,5.0],"inflate":0.0,"uv":[61.0,31.0],"mirror":false}]},{"name":"cube_r5","parent":"bone3","pivot":[0.0,12.0,-15.15],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[-1.5,7.0,-15.15],"size":[3.0,5.0,10.0],"inflate":0.025000000993410747,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-1.5,-0.0,-15.15],"size":[3.0,12.0,5.0],"inflate":0.0,"uv":[61.0,31.0],"mirror":false},{"origin":[-1.0,-0.0,-12.5],"size":[2.0,36.0,3.0],"inflate":0.0,"uv":[81.0,106.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-1.5,-0.0,-15.15],"size":[3.0,8.0,5.0],"inflate":0.0,"uv":[63.0,56.0],"mirror":false},{"origin":[-1.0,-0.0,-12.5],"size":[2.0,36.0,3.0],"inflate":0.0,"uv":[81.0,106.0],"mirror":false},{"origin":[-0.5,-0.0,-10.5],"size":[2.0,36.0,1.0],"inflate":0.050000001986821495,"uv":[92.0,106.0],"mirror":false}]},{"name":"cube_r7","parent":"bone5","pivot":[0.5,8.0,-15.15],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[-1.5,4.0,-15.15],"size":[3.0,4.0,10.0],"inflate":0.025000000993410747,"uv":[88.0,9.0],"mirror":false}]},{"name":"cube_r6","parent":"bone4","pivot":[0.0,12.0,-15.15],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[-1.5,7.0,-15.15],"size":[3.0,5.0,10.0],"inflate":0.025000000993410747,"uv":[0.0,0.0],"mirror":false}]},{"name":"cube_r4","parent":"bone2","pivot":[0.5,8.0,-15.15],"rotation":[54.99821998950593,0.0,0.0],"cubes":[{"origin":[-1.5,4.0,-15.15],"size":[3.0,4.0,10.0],"inflate":0.025000000993410747,"uv":[105.0,14.0],"mirror":false}]},{"name":"bone7","parent":"bone8","pivot":[3.7733,-0.0,-1.348],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.7733,-0.0,-9.652],"size":[4.0,8.0,19.0],"inflate":0.0,"uv":[35.0,56.0],"mirror":false},{"origin":[7.7733,8.5,2.348],"size":[3.0,11.0,3.0],"inflate":0.0,"uv":[0.0,56.0],"mirror":false},{"origin":[8.0,12.0,-4.652],"size":[2.0,6.0,5.0],"inflate":0.0,"uv":[35.0,84.0],"mirror":false},{"origin":[8.0,25.0,-4.652],"size":[1.0,6.0,9.0],"inflate":0.0,"uv":[26.0,108.0],"mirror":false},{"origin":[8.0,8.0,-5.652],"size":[3.0,4.0,7.0],"inflate":0.0,"uv":[0.0,109.0],"mirror":false},{"origin":[7.7733,-0.0,8.652],"size":[4.0,8.0,1.0],"inflate":0.0,"uv":[17.0,0.0],"mirror":false}]},{"name":"cube_r3","parent":"bone7","pivot":[11.7733,8.0,0.0],"rotation":[0.0,0.0,39.99818200605246],"cubes":[{"origin":[6.7733,7.0,-9.5],"size":[5.0,1.0,19.0],"inflate":0.0,"uv":[35.0,87.0],"mirror":false}]},{"name":"bone6","parent":"bone8","pivot":[-3.7733,-0.0,-1.348],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.7733,-0.0,-9.652],"size":[4.0,8.0,19.0],"inflate":0.0,"uv":[35.0,56.0],"mirror":true},{"origin":[-11.7733,-0.0,8.652],"size":[4.0,8.0,1.0],"inflate":0.0,"uv":[17.0,0.0],"mirror":true},{"origin":[-9.0,19.0,-4.0],"size":[1.0,11.0,8.0],"inflate":0.0,"uv":[0.0,31.0],"mirror":false},{"origin":[-10.0,17.0,-5.0],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[99.0,106.0],"mirror":false}]},{"name":"cube_r2","parent":"bone6","pivot":[-11.7733,8.0,0.0],"rotation":[0.0,0.0,-39.99818200605246],"cubes":[{"origin":[-11.7733,7.0,-9.5],"size":[5.0,1.0,19.0],"inflate":0.0,"uv":[35.0,87.0],"mirror":true}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/growth_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/growth_shell.json
new file mode 100644
index 00000000..6b6fd140
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/growth_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"growth_shell","texture_width":256,"texture_height":256},"bones":[{"name":"door_open","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone53","parent":"door_open","pivot":[0.0,28.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.25,-0.0,-19.775],"size":[1.0,40.0,12.0],"inflate":0.0,"uv":[59.0,118.0],"mirror":false}]},{"name":"bone54","parent":"door_open","pivot":[0.0,28.0,0.0],"rotation":[0.0,30.000069136717755,0.0],"cubes":[{"origin":[-0.75,-0.0,-19.775],"size":[1.0,40.0,12.0],"inflate":0.0,"uv":[59.0,118.0],"mirror":true}]},{"name":"bone55","parent":"door_open","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[1.0,157.0],"mirror":false}]},{"name":"bone56","parent":"door_open","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[1.0,115.0],"mirror":false}]},{"name":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone26","parent":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,39.025,-7.775],"size":[9.0,1.0,9.0],"inflate":0.0,"uv":[36.0,23.0],"mirror":false}]},{"name":"bone27","parent":"bone26","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,39.025,-7.775],"size":[9.0,1.0,9.0],"inflate":0.0,"uv":[36.0,23.0],"mirror":false}]},{"name":"bone28","parent":"bone27","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,39.025,-7.775],"size":[9.0,1.0,9.0],"inflate":0.0,"uv":[36.0,23.0],"mirror":false}]},{"name":"bone29","parent":"bone28","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,39.025,-7.775],"size":[9.0,1.0,9.0],"inflate":0.0,"uv":[36.0,23.0],"mirror":false}]},{"name":"bone30","parent":"bone29","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,39.025,-7.775],"size":[9.0,1.0,9.0],"inflate":0.0,"uv":[36.0,23.0],"mirror":false}]},{"name":"bone31","parent":"bone30","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,39.025,-7.775],"size":[9.0,1.0,9.0],"inflate":0.0,"uv":[36.0,23.0],"mirror":false}]},{"name":"bone38","parent":"bone50","pivot":[0.0,35.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-1.0,39.0,-9.025],"size":[1.0,8.0,9.0],"inflate":0.0,"uv":[36.0,34.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,35.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,39.0,-9.025],"size":[1.0,8.0,9.0],"inflate":0.0,"uv":[36.0,34.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,35.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,39.0,-9.025],"size":[1.0,8.0,9.0],"inflate":0.0,"uv":[36.0,34.0],"mirror":false}]},{"name":"bone41","parent":"bone40","pivot":[0.0,35.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,39.0,-9.025],"size":[1.0,8.0,9.0],"inflate":0.0,"uv":[36.0,34.0],"mirror":false}]},{"name":"bone42","parent":"bone41","pivot":[0.0,35.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,39.0,-9.025],"size":[1.0,8.0,9.0],"inflate":0.0,"uv":[36.0,34.0],"mirror":false}]},{"name":"bone43","parent":"bone42","pivot":[0.0,35.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,39.0,-9.025],"size":[1.0,8.0,9.0],"inflate":0.0,"uv":[36.0,34.0],"mirror":false}]},{"name":"bone2","parent":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone3","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[21.0,0.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[21.0,0.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[21.0,0.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[21.0,0.0],"mirror":false}]},{"name":"bone7","parent":"bone6","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[21.0,0.0],"mirror":false}]},{"name":"black","parent":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.45,-0.0,-7.75],"size":[1.0,38.0,1.0],"inflate":0.0,"uv":[98.0,0.0],"mirror":true},{"origin":[4.45,-0.0,-7.75],"size":[1.0,38.0,1.0],"inflate":0.0,"uv":[98.0,0.0],"mirror":false},{"origin":[-5.0,-0.0,-6.85],"size":[10.0,38.0,2.0],"inflate":0.0,"uv":[73.0,0.0],"mirror":false}]},{"name":"bone20","parent":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone21","parent":"bone20","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":true}]},{"name":"bone22","parent":"bone21","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone24","parent":"bone23","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone25","parent":"bone24","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone32","parent":"bone50","pivot":[0.0,28.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[]},{"name":"bone33","parent":"bone32","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.0,-15.025],"size":[1.0,40.0,6.0],"inflate":0.0,"uv":[21.0,23.0],"mirror":false}]},{"name":"bone34","parent":"bone33","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.0,-15.025],"size":[1.0,40.0,6.0],"inflate":0.0,"uv":[21.0,23.0],"mirror":false}]},{"name":"bone35","parent":"bone34","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.0,-15.025],"size":[1.0,40.0,6.0],"inflate":0.0,"uv":[21.0,23.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-1.0,-0.0,-15.025],"size":[1.0,40.0,6.0],"inflate":0.0,"uv":[21.0,23.0],"mirror":false}]},{"name":"bone37","parent":"bone36","pivot":[0.0,28.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone8","parent":"bone50","pivot":[0.0,31.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone9","parent":"bone8","pivot":[0.0,31.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone10","parent":"bone9","pivot":[0.0,35.0,-9.025],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-3.5,31.5,-8.025],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false}]},{"name":"bone11","parent":"bone9","pivot":[0.0,31.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone13","parent":"bone11","pivot":[0.0,31.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone15","parent":"bone13","pivot":[0.0,35.0,-9.025],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-3.5,31.5,-8.025],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false}]},{"name":"bone16","parent":"bone13","pivot":[0.0,31.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone17","parent":"bone16","pivot":[0.0,35.0,-9.025],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-3.5,31.5,-8.025],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false}]},{"name":"bone18","parent":"bone16","pivot":[0.0,31.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone19","parent":"bone18","pivot":[0.0,35.0,-9.025],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-3.5,31.5,-8.025],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,35.0,-9.025],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-3.5,31.5,-8.025],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false}]},{"name":"bone14","parent":"bone8","pivot":[0.0,35.0,-9.025],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-3.5,31.5,-8.025],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[0.0,42.0],"mirror":false}]},{"name":"bone44","parent":"bone50","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,-0.8,-10.275],"size":[13.0,1.0,11.0],"inflate":0.0,"uv":[46.0,41.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.8,-10.275],"size":[13.0,1.0,11.0],"inflate":0.0,"uv":[46.0,41.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.8,-10.275],"size":[13.0,1.0,11.0],"inflate":0.0,"uv":[46.0,41.0],"mirror":false}]},{"name":"bone47","parent":"bone46","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.8,-10.275],"size":[13.0,1.0,11.0],"inflate":0.0,"uv":[46.0,41.0],"mirror":false}]},{"name":"bone48","parent":"bone47","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.8,-10.275],"size":[13.0,1.0,11.0],"inflate":0.0,"uv":[46.0,41.0],"mirror":false}]},{"name":"bone49","parent":"bone48","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.5,-0.8,-10.275],"size":[13.0,1.0,11.0],"inflate":0.0,"uv":[46.0,41.0],"mirror":false}]},{"name":"door_closed","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone51","parent":"door_closed","pivot":[0.0,28.0,0.0],"rotation":[0.0,-30.000069136717755,0.0],"cubes":[{"origin":[-0.25,-0.0,-19.775],"size":[1.0,40.0,12.0],"inflate":0.0,"uv":[58.0,54.0],"mirror":false}]},{"name":"bone52","parent":"door_closed","pivot":[0.0,28.0,0.0],"rotation":[0.0,30.000069136717755,0.0],"cubes":[{"origin":[-0.75,-0.0,-19.775],"size":[1.0,40.0,12.0],"inflate":0.0,"uv":[58.0,54.0],"mirror":true}]},{"name":"bone63","parent":"door_closed","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,-0.0,-7.775],"size":[9.0,40.0,1.0],"inflate":0.0,"uv":[0.0,51.0],"mirror":false}]},{"name":"bone57","parent":"door_closed","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.5,-0.0,-11.275],"size":[13.0,21.0,1.0],"inflate":0.0,"uv":[0.0,93.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/half_baked_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/half_baked_shell.json
new file mode 100644
index 00000000..92341cbe
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/half_baked_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"half_baked_shell","texture_width":256,"texture_height":256},"bones":[{"name":"root","pivot":[0.0,-0.0,-2.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,-0.0,-10.0],"size":[20.0,3.0,20.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false},{"origin":[-9.5,0.5,-9.5],"size":[19.0,2.0,19.0],"inflate":0.0,"uv":[0.0,103.0],"mirror":false},{"origin":[-10.0,37.0,-10.0],"size":[20.0,7.0,20.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,37.275,-9.0],"size":[18.0,6.0,18.0],"inflate":0.25,"uv":[0.0,104.0],"mirror":false},{"origin":[-5.0,35.0,-10.0],"size":[10.0,2.0,2.0],"inflate":0.0,"uv":[81.0,46.0],"mirror":false},{"origin":[-5.0,3.0,-10.0],"size":[10.0,2.0,2.0],"inflate":0.0,"uv":[61.0,41.0],"mirror":false},{"origin":[-8.0,3.0,-8.0],"size":[1.0,34.0,3.0],"inflate":0.0,"uv":[79.0,84.0],"mirror":false},{"origin":[-9.0,3.0,5.0],"size":[18.0,34.0,4.0],"inflate":0.0,"uv":[0.0,52.0],"mirror":false},{"origin":[-8.5,3.5,7.25],"size":[17.0,33.0,1.0],"inflate":0.0,"uv":[0.0,103.0],"mirror":false},{"origin":[7.0,3.0,-8.0],"size":[1.0,34.0,3.0],"inflate":0.0,"uv":[70.0,84.0],"mirror":false},{"origin":[-7.0,34.0,-8.0],"size":[14.0,3.0,1.0],"inflate":0.0,"uv":[61.0,32.0],"mirror":false},{"origin":[-7.0,3.0,-8.0],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[61.0,37.0],"mirror":false},{"origin":[8.0,3.0,-5.0],"size":[2.0,34.0,10.0],"inflate":0.0,"uv":[45.0,52.0],"mirror":true},{"origin":[-10.0,3.0,-5.0],"size":[2.0,34.0,10.0],"inflate":0.0,"uv":[45.0,52.0],"mirror":false},{"origin":[-9.5,9.0,-4.5],"size":[1.0,22.0,9.0],"inflate":0.0,"uv":[12.0,103.0],"mirror":false},{"origin":[8.5,9.0,-4.5],"size":[1.0,22.0,9.0],"inflate":0.0,"uv":[12.0,103.0],"mirror":false}]},{"name":"root_r5","parent":"root","pivot":[0.0,-0.0,-10.0],"rotation":[2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-10.0,-0.0,-10.0],"size":[20.0,11.0,1.0],"inflate":0.0,"uv":[67.0,161.0],"mirror":false}]},{"name":"bone10","parent":"root","pivot":[-9.25,-0.5,-8.75],"rotation":[0.0,-125.00220166098978,0.0],"cubes":[]},{"name":"bone10_r1","parent":"bone10","pivot":[-9.25,-0.0,-12.25],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-15.75,-1.9848,-12.4237],"size":[13.0,1.0,7.0],"inflate":1.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone4","parent":"root","pivot":[-6.5,45.0,7.25],"rotation":[37.50008812844449,0.0,-15.000034568358878],"cubes":[]},{"name":"bone4_r1","parent":"bone4","pivot":[-6.5,45.5,3.75],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-12.5,44.5,3.75],"size":[13.0,1.0,7.0],"inflate":0.0,"uv":[66.0,180.0],"mirror":true}]},{"name":"left_door","parent":"root","pivot":[-6.9,20.0,-7.6],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,5.0,-8.1],"size":[7.0,30.0,1.0],"inflate":0.0,"uv":[81.0,0.0],"mirror":false},{"origin":[-6.5,5.0,-7.6],"size":[6.0,30.0,1.0],"inflate":0.0,"uv":[90.0,51.0],"mirror":true}]},{"name":"bone13","parent":"root","pivot":[2.5,-0.5,-9.5],"rotation":[0.0,-167.49847754465023,0.0],"cubes":[]},{"name":"bone13_r1","parent":"bone13","pivot":[2.5,-0.0,-13.0],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-4.0,-1.9848,-13.1737],"size":[13.0,1.0,7.0],"inflate":1.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone9","parent":"root","pivot":[-9.75,41.5,2.25],"rotation":[110.323025474176,-48.626927324164235,-133.8544000328931],"cubes":[]},{"name":"bone9_r1","parent":"bone9","pivot":[-9.75,42.0,-1.25],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-16.25,41.0,-1.25],"size":[13.0,1.0,7.0],"inflate":0.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone14","parent":"root","pivot":[10.5,-0.5,-6.5],"rotation":[0.0,107.4983392712147,0.0],"cubes":[]},{"name":"bone14_r1","parent":"bone14","pivot":[10.5,-0.0,-10.0],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[4.0,-1.9848,-10.1737],"size":[13.0,1.0,7.0],"inflate":1.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone8","parent":"root","pivot":[0.5,45.5,7.25],"rotation":[37.50008812844449,0.0,0.0],"cubes":[]},{"name":"bone8_r1","parent":"bone8","pivot":[0.5,46.0,3.75],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-6.5,45.0,3.75],"size":[13.0,1.0,7.0],"inflate":1.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone11","parent":"root","pivot":[-6.5,-0.5,11.5],"rotation":[0.0,-17.498131861061438,0.0],"cubes":[]},{"name":"bone11_r1","parent":"bone11","pivot":[-6.5,-0.0,8.0],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-13.0,-1.9848,7.8263],"size":[13.0,1.0,7.0],"inflate":1.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone12","parent":"root","pivot":[6.5,-0.5,11.5],"rotation":[0.0,22.500051852538316,0.0],"cubes":[]},{"name":"bone12_r1","parent":"bone12","pivot":[6.5,-0.0,8.0],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[0.0,-1.9848,7.8263],"size":[13.0,1.0,7.0],"inflate":1.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"right_door","parent":"root","pivot":[6.9,20.0,-7.6],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,5.0,-8.1],"size":[7.0,30.0,1.0],"inflate":0.0,"uv":[70.0,52.0],"mirror":false},{"origin":[0.5,5.0,-7.6],"size":[6.0,30.0,1.0],"inflate":0.0,"uv":[90.0,51.0],"mirror":false}]},{"name":"bone3","parent":"root","pivot":[6.5,45.0,7.25],"rotation":[37.50008812844449,0.0,15.000034568358878],"cubes":[]},{"name":"bone3_r1","parent":"bone3","pivot":[6.5,45.5,3.75],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-0.5,44.5,3.75],"size":[13.0,1.0,7.0],"inflate":0.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"bone2","parent":"root","pivot":[9.25,37.5,6.5],"rotation":[47.49820099777919,-7.500017284179439,90.00020741015327],"cubes":[]},{"name":"bone2_r1","parent":"bone2","pivot":[9.25,38.0,3.0],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[2.75,37.5373,3.8434],"size":[13.0,1.0,7.0],"inflate":0.0,"uv":[66.0,180.0],"mirror":false}]},{"name":"root_r3","parent":"root","pivot":[-10.5,-0.0,2.5],"rotation":[0.0,-5.001921699024173,-5.001921699024173],"cubes":[{"origin":[-10.5,-0.0,-10.0],"size":[1.0,20.0,20.0],"inflate":0.0,"uv":[0.0,141.0],"mirror":false}]},{"name":"root_r4","parent":"root","pivot":[0.0,-0.0,10.0],"rotation":[-5.001921699024173,0.0,0.0],"cubes":[{"origin":[-10.0,-0.0,9.0],"size":[20.0,25.0,1.0],"inflate":0.0,"uv":[47.0,148.0],"mirror":false}]},{"name":"root_r1","parent":"root","pivot":[0.0,40.75,-9.25],"rotation":[70.19879232699095,3.454935505321883,6.663499257092236],"cubes":[{"origin":[-10.0,39.75,-16.25],"size":[7.0,1.0,7.0],"inflate":0.0,"uv":[123.0,134.0],"mirror":false}]},{"name":"root_r2","parent":"root","pivot":[10.5,-0.0,2.5],"rotation":[0.0,5.001921699024173,5.001921699024173],"cubes":[{"origin":[9.5,-0.0,-10.0],"size":[1.0,20.0,20.0],"inflate":0.0,"uv":[0.0,141.0],"mirror":true}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/hieroglyph_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/hieroglyph_shell.json
new file mode 100644
index 00000000..c6561ff9
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/hieroglyph_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"hieroglyph_shell","texture_width":256,"texture_height":256},"bones":[{"name":"bone18","pivot":[0.0,2.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,33.0,-9.5],"size":[15.0,3.0,3.0],"inflate":0.0,"uv":[98.0,50.0],"mirror":false}]},{"name":"bone19","parent":"bone18","pivot":[0.0,2.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.5,33.0,-9.5],"size":[15.0,3.0,3.0],"inflate":0.0,"uv":[98.0,50.0],"mirror":false}]},{"name":"bone20","parent":"bone19","pivot":[0.0,2.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.5,33.0,-9.5],"size":[15.0,3.0,3.0],"inflate":0.0,"uv":[98.0,50.0],"mirror":false}]},{"name":"bone21","parent":"bone20","pivot":[0.0,2.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.5,33.0,-9.5],"size":[15.0,3.0,3.0],"inflate":0.0,"uv":[98.0,50.0],"mirror":false}]},{"name":"pillars","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone17","parent":"pillars","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,2.0,6.5],"size":[4.0,8.0,4.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":true},{"origin":[-10.0,10.0,7.0],"size":[3.0,31.0,3.0],"inflate":0.0,"uv":[0.0,95.0],"mirror":true}]},{"name":"bone16","parent":"pillars","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.5,2.0,6.5],"size":[4.0,8.0,4.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[7.0,10.0,7.0],"size":[3.0,31.0,3.0],"inflate":0.0,"uv":[0.0,95.0],"mirror":false}]},{"name":"bone3","parent":"pillars","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[6.5,2.0,-10.5],"size":[4.0,8.0,4.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[7.0,10.0,-10.0],"size":[3.0,31.0,3.0],"inflate":0.0,"uv":[0.0,95.0],"mirror":false}]},{"name":"bone4","parent":"pillars","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,2.0,-10.5],"size":[4.0,8.0,4.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":true},{"origin":[-10.0,10.0,-10.0],"size":[3.0,31.0,3.0],"inflate":0.0,"uv":[0.0,95.0],"mirror":true}]},{"name":"door_open","pivot":[1.5,-0.0,-4.5],"rotation":[0.0,-5.001921699024173,0.0],"cubes":[{"origin":[7.0,-0.0,-12.0],"size":[15.0,33.0,1.0],"inflate":0.0,"uv":[33.0,69.0],"mirror":false},{"origin":[7.0,-0.0,-11.0],"size":[15.0,33.0,1.0],"inflate":0.0,"uv":[0.0,60.0],"mirror":false},{"origin":[9.5,24.0,-15.5],"size":[10.0,3.0,4.0],"inflate":0.025000000993410747,"uv":[95.0,98.0],"mirror":false},{"origin":[13.0,19.0,-14.0],"size":[3.0,5.0,1.0],"inflate":0.25,"uv":[9.0,25.0],"mirror":false},{"origin":[17.0,12.0,-14.0],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":false},{"origin":[10.0,12.0,-14.0],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":true},{"origin":[9.5,-0.0,-15.5],"size":[10.0,12.0,4.0],"inflate":0.0,"uv":[98.0,33.0],"mirror":false},{"origin":[10.0,2.5,-15.0],"size":[9.0,9.0,3.0],"inflate":0.0,"uv":[64.0,33.0],"mirror":false},{"origin":[-7.0,-0.8,-19.25],"size":[26.0,1.0,9.0],"inflate":0.0,"uv":[0.0,49.0],"mirror":false}]},{"name":"cube_r4","parent":"door_open","pivot":[14.5,27.0,-15.5],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[9.5,27.0,-15.5],"size":[10.0,5.0,3.0],"inflate":0.0,"uv":[99.0,69.0],"mirror":false}]},{"name":"cube_r3","parent":"door_open","pivot":[14.5,12.0,-13.5],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[12.0,9.5,-14.5],"size":[5.0,5.0,2.0],"inflate":0.0,"uv":[0.0,13.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.5,-0.0,-10.5],"size":[21.0,2.0,21.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":false},{"origin":[-10.5,36.0,-10.5],"size":[21.0,3.0,21.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-6.5,39.0,-6.5],"size":[13.0,6.0,13.0],"inflate":0.0,"uv":[58.0,49.0],"mirror":false},{"origin":[-7.0,2.0,-7.0],"size":[14.0,31.0,1.0],"inflate":0.0,"uv":[85.0,0.0],"mirror":false}]},{"name":"door_closed","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,2.0,-7.5],"size":[15.0,31.0,1.0],"inflate":0.0,"uv":[66.0,69.0],"mirror":false},{"origin":[-5.0,24.0,-11.0],"size":[10.0,3.0,4.0],"inflate":0.025000000993410747,"uv":[95.0,98.0],"mirror":false},{"origin":[2.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":false},{"origin":[-4.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":true},{"origin":[-5.0,-0.0,-11.0],"size":[10.0,12.0,4.0],"inflate":0.0,"uv":[98.0,33.0],"mirror":false},{"origin":[-4.5,2.5,-10.5],"size":[9.0,9.0,3.0],"inflate":0.0,"uv":[64.0,33.0],"mirror":false}]},{"name":"bone29","parent":"door_closed","pivot":[0.0,24.0,-9.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,19.0,-9.5],"size":[3.0,5.0,1.0],"inflate":0.25,"uv":[9.0,25.0],"mirror":false}]},{"name":"cube_r1","parent":"door_closed","pivot":[0.0,12.0,-9.0],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-2.5,9.5,-10.0],"size":[5.0,5.0,2.0],"inflate":0.0,"uv":[0.0,13.0],"mirror":false}]},{"name":"cube_r2","parent":"door_closed","pivot":[0.0,27.0,-11.0],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,27.0,-11.0],"size":[10.0,5.0,3.0],"inflate":0.0,"uv":[99.0,69.0],"mirror":false}]},{"name":"sides","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.5,2.0,-7.5],"size":[15.0,31.0,1.0],"inflate":0.0,"uv":[66.0,69.0],"mirror":false},{"origin":[-5.0,24.0,-11.0],"size":[10.0,3.0,4.0],"inflate":0.025000000993410747,"uv":[95.0,98.0],"mirror":false},{"origin":[2.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":false},{"origin":[-4.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":true},{"origin":[-5.0,-0.0,-11.0],"size":[10.0,12.0,4.0],"inflate":0.0,"uv":[98.0,33.0],"mirror":false},{"origin":[-2.0,12.0,-10.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[9.0,32.0],"mirror":false},{"origin":[-0.25,12.0,-9.5],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[1.0,11.25,-9.75],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[-1.25,10.5,-10.75],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[0.5,10.5,-10.5],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[-4.5,2.5,-10.5],"size":[9.0,9.0,3.0],"inflate":0.0,"uv":[64.0,33.0],"mirror":false}]},{"name":"cube_r5","parent":"sides","pivot":[0.0,27.0,-11.0],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,27.0,-11.0],"size":[10.0,5.0,3.0],"inflate":0.0,"uv":[99.0,69.0],"mirror":false}]},{"name":"bone","parent":"sides","pivot":[-1.0,17.5,-9.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,16.0,-9.0],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[13.0,0.0],"mirror":false}]},{"name":"bone30","parent":"sides","pivot":[0.0,24.0,-9.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,19.0,-8.5],"size":[3.0,5.0,1.0],"inflate":0.25,"uv":[9.0,25.0],"mirror":false}]},{"name":"bone22","parent":"sides","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.5,2.0,-7.5],"size":[15.0,31.0,1.0],"inflate":0.0,"uv":[66.0,69.0],"mirror":false},{"origin":[-5.0,24.0,-11.0],"size":[10.0,3.0,4.0],"inflate":0.025000000993410747,"uv":[95.0,98.0],"mirror":false},{"origin":[2.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":false},{"origin":[-4.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":true},{"origin":[-5.0,-0.0,-11.0],"size":[10.0,12.0,4.0],"inflate":0.0,"uv":[98.0,33.0],"mirror":false},{"origin":[-2.0,12.0,-10.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[9.0,32.0],"mirror":false},{"origin":[-0.25,12.0,-9.5],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[1.0,11.25,-9.75],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[-1.25,10.5,-10.75],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[0.5,10.5,-10.5],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[-4.5,2.5,-10.5],"size":[9.0,9.0,3.0],"inflate":0.0,"uv":[64.0,33.0],"mirror":false}]},{"name":"bone26","parent":"bone22","pivot":[1.5,14.25,-9.65],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.0,13.75,-9.724999],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false},{"origin":[0.6,12.75,-10.575],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false},{"origin":[-1.25,12.75,-10.825],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false}]},{"name":"bone31","parent":"bone22","pivot":[0.0,24.0,-9.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,19.0,-8.5],"size":[3.0,5.0,1.0],"inflate":0.25,"uv":[9.0,25.0],"mirror":false}]},{"name":"cube_r6","parent":"bone22","pivot":[0.0,27.0,-11.0],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,27.0,-11.0],"size":[10.0,5.0,3.0],"inflate":0.0,"uv":[99.0,69.0],"mirror":false}]},{"name":"bone24","parent":"bone22","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.5,2.0,-7.5],"size":[15.0,31.0,1.0],"inflate":0.0,"uv":[66.0,69.0],"mirror":false},{"origin":[-5.0,24.0,-11.0],"size":[10.0,3.0,4.0],"inflate":0.025000000993410747,"uv":[95.0,98.0],"mirror":false},{"origin":[2.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":false},{"origin":[-4.5,12.0,-9.5],"size":[2.0,12.0,2.0],"inflate":0.0,"uv":[0.0,25.0],"mirror":true},{"origin":[-5.0,-0.0,-11.0],"size":[10.0,12.0,4.0],"inflate":0.0,"uv":[98.0,33.0],"mirror":false},{"origin":[-2.0,12.0,-10.0],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[9.0,32.0],"mirror":false},{"origin":[-0.25,12.0,-9.5],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[1.0,11.25,-9.75],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[-1.25,10.5,-10.75],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[0.5,10.5,-10.5],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[15.0,13.0],"mirror":false},{"origin":[-4.5,2.5,-10.5],"size":[9.0,9.0,3.0],"inflate":0.0,"uv":[64.0,33.0],"mirror":false}]},{"name":"bone28","parent":"bone24","pivot":[-1.0,17.5,-9.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,16.0,-9.0],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[13.0,0.0],"mirror":false}]},{"name":"bone27","parent":"bone24","pivot":[1.5,14.25,-9.65],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.0,13.75,-9.724999],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false},{"origin":[0.6,12.75,-10.575],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false},{"origin":[-1.25,12.75,-10.825],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false}]},{"name":"bone32","parent":"bone24","pivot":[0.0,24.0,-9.75],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,19.0,-8.5],"size":[3.0,5.0,1.0],"inflate":0.25,"uv":[9.0,25.0],"mirror":false}]},{"name":"cube_r7","parent":"bone24","pivot":[0.0,27.0,-11.0],"rotation":[-30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,27.0,-11.0],"size":[10.0,5.0,3.0],"inflate":0.0,"uv":[99.0,69.0],"mirror":false}]},{"name":"bone25","parent":"bone22","pivot":[-1.0,17.5,-9.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.5,16.0,-9.0],"size":[1.0,1.0,1.0],"inflate":0.0,"uv":[13.0,0.0],"mirror":false}]},{"name":"bone23","parent":"sides","pivot":[1.5,14.25,-9.65],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.0,13.75,-9.724999],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false},{"origin":[0.6,12.75,-10.575],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false},{"origin":[-1.25,12.75,-10.825],"size":[1.0,1.0,1.0],"inflate":-0.10000000397364299,"uv":[13.0,0.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone6","pivot":[0.0,2.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false},{"origin":[-7.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":true}]},{"name":"bone2","parent":"bone6","pivot":[3.245,38.7704,-8.0],"rotation":[0.0,0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r9","parent":"bone2","pivot":[7.0,39.0,-9.5],"rotation":[0.0,0.0,20.00195626738305],"cubes":[{"origin":[-0.4499998,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":false}]},{"name":"bone5","parent":"bone6","pivot":[-3.245,38.7704,-8.0],"rotation":[0.0,-0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r8","parent":"bone5","pivot":[-7.0,39.0,-9.5],"rotation":[0.0,0.0,-20.00195626738305],"cubes":[{"origin":[-7.55,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":true}]},{"name":"bone7","parent":"bone6","pivot":[0.0,2.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[1.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false},{"origin":[-7.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":true}]},{"name":"bone10","parent":"bone7","pivot":[0.0,2.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[1.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false},{"origin":[-7.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":true}]},{"name":"bone13","parent":"bone10","pivot":[0.0,2.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[1.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false},{"origin":[-7.25,39.0,-8.5],"size":[6.0,3.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":true}]},{"name":"bone15","parent":"bone13","pivot":[3.245,38.7704,-8.0],"rotation":[0.0,0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r15","parent":"bone15","pivot":[7.0,39.0,-9.5],"rotation":[0.0,0.0,20.00195626738305],"cubes":[{"origin":[-0.4499998,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[-3.245,38.7704,-8.0],"rotation":[0.0,-0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r14","parent":"bone14","pivot":[-7.0,39.0,-9.5],"rotation":[0.0,0.0,-20.00195626738305],"cubes":[{"origin":[-7.55,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":true}]},{"name":"bone11","parent":"bone10","pivot":[-3.245,38.7704,-8.0],"rotation":[0.0,-0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r12","parent":"bone11","pivot":[-7.0,39.0,-9.5],"rotation":[0.0,0.0,-20.00195626738305],"cubes":[{"origin":[-7.55,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":true}]},{"name":"bone12","parent":"bone10","pivot":[3.245,38.7704,-8.0],"rotation":[0.0,0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r13","parent":"bone12","pivot":[7.0,39.0,-9.5],"rotation":[0.0,0.0,20.00195626738305],"cubes":[{"origin":[-0.4499998,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":false}]},{"name":"bone9","parent":"bone7","pivot":[3.245,38.7704,-8.0],"rotation":[0.0,0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r11","parent":"bone9","pivot":[7.0,39.0,-9.5],"rotation":[0.0,0.0,20.00195626738305],"cubes":[{"origin":[-0.4499998,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[-3.245,38.7704,-8.0],"rotation":[0.0,-0.2521014284915244,0.0],"cubes":[]},{"name":"cube_r10","parent":"bone8","pivot":[-7.0,39.0,-9.5],"rotation":[0.0,0.0,-20.00195626738305],"cubes":[{"origin":[-7.55,36.0,-9.5],"size":[8.0,3.0,3.0],"inflate":0.0,"uv":[33.0,60.0],"mirror":true}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/lift_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/lift_shell.json
new file mode 100644
index 00000000..01f01b40
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/lift_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"lift_shell","texture_width":256,"texture_height":256},"bones":[{"name":"bone28","pivot":[0.0,-0.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,-0.0,9.0],"size":[16.0,32.0,1.0],"inflate":0.0,"uv":[0.0,63.0],"mirror":false},{"origin":[-9.0,32.0,-8.0],"size":[18.0,3.0,18.0],"inflate":0.025000000993410747,"uv":[0.0,21.0],"mirror":false},{"origin":[-3.0,32.025,-2.0],"size":[6.0,3.0,6.0],"inflate":0.025000000993410747,"uv":[94.0,33.0],"mirror":false},{"origin":[-9.0,-0.0,-8.0],"size":[18.0,1.0,18.0],"inflate":0.025000000993410747,"uv":[0.0,43.0],"mirror":false},{"origin":[-9.5,35.0,-8.5],"size":[19.0,1.0,19.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-5.5,35.5,-8.025],"size":[11.0,5.0,1.0],"inflate":0.0,"uv":[80.0,4.0],"mirror":false}]},{"name":"clock_hand","parent":"bone28","pivot":[0.0,37.0,-8.275],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-0.5,36.5,-8.275],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[80.0,11.0],"mirror":false}]},{"name":"door_open","parent":"bone28","pivot":[0.0,-0.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[5.0,-0.0,-8.0],"size":[3.0,32.0,1.0],"inflate":0.0,"uv":[83.0,96.0],"mirror":false}]},{"name":"door_closed","parent":"bone28","pivot":[0.0,-0.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,-0.0,-8.0],"size":[16.0,32.0,1.0],"inflate":0.0,"uv":[92.0,80.0],"mirror":false},{"origin":[-8.0,-0.0,-7.25],"size":[16.0,32.0,1.0],"inflate":0.0,"uv":[92.0,46.0],"mirror":false}]},{"name":"bone7","parent":"door_closed","pivot":[0.0,-0.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone3","parent":"bone7","pivot":[5.0,11.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r8","parent":"bone3","pivot":[4.0,11.0,-7.5],"rotation":[0.0,0.0,24.001202781154767],"cubes":[{"origin":[3.0,6.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":false}]},{"name":"cube_r7","parent":"bone3","pivot":[5.0,11.0,-7.5],"rotation":[0.0,0.0,-24.001202781154767],"cubes":[{"origin":[5.0,6.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":true}]},{"name":"bone2","parent":"bone7","pivot":[5.0,22.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r10","parent":"bone2","pivot":[4.0,22.0,-7.5],"rotation":[0.0,0.0,-24.001202781154767],"cubes":[{"origin":[3.0,22.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":false}]},{"name":"cube_r9","parent":"bone2","pivot":[5.0,22.0,-7.5],"rotation":[0.0,0.0,24.001202781154767],"cubes":[{"origin":[5.0,22.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":true}]},{"name":"bone5","parent":"bone7","pivot":[-4.0,11.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r4","parent":"bone5","pivot":[-5.0,16.5,-7.5],"rotation":[0.0,0.0,24.001202781154767],"cubes":[{"origin":[-6.0,11.5,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":false}]},{"name":"cube_r3","parent":"bone5","pivot":[-5.0,16.5,-7.5],"rotation":[0.0,0.0,-24.001202781154767],"cubes":[{"origin":[-6.0,16.5,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[14.0,12.0],"mirror":false}]},{"name":"bone4","parent":"bone7","pivot":[-4.0,11.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r5","parent":"bone4","pivot":[-4.0,11.0,-7.5],"rotation":[0.0,0.0,-24.001202781154767],"cubes":[{"origin":[-4.0,6.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":true}]},{"name":"cube_r6","parent":"bone4","pivot":[-5.0,11.0,-7.5],"rotation":[0.0,0.0,24.001202781154767],"cubes":[{"origin":[-6.0,6.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":false}]},{"name":"bone","parent":"bone7","pivot":[-4.0,22.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r11","parent":"bone","pivot":[-4.0,22.0,-7.5],"rotation":[0.0,0.0,24.001202781154767],"cubes":[{"origin":[-4.0,22.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":true}]},{"name":"cube_r12","parent":"bone","pivot":[-5.0,22.0,-7.5],"rotation":[0.0,0.0,-24.001202781154767],"cubes":[{"origin":[-6.0,22.0,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":false}]},{"name":"bone6","parent":"bone7","pivot":[4.0,11.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r1","parent":"bone6","pivot":[5.0,16.5,-7.5],"rotation":[0.0,0.0,24.001202781154767],"cubes":[{"origin":[5.0,16.5,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[14.0,12.0],"mirror":true}]},{"name":"cube_r2","parent":"bone6","pivot":[5.0,16.5,-7.5],"rotation":[0.0,0.0,-24.001202781154767],"cubes":[{"origin":[5.0,11.5,-7.975],"size":[1.0,5.0,1.0],"inflate":0.0,"uv":[11.0,21.0],"mirror":true}]},{"name":"bone10","parent":"bone28","pivot":[0.0,-0.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[8.0,-0.0,-9.0],"size":[2.0,37.0,2.0],"inflate":0.0,"uv":[35.0,63.0],"mirror":false},{"origin":[6.5,32.25,-10.5],"size":[3.0,1.0,3.0],"inflate":0.0,"uv":[0.0,13.0],"mirror":false},{"origin":[-7.5,32.225,-9.5],"size":[16.0,1.0,2.0],"inflate":0.0,"uv":[80.0,0.0],"mirror":false},{"origin":[-10.0,-0.0,-9.0],"size":[2.0,37.0,2.0],"inflate":0.0,"uv":[35.0,63.0],"mirror":true},{"origin":[-13.0,26.0,-10.0],"size":[4.0,4.0,1.0],"inflate":0.0,"uv":[0.0,51.0],"mirror":false},{"origin":[-10.5,16.0,-9.5],"size":[3.0,6.0,1.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone13","parent":"bone28","pivot":[-9.5,19.5454,2.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-10.75,6.5,4.8],"size":[1.0,21.0,5.0],"inflate":0.0,"uv":[49.0,91.0],"mirror":false},{"origin":[-11.5,2.000002,2.75],"size":[3.0,29.0,1.0],"inflate":-0.025000000993410747,"uv":[44.0,63.0],"mirror":false},{"origin":[-11.5,2.000002,0.0],"size":[3.0,29.0,1.0],"inflate":-0.025000000993410747,"uv":[44.0,63.0],"mirror":false},{"origin":[-11.0,1.9073486E-6,-5.0],"size":[1.0,32.0,16.0],"inflate":0.0,"uv":[57.0,47.0],"mirror":false}]},{"name":"bone26","parent":"bone13","pivot":[-10.0,27.0,7.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r13","parent":"bone26","pivot":[-10.25,27.0,7.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-10.5,25.0,5.0],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false}]},{"name":"bone27","parent":"bone13","pivot":[-10.0,5.000002,7.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r14","parent":"bone27","pivot":[-10.25,5.0,7.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-10.5,2.0,4.0],"size":[1.0,6.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone21","parent":"bone13","pivot":[-10.0,28.0,-4.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r16","parent":"bone21","pivot":[-10.25,28.0,-4.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-10.5,26.0,-6.0],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false}]},{"name":"bone24","parent":"bone13","pivot":[-10.0,29.0,1.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.5,27.5,0.0],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone25","parent":"bone13","pivot":[-10.0,2.749998,1.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.5,1.2499981,0.0],"size":[3.0,3.0,3.0],"inflate":0.25,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone22","parent":"bone13","pivot":[-10.25,24.0,-2.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r15","parent":"bone22","pivot":[-10.25,24.0,-2.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[-10.75,21.0,-5.0],"size":[1.0,6.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone23","parent":"bone13","pivot":[-10.0,20.0,-4.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r17","parent":"bone23","pivot":[-10.25,20.0,-4.0],"rotation":[-77.49827013449695,0.0,0.0],"cubes":[{"origin":[-10.5,18.0,-6.0],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false}]},{"name":"bone9","parent":"bone28","pivot":[0.0,38.067,1.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[0.0,40.5,-8.0],"size":[1.0,3.0,18.0],"inflate":0.0,"uv":[59.0,3.0],"mirror":false}]},{"name":"cube_r23","parent":"bone9","pivot":[-8.65,36.0,1.0],"rotation":[0.0,0.0,-30.000069136717755],"cubes":[{"origin":[-8.65,34.0,-8.0],"size":[10.0,2.0,18.0],"inflate":0.0,"uv":[55.0,25.0],"mirror":false}]},{"name":"cube_r24","parent":"bone9","pivot":[8.65,36.0,1.0],"rotation":[0.0,0.0,30.000069136717755],"cubes":[{"origin":[-1.3500004,34.0,-8.0],"size":[10.0,2.0,18.0],"inflate":0.0,"uv":[55.0,25.0],"mirror":true}]},{"name":"bone8","parent":"bone28","pivot":[-8.65,36.0,1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,40.5,-8.0],"size":[1.0,3.0,18.0],"inflate":0.0,"uv":[59.0,3.0],"mirror":false}]},{"name":"cube_r26","parent":"bone8","pivot":[8.65,36.0,1.0],"rotation":[0.0,0.0,30.000069136717755],"cubes":[{"origin":[-1.3500004,34.0,-8.0],"size":[10.0,2.0,18.0],"inflate":0.0,"uv":[55.0,25.0],"mirror":true}]},{"name":"cube_r25","parent":"bone8","pivot":[-8.65,36.0,1.0],"rotation":[0.0,0.0,-30.000069136717755],"cubes":[{"origin":[-8.65,34.0,-8.0],"size":[10.0,2.0,18.0],"inflate":0.0,"uv":[55.0,25.0],"mirror":false}]},{"name":"blackface","parent":"bone28","pivot":[0.0,-0.0,-6.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,-0.0,-6.75],"size":[16.0,32.0,1.0],"inflate":0.0,"uv":[0.0,97.0],"mirror":false}]},{"name":"bone11","parent":"bone28","pivot":[0.0,-0.0,9.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[8.0,-0.0,7.0],"size":[2.0,37.0,2.0],"inflate":0.0,"uv":[35.0,63.0],"mirror":false},{"origin":[-10.0,-0.0,7.0],"size":[2.0,37.0,2.0],"inflate":0.0,"uv":[35.0,63.0],"mirror":true}]},{"name":"bone12","parent":"bone28","pivot":[9.0,20.0,-6.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[8.25,6.5,2.8000002],"size":[1.0,21.0,5.0],"inflate":0.0,"uv":[49.0,91.0],"mirror":false},{"origin":[7.5,2.0,0.75],"size":[3.0,29.0,1.0],"inflate":-0.025000000993410747,"uv":[44.0,63.0],"mirror":false},{"origin":[7.5,2.0,-2.0],"size":[3.0,29.0,1.0],"inflate":-0.025000000993410747,"uv":[44.0,63.0],"mirror":false},{"origin":[8.0,-0.0,-7.0],"size":[1.0,32.0,16.0],"inflate":0.0,"uv":[57.0,47.0],"mirror":false}]},{"name":"bone17","parent":"bone12","pivot":[9.0,29.0,-0.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.5,27.5,-2.0],"size":[3.0,3.0,3.0],"inflate":0.0,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone18","parent":"bone12","pivot":[9.0,2.75,-0.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.5,1.25,-2.0],"size":[3.0,3.0,3.0],"inflate":0.25,"uv":[0.0,30.0],"mirror":false}]},{"name":"bone15","parent":"bone12","pivot":[8.75,24.0,-4.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r20","parent":"bone15","pivot":[9.0,24.0,-4.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[8.25,21.0,-7.0],"size":[1.0,6.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone16","parent":"bone12","pivot":[9.0,20.0,-6.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r22","parent":"bone16","pivot":[9.0,20.0,-6.0],"rotation":[-77.49827013449695,0.0,0.0],"cubes":[{"origin":[8.5,18.0,-8.0],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false}]},{"name":"bone19","parent":"bone12","pivot":[9.0,5.0,5.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r19","parent":"bone19","pivot":[9.0,5.0,5.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[8.5,2.0,2.0],"size":[1.0,6.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone20","parent":"bone12","pivot":[9.0,27.0,5.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r18","parent":"bone20","pivot":[9.0,27.0,5.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[8.5,25.0,3.0],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false}]},{"name":"bone14","parent":"bone12","pivot":[9.0,28.0,-6.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r21","parent":"bone14","pivot":[9.0,28.0,-6.0],"rotation":[-35.00199083574193,0.0,0.0],"cubes":[{"origin":[8.5,26.0,-8.0],"size":[1.0,4.0,4.0],"inflate":0.0,"uv":[0.0,21.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/mystic_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/mystic_shell.json
new file mode 100644
index 00000000..2987dab1
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/mystic_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"mystic_shell","texture_width":256,"texture_height":256},"bones":[{"name":"bone10","pivot":[-15.0,14.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,35.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,77.0],"mirror":false},{"origin":[5.0,35.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,77.0],"mirror":true},{"origin":[5.0,-0.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[77.0,40.0],"mirror":true},{"origin":[-10.0,-0.0,-10.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[77.0,40.0],"mirror":false},{"origin":[-10.0,-0.0,5.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[29.0,72.0],"mirror":false},{"origin":[5.0,-0.0,5.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[29.0,72.0],"mirror":true}]},{"name":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false},{"origin":[-5.0,35.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[28.0,66.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false},{"origin":[-5.0,35.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[28.0,66.0],"mirror":false}]},{"name":"bone9","parent":"bone8","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false},{"origin":[-5.0,35.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[28.0,66.0],"mirror":false}]},{"name":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r2","parent":"bone2","pivot":[0.0,40.0,-11.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,39.0,-11.0],"size":[2.0,1.0,10.0],"inflate":0.0,"uv":[62.0,45.0],"mirror":false}]},{"name":"bone12","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone13","parent":"bone12","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r4","parent":"bone13","pivot":[0.0,40.0,-11.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,39.0,-11.0],"size":[2.0,1.0,10.0],"inflate":0.0,"uv":[62.0,45.0],"mirror":false}]},{"name":"cube_r3","parent":"bone12","pivot":[0.0,40.0,-11.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,39.0,-11.0],"size":[2.0,1.0,10.0],"inflate":0.0,"uv":[62.0,45.0],"mirror":false}]},{"name":"cube_r1","parent":"bone","pivot":[0.0,40.0,-11.0],"rotation":[17.498131861061438,0.0,0.0],"cubes":[{"origin":[-1.0,39.0,-11.0],"size":[2.0,1.0,10.0],"inflate":0.0,"uv":[62.0,45.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"left_door","pivot":[-7.0,19.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-3.025,16.0,-9.0],"size":[3.0,6.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":true},{"origin":[-7.0,3.0,-8.0],"size":[7.0,32.0,1.0],"inflate":0.0,"uv":[62.0,11.0],"mirror":true}]},{"name":"bone50","parent":"left_door","pivot":[-5.75,14.0,-5.9],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-9.25,10.5,-6.4],"size":[7.0,7.0,1.0],"inflate":1.0,"uv":[130.0,166.0],"mirror":false}]},{"name":"bone53","parent":"left_door","pivot":[-3.25,26.0,-6.8],"rotation":[0.0,0.0,-27.50197355156249],"cubes":[{"origin":[-4.75,24.5,-7.4],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone20","parent":"left_door","pivot":[0.0,-0.0,1.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone21","parent":"bone20","pivot":[0.0,3.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,10.0,-7.1500006],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[72.0,196.0],"mirror":true}]},{"name":"bone24","parent":"bone20","pivot":[0.0,12.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,13.0,-7.1000004],"size":[7.0,8.0,1.0],"inflate":0.0,"uv":[72.0,176.0],"mirror":true}]},{"name":"bone25","parent":"bone20","pivot":[0.0,34.0,-7.125],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,27.0,-7.125],"size":[7.0,8.0,1.0],"inflate":0.0,"uv":[72.0,212.0],"mirror":true}]},{"name":"bone22","parent":"bone20","pivot":[0.0,10.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,10.0,-7.1250005],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[72.0,204.0],"mirror":true}]},{"name":"bone23","parent":"bone20","pivot":[0.0,4.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,19.0,-7.1000004],"size":[5.0,9.0,1.0],"inflate":0.0,"uv":[74.0,153.0],"mirror":true}]},{"name":"bone54","parent":"left_door","pivot":[-5.0,23.0,-6.55],"rotation":[0.0,0.0,-27.50197355156249],"cubes":[{"origin":[-6.5,21.5,-7.25],"size":[3.0,3.0,1.0],"inflate":0.25,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone51","parent":"left_door","pivot":[-4.75,33.0,-7.0],"rotation":[0.0,0.0,37.50008812844449],"cubes":[{"origin":[-7.75,30.0,-7.5],"size":[6.0,6.0,1.0],"inflate":0.0,"uv":[130.0,158.0],"mirror":false}]},{"name":"bone52","parent":"left_door","pivot":[-5.25,28.25,-6.8],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.75,26.75,-7.3],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone55","parent":"left_door","pivot":[-5.0,5.0,-5.8],"rotation":[0.0,0.0,-27.50197355156249],"cubes":[{"origin":[-6.5,3.5,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone6","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,-0.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[79.0,11.0],"mirror":false},{"origin":[-5.0,35.0,-9.0],"size":[10.0,3.0,2.0],"inflate":0.0,"uv":[28.0,66.0],"mirror":false}]},{"name":"bone58","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone57","parent":"bone58","pivot":[0.0,38.25,-6.475],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,33.75,-6.975],"size":[9.0,9.0,1.0],"inflate":-0.25,"uv":[148.0,158.0],"mirror":false},{"origin":[-4.5,33.75,6.725],"size":[9.0,9.0,1.0],"inflate":-0.25,"uv":[148.0,158.0],"mirror":true}]},{"name":"bone11","pivot":[-15.0,14.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,35.0,5.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,66.0],"mirror":false},{"origin":[5.0,35.0,5.0],"size":[5.0,5.0,5.0],"inflate":0.0,"uv":[73.0,66.0],"mirror":true}]},{"name":"bone56","pivot":[0.0,38.25,-6.475],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,33.75,-6.975],"size":[9.0,9.0,1.0],"inflate":-0.25,"uv":[148.0,158.0],"mirror":false},{"origin":[-4.5,33.75,6.725],"size":[9.0,9.0,1.0],"inflate":-0.25,"uv":[148.0,158.0],"mirror":true}]},{"name":"right_door","pivot":[7.0,19.0,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.025000095,16.0,-9.0],"size":[3.0,6.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[0.0,3.0,-8.0],"size":[7.0,32.0,1.0],"inflate":0.0,"uv":[62.0,11.0],"mirror":false}]},{"name":"bone17","parent":"right_door","pivot":[0.0,-0.0,1.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone18","parent":"bone17","pivot":[0.0,10.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,10.0,-7.1250005],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[72.0,204.0],"mirror":false}]},{"name":"bone15","parent":"bone17","pivot":[0.0,4.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,19.0,-7.1000004],"size":[5.0,9.0,1.0],"inflate":0.0,"uv":[74.0,153.0],"mirror":false}]},{"name":"bone16","parent":"bone17","pivot":[0.0,3.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,10.0,-7.1500006],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[72.0,196.0],"mirror":false}]},{"name":"bone19","parent":"bone17","pivot":[0.0,34.0,-7.125],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,27.0,-7.125],"size":[7.0,8.0,1.0],"inflate":0.0,"uv":[72.0,212.0],"mirror":false}]},{"name":"bone14","parent":"bone17","pivot":[0.0,12.0,-6.1000004],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,13.0,-7.1000004],"size":[7.0,8.0,1.0],"inflate":0.0,"uv":[72.0,176.0],"mirror":false}]},{"name":"bone48","parent":"right_door","pivot":[-0.75,26.25,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-1.25,21.75,-7.6],"size":[1.0,9.0,1.0],"inflate":0.0,"uv":[130.0,187.0],"mirror":false}]},{"name":"bone49","parent":"right_door","pivot":[4.5,23.25,-6.8],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[3.0,21.75,-7.3],"size":[3.0,3.0,1.0],"inflate":0.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone46","parent":"right_door","pivot":[3.5,30.0,-7.0],"rotation":[0.0,0.0,-152.4984532215751],"cubes":[{"origin":[-1.0,25.5,-7.5],"size":[9.0,9.0,1.0],"inflate":0.0,"uv":[130.0,176.0],"mirror":false}]},{"name":"bone47","parent":"right_door","pivot":[4.5,7.0,-6.4],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[1.0,3.5,-6.9],"size":[7.0,7.0,1.0],"inflate":0.5,"uv":[130.0,166.0],"mirror":false}]},{"name":"bone44","parent":"right_door","pivot":[2.0,11.0,-7.0],"rotation":[0.0,0.0,37.50008812844449],"cubes":[{"origin":[-1.0,8.0,-7.5],"size":[6.0,6.0,1.0],"inflate":0.0,"uv":[130.0,158.0],"mirror":false}]},{"name":"bone45","parent":"right_door","pivot":[5.5,18.0,-6.9],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[2.0,14.5,-7.4],"size":[7.0,7.0,1.0],"inflate":0.0,"uv":[130.0,166.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-10.0,19.0,-10.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[9.0,77.0],"mirror":false},{"origin":[-9.0,5.0,-9.0],"size":[2.0,30.0,2.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":false},{"origin":[7.0,5.0,-9.0],"size":[2.0,30.0,2.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":true},{"origin":[7.0,5.0,7.0],"size":[2.0,30.0,2.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":true},{"origin":[-9.0,5.0,7.0],"size":[2.0,30.0,2.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":false},{"origin":[6.0,19.0,-10.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[9.0,77.0],"mirror":true},{"origin":[-10.0,19.0,6.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[43.0,16.0],"mirror":false},{"origin":[6.0,19.0,6.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[43.0,16.0],"mirror":true},{"origin":[-7.0,36.0,-7.0],"size":[14.0,1.0,14.0],"inflate":0.0,"uv":[0.0,16.0],"mirror":false},{"origin":[-7.0,-0.0,-7.0],"size":[14.0,1.0,14.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-3.0,41.0,-3.0],"size":[6.0,4.0,6.0],"inflate":0.0,"uv":[9.0,66.0],"mirror":false},{"origin":[-3.0,42.0,-3.0],"size":[6.0,2.0,6.0],"inflate":0.5,"uv":[65.0,57.0],"mirror":false},{"origin":[-7.0,3.0,1.0],"size":[14.0,32.0,1.0],"inflate":-0.025000000993410747,"uv":[0.0,32.0],"mirror":false},{"origin":[6.9,3.0,-7.0],"size":[1.0,32.0,8.0],"inflate":-0.025000000993410747,"uv":[54.0,58.0],"mirror":false},{"origin":[-7.9,3.0,-7.0],"size":[1.0,32.0,8.0],"inflate":-0.025000000993410747,"uv":[54.0,58.0],"mirror":true},{"origin":[-6.9,34.9,-7.0],"size":[14.0,1.0,8.0],"inflate":-0.025000000993410747,"uv":[44.0,0.0],"mirror":false},{"origin":[-6.9,3.1,-7.0],"size":[14.0,1.0,8.0],"inflate":-0.025000000993410747,"uv":[44.0,0.0],"mirror":false}]},{"name":"side_animations","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone26","parent":"side_animations","pivot":[-1.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone28","parent":"bone26","pivot":[-1.0,10.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,10.0,-8.125],"size":[14.0,7.0,1.0],"inflate":0.0,"uv":[94.0,204.0],"mirror":false}]},{"name":"bone29","parent":"bone26","pivot":[-1.0,4.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,19.0,-8.1],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[98.0,153.0],"mirror":false}]},{"name":"bone27","parent":"bone26","pivot":[-1.0,3.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,10.0,-8.15],"size":[14.0,7.0,1.0],"inflate":0.0,"uv":[94.0,196.0],"mirror":false}]},{"name":"bone31","parent":"bone26","pivot":[-1.0,34.0,-8.125],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,27.0,-8.125],"size":[14.0,8.0,1.0],"inflate":0.0,"uv":[94.0,212.0],"mirror":false}]},{"name":"bone30","parent":"bone26","pivot":[-1.0,12.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,13.0,-8.1],"size":[14.0,8.0,1.0],"inflate":0.0,"uv":[94.0,176.0],"mirror":false}]},{"name":"bone38","parent":"side_animations","pivot":[1.0,-0.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[]},{"name":"bone39","parent":"bone38","pivot":[1.0,3.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,10.0,-8.15],"size":[14.0,7.0,1.0],"inflate":0.0,"uv":[94.0,196.0],"mirror":false}]},{"name":"bone42","parent":"bone38","pivot":[1.0,12.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,13.0,-8.1],"size":[14.0,8.0,1.0],"inflate":0.0,"uv":[94.0,176.0],"mirror":false}]},{"name":"bone43","parent":"bone38","pivot":[1.0,34.0,-8.125],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,27.0,-8.125],"size":[14.0,8.0,1.0],"inflate":0.0,"uv":[94.0,212.0],"mirror":false}]},{"name":"bone40","parent":"bone38","pivot":[1.0,10.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,10.0,-8.125],"size":[14.0,7.0,1.0],"inflate":0.0,"uv":[94.0,204.0],"mirror":false}]},{"name":"bone41","parent":"bone38","pivot":[1.0,4.0,-7.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.0,19.0,-8.1],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[98.0,153.0],"mirror":false}]},{"name":"bone32","parent":"side_animations","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone37","parent":"bone32","pivot":[0.0,34.0,-9.125],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,27.0,-9.125],"size":[14.0,8.0,1.0],"inflate":0.0,"uv":[94.0,212.0],"mirror":false}]},{"name":"bone35","parent":"bone32","pivot":[0.0,4.0,-8.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,19.0,-9.1],"size":[10.0,9.0,1.0],"inflate":0.0,"uv":[98.0,153.0],"mirror":false}]},{"name":"bone36","parent":"bone32","pivot":[0.0,12.0,-8.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,13.0,-9.1],"size":[14.0,8.0,1.0],"inflate":0.0,"uv":[94.0,176.0],"mirror":false}]},{"name":"bone33","parent":"bone32","pivot":[0.0,3.0,-8.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,10.0,-9.150001],"size":[14.0,7.0,1.0],"inflate":0.0,"uv":[94.0,196.0],"mirror":false}]},{"name":"bone34","parent":"bone32","pivot":[0.0,10.0,-8.1],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,10.0,-9.125],"size":[14.0,7.0,1.0],"inflate":0.0,"uv":[94.0,204.0],"mirror":false}]},{"name":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,3.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[31.0,32.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,3.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[31.0,32.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,3.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[31.0,32.0],"mirror":false}]},{"name":"gold_animations","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone60","parent":"gold_animations","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone59","parent":"bone60","pivot":[1.5,30.0,-6.5],"rotation":[0.0,0.0,-152.4984532215751],"cubes":[{"origin":[-3.0,25.5,-7.0],"size":[9.0,9.0,1.0],"inflate":0.5,"uv":[130.0,176.0],"mirror":false}]},{"name":"bone61","parent":"bone60","pivot":[-2.75,25.0,-5.9],"rotation":[0.0,0.0,45.00010370507663],"cubes":[{"origin":[-6.25,21.5,-6.4],"size":[7.0,7.0,1.0],"inflate":1.0,"uv":[130.0,166.0],"mirror":false}]},{"name":"bone64","parent":"bone60","pivot":[3.5,11.5,-5.8],"rotation":[0.0,0.0,7.500017284179439],"cubes":[{"origin":[2.0,10.0,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone65","parent":"bone60","pivot":[-2.75,7.0,-7.0],"rotation":[0.0,0.0,37.50008812844449],"cubes":[{"origin":[-5.75,4.0,-6.5],"size":[6.0,6.0,1.0],"inflate":1.0,"uv":[130.0,158.0],"mirror":false}]},{"name":"bone62","parent":"bone60","pivot":[3.0,19.0,-5.8],"rotation":[0.0,0.0,-27.50197355156249],"cubes":[{"origin":[1.5,17.5,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone63","parent":"bone60","pivot":[0.0,15.0,-5.8],"rotation":[0.0,0.0,37.50008812844449],"cubes":[{"origin":[-1.5,13.5,-6.4],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":false}]},{"name":"bone73","parent":"gold_animations","pivot":[0.0,-0.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[]},{"name":"bone75","parent":"bone73","pivot":[2.75,25.0,-5.9],"rotation":[0.0,0.0,-45.00010370507663],"cubes":[{"origin":[-0.75,21.5,-6.4],"size":[7.0,7.0,1.0],"inflate":1.0,"uv":[130.0,166.0],"mirror":true}]},{"name":"bone76","parent":"bone73","pivot":[-3.0,19.0,-5.8],"rotation":[0.0,0.0,27.50197355156249],"cubes":[{"origin":[-4.5,17.5,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":true}]},{"name":"bone74","parent":"bone73","pivot":[-1.5,30.0,-6.5],"rotation":[0.0,0.0,152.4984532215751],"cubes":[{"origin":[-6.0,25.5,-7.0],"size":[9.0,9.0,1.0],"inflate":0.5,"uv":[130.0,176.0],"mirror":true}]},{"name":"bone79","parent":"bone73","pivot":[2.75,7.0,-7.0],"rotation":[0.0,0.0,-37.50008812844449],"cubes":[{"origin":[-0.25,4.0,-6.5],"size":[6.0,6.0,1.0],"inflate":1.0,"uv":[130.0,158.0],"mirror":true}]},{"name":"bone77","parent":"bone73","pivot":[0.0,15.0,-5.8],"rotation":[0.0,0.0,-37.50008812844449],"cubes":[{"origin":[-1.5,13.5,-6.4],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":true}]},{"name":"bone78","parent":"bone73","pivot":[-3.5,11.5,-5.8],"rotation":[0.0,0.0,-7.500017284179439],"cubes":[{"origin":[-5.0,10.0,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":true}]},{"name":"bone66","parent":"gold_animations","pivot":[0.0,-0.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[]},{"name":"bone71","parent":"bone66","pivot":[-3.5,11.5,-5.8],"rotation":[0.0,0.0,-7.500017284179439],"cubes":[{"origin":[-5.0,10.0,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":true}]},{"name":"bone72","parent":"bone66","pivot":[2.75,7.0,-7.0],"rotation":[0.0,0.0,-37.50008812844449],"cubes":[{"origin":[-0.25,4.0,-6.5],"size":[6.0,6.0,1.0],"inflate":1.0,"uv":[130.0,158.0],"mirror":true}]},{"name":"bone70","parent":"bone66","pivot":[0.0,15.0,-5.8],"rotation":[0.0,0.0,-37.50008812844449],"cubes":[{"origin":[-1.5,13.5,-6.4],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":true}]},{"name":"bone68","parent":"bone66","pivot":[2.75,25.0,-5.9],"rotation":[0.0,0.0,-45.00010370507663],"cubes":[{"origin":[-0.75,21.5,-6.4],"size":[7.0,7.0,1.0],"inflate":1.0,"uv":[130.0,166.0],"mirror":true}]},{"name":"bone69","parent":"bone66","pivot":[-3.0,19.0,-5.8],"rotation":[0.0,0.0,27.50197355156249],"cubes":[{"origin":[-4.5,17.5,-6.5],"size":[3.0,3.0,1.0],"inflate":1.0,"uv":[147.0,170.0],"mirror":true}]},{"name":"bone67","parent":"bone66","pivot":[-1.5,30.0,-6.5],"rotation":[0.0,0.0,152.4984532215751],"cubes":[{"origin":[-6.0,25.5,-7.0],"size":[9.0,9.0,1.0],"inflate":0.5,"uv":[130.0,176.0],"mirror":true}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/nuka_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/nuka_shell.json
new file mode 100644
index 00000000..6e037694
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/nuka_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"nuka_shell","texture_width":256,"texture_height":256},"bones":[{"name":"wheel_1","pivot":[11.5,30.5,-2.5],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[11.0,29.0,-4.0],"size":[1.0,3.0,3.0],"inflate":0.25,"uv":[13.0,28.0],"mirror":false}]},{"name":"right_door","pivot":[8.0,22.0,-10.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[0.0,6.0,-10.0],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[133.0,76.0],"mirror":false}]},{"name":"wheel_2","pivot":[11.5,30.5,2.5],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[11.0,29.0,1.0],"size":[1.0,3.0,3.0],"inflate":0.25,"uv":[13.0,28.0],"mirror":false}]},{"name":"wheel_3","pivot":[-11.5,23.5,2.0],"rotation":[9.998113723108352,0.0,0.0],"cubes":[{"origin":[-12.0,21.0,-0.5],"size":[1.0,5.0,5.0],"inflate":0.0,"uv":[36.0,55.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-12.0,-0.0,-12.0],"size":[24.0,3.0,24.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-11.5,38.0625,-11.5],"size":[23.0,3.0,23.0],"inflate":0.125,"uv":[0.0,28.0],"mirror":false},{"origin":[-7.5,41.0,-7.5],"size":[15.0,3.0,15.0],"inflate":0.0,"uv":[70.0,28.0],"mirror":false},{"origin":[7.0,18.0,-11.75],"size":[5.0,8.0,2.0],"inflate":0.0,"uv":[0.0,55.0],"mirror":false},{"origin":[9.0,6.0,-8.0],"size":[1.0,32.0,16.0],"inflate":0.0,"uv":[70.0,55.0],"mirror":false},{"origin":[-10.0,6.0,-8.0],"size":[1.0,32.0,16.0],"inflate":0.0,"uv":[35.0,55.0],"mirror":false},{"origin":[10.0,14.0,-6.0],"size":[1.0,20.0,12.0],"inflate":0.0,"uv":[37.0,104.0],"mirror":false},{"origin":[-11.0,14.0,-6.0],"size":[1.0,20.0,12.0],"inflate":0.0,"uv":[93.0,92.0],"mirror":false},{"origin":[-12.0,15.0,-5.0],"size":[1.0,3.0,10.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false}]},{"name":"cube_r4","parent":"bb_main","pivot":[-9.5,4.5,-9.5],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[-11.0,3.0,-11.0],"size":[3.0,38.0,3.0],"inflate":0.0,"uv":[81.0,122.0],"mirror":false}]},{"name":"cube_r5","parent":"bb_main","pivot":[9.5,4.5,-9.5],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[8.0,3.0,-11.0],"size":[3.0,38.0,3.0],"inflate":0.0,"uv":[94.0,125.0],"mirror":false}]},{"name":"cube_r1","parent":"bb_main","pivot":[11.0,17.0,0.0],"rotation":[0.0,0.0,37.50008812844449],"cubes":[{"origin":[10.5,15.0,-6.0],"size":[2.0,2.0,12.0],"inflate":0.0,"uv":[19.0,55.0],"mirror":false}]},{"name":"cube_r2","parent":"bb_main","pivot":[9.5,4.5,9.5],"rotation":[0.0,45.00010370507663,0.0],"cubes":[{"origin":[8.0,3.0,8.0],"size":[3.0,38.0,3.0],"inflate":0.0,"uv":[120.0,70.0],"mirror":false}]},{"name":"cube_r3","parent":"bb_main","pivot":[-9.5,4.5,9.5],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[{"origin":[-11.0,3.0,8.0],"size":[3.0,38.0,3.0],"inflate":0.0,"uv":[120.0,112.0],"mirror":false}]},{"name":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,3.0,-11.0],"size":[18.0,3.0,1.0],"inflate":0.0,"uv":[127.0,5.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-9.0,3.0,-11.0],"size":[18.0,3.0,1.0],"inflate":0.0,"uv":[127.0,0.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-9.0,3.0,-11.0],"size":[18.0,3.0,1.0],"inflate":0.0,"uv":[73.0,15.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-9.0,3.0,-11.0],"size":[18.0,3.0,1.0],"inflate":0.0,"uv":[73.0,10.0],"mirror":false}]},{"name":"sign","pivot":[-0.5,49.5,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-4.5,45.5,-1.0],"size":[8.0,8.0,2.0],"inflate":0.0,"uv":[133.0,110.0],"mirror":false},{"origin":[-5.5,44.5,0.0],"size":[10.0,10.0,1.0],"inflate":0.25,"uv":[110.0,47.0],"mirror":false},{"origin":[-5.5,44.5,-1.0],"size":[10.0,10.0,2.0],"inflate":0.0,"uv":[54.0,55.0],"mirror":false}]},{"name":"black","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.5,5.0,-10.0],"size":[17.0,1.0,8.0],"inflate":0.0,"uv":[73.0,0.0],"mirror":false},{"origin":[-8.5,6.0,-2.0],"size":[17.0,32.0,1.0],"inflate":0.0,"uv":[0.0,104.0],"mirror":false},{"origin":[8.5,6.0,-9.0],"size":[1.0,32.0,7.0],"inflate":0.0,"uv":[117.0,3.0],"mirror":false},{"origin":[-9.5,6.0,-9.0],"size":[1.0,32.0,7.0],"inflate":0.0,"uv":[64.0,104.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"left_door","pivot":[-8.0,22.0,-10.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,6.0,-10.0],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[133.0,42.0],"mirror":false}]},{"name":"bone6","pivot":[0.0,-0.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[{"origin":[-10.0,6.0,-8.0],"size":[1.0,32.0,16.0],"inflate":0.0,"uv":[0.0,55.0],"mirror":false},{"origin":[-9.0,17.0,-4.0],"size":[3.0,12.0,8.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-8.5,20.5,4.0],"size":[1.0,5.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-13.0,8.0,-7.0],"size":[3.0,8.0,14.0],"inflate":0.0,"uv":[89.0,47.0],"mirror":false}]},{"name":"wheel_4","pivot":[-11.5,22.5,-3.0],"rotation":[-9.998113723108352,0.0,0.0],"cubes":[{"origin":[-12.0,21.0,-4.5],"size":[1.0,3.0,3.0],"inflate":0.25,"uv":[15.0,0.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/pagoda_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/pagoda_shell.json
new file mode 100644
index 00000000..908895da
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/pagoda_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"pagoda_shell","texture_width":128,"texture_height":128},"bones":[{"name":"bone17","pivot":[0.0,41.25,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone18","parent":"bone17","pivot":[0.0,41.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone19","parent":"bone18","pivot":[0.0,41.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone20","parent":"bone19","pivot":[0.0,41.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r7","parent":"bone20","pivot":[0.0,41.25,-2.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,40.25,-7.0],"size":[10.0,1.0,5.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"cube_r6","parent":"bone19","pivot":[0.0,41.25,-2.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,40.25,-7.0],"size":[10.0,1.0,5.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"cube_r5","parent":"bone18","pivot":[0.0,41.25,-2.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,40.25,-7.0],"size":[10.0,1.0,5.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"cube_r4","parent":"bone17","pivot":[0.0,41.25,-2.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,40.25,-7.0],"size":[10.0,1.0,5.0],"inflate":0.0,"uv":[49.0,0.0],"mirror":false}]},{"name":"door","pivot":[7.0,18.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,8.0,-8.5],"size":[14.0,24.0,1.0],"inflate":0.0,"uv":[0.0,52.0],"mirror":false},{"origin":[-7.0,-0.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[0.0,18.0],"mirror":false}]},{"name":"bb_main","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-5.0,32.0,-5.0],"size":[10.0,7.0,10.0],"inflate":0.0,"uv":[31.0,27.0],"mirror":false},{"origin":[-2.0,39.0,-2.0],"size":[4.0,4.0,4.0],"inflate":0.0,"uv":[77.0,27.0],"mirror":false},{"origin":[-8.0,-0.0,-8.0],"size":[16.0,1.0,16.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,32.0,-9.0],"size":[18.0,1.0,18.0],"inflate":0.0,"uv":[23.0,91.0],"mirror":false},{"origin":[-8.0,-0.975,-8.0],"size":[16.0,1.0,16.0],"inflate":0.0,"uv":[0.0,111.0],"mirror":false}]},{"name":"bone4","pivot":[0.0,-0.0,-1.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.0,-0.0,-9.0],"size":[2.0,32.0,2.0],"inflate":0.0,"uv":[31.0,71.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[7.0,-0.0,-9.0],"size":[2.0,32.0,2.0],"inflate":0.0,"uv":[31.0,71.0],"mirror":false}]},{"name":"bone7","parent":"bone5","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[7.0,-0.0,-9.0],"size":[2.0,32.0,2.0],"inflate":0.0,"uv":[31.0,71.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[7.0,-0.0,-9.0],"size":[2.0,32.0,2.0],"inflate":0.0,"uv":[31.0,71.0],"mirror":false}]},{"name":"bone21","pivot":[0.0,42.25,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[]},{"name":"cube_r8","parent":"bone21","pivot":[0.0,42.25,-2.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-0.025,40.5234,-10.3557],"size":[1.0,5.0,12.0],"inflate":0.0,"uv":[50.0,59.0],"mirror":false},{"origin":[-1.0,40.0234,-8.8557],"size":[2.0,2.0,7.0],"inflate":0.0,"uv":[69.0,7.0],"mirror":false}]},{"name":"bone22","parent":"bone21","pivot":[0.0,42.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r9","parent":"bone22","pivot":[0.0,42.25,-2.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-0.025,40.5234,-10.3557],"size":[1.0,5.0,12.0],"inflate":0.0,"uv":[50.0,59.0],"mirror":false},{"origin":[-1.0,40.0234,-8.8557],"size":[2.0,2.0,7.0],"inflate":0.0,"uv":[69.0,7.0],"mirror":false}]},{"name":"bone23","parent":"bone22","pivot":[0.0,42.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r10","parent":"bone23","pivot":[0.0,42.25,-2.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-0.025,40.5234,-10.3557],"size":[1.0,5.0,12.0],"inflate":0.0,"uv":[50.0,59.0],"mirror":false},{"origin":[-1.0,40.0234,-8.8557],"size":[2.0,2.0,7.0],"inflate":0.0,"uv":[69.0,7.0],"mirror":false}]},{"name":"bone24","parent":"bone23","pivot":[0.0,42.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r11","parent":"bone24","pivot":[0.0,42.25,-2.0],"rotation":[24.998149145240877,0.0,0.0],"cubes":[{"origin":[-0.025,40.5234,-10.3557],"size":[1.0,5.0,12.0],"inflate":0.0,"uv":[50.0,59.0],"mirror":false},{"origin":[-1.0,40.0234,-8.8557],"size":[2.0,2.0,7.0],"inflate":0.0,"uv":[69.0,7.0],"mirror":false}]},{"name":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,-0.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[0.0,18.0],"mirror":false},{"origin":[-7.0,8.0,-8.5],"size":[14.0,24.0,1.0],"inflate":0.0,"uv":[31.0,45.0],"mirror":false},{"origin":[-4.0,15.0,-10.0],"size":[8.0,13.0,2.0],"inflate":0.0,"uv":[75.0,75.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,-0.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[0.0,18.0],"mirror":false},{"origin":[-7.0,8.0,-8.5],"size":[14.0,24.0,1.0],"inflate":0.0,"uv":[31.0,45.0],"mirror":false},{"origin":[-4.0,15.0,-10.0],"size":[8.0,13.0,2.0],"inflate":0.0,"uv":[75.0,75.0],"mirror":false}]},{"name":"bone6","parent":"bone2","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,-0.0,-8.0],"size":[14.0,32.0,1.0],"inflate":0.0,"uv":[0.0,18.0],"mirror":false},{"origin":[-7.0,8.0,-8.5],"size":[14.0,24.0,1.0],"inflate":0.0,"uv":[31.0,45.0],"mirror":false},{"origin":[-4.0,15.0,-10.0],"size":[8.0,13.0,2.0],"inflate":0.0,"uv":[75.0,75.0],"mirror":false}]},{"name":"cube_r3","parent":"bone6","pivot":[1.0,28.0,-11.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,26.0,-11.0],"size":[10.0,2.0,3.0],"inflate":0.0,"uv":[49.0,7.0],"mirror":false}]},{"name":"cube_r2","parent":"bone2","pivot":[1.0,28.0,-11.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,26.0,-11.0],"size":[10.0,2.0,3.0],"inflate":0.0,"uv":[49.0,7.0],"mirror":false}]},{"name":"cube_r1","parent":"bone","pivot":[1.0,28.0,-11.0],"rotation":[30.000069136717755,0.0,0.0],"cubes":[{"origin":[-5.0,26.0,-11.0],"size":[10.0,2.0,3.0],"inflate":0.0,"uv":[49.0,7.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone13","pivot":[0.0,35.25,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"cube_r12","parent":"bone13","pivot":[0.0,35.25,-5.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,33.25,-11.0],"size":[19.0,2.0,6.0],"inflate":0.0,"uv":[31.0,18.0],"mirror":false}]},{"name":"bone14","parent":"bone13","pivot":[0.0,35.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone15","parent":"bone14","pivot":[0.0,35.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"bone16","parent":"bone15","pivot":[0.0,35.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r15","parent":"bone16","pivot":[0.0,35.25,-5.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,33.25,-11.0],"size":[19.0,2.0,6.0],"inflate":0.0,"uv":[31.0,18.0],"mirror":false}]},{"name":"cube_r14","parent":"bone15","pivot":[0.0,35.25,-5.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,33.25,-11.0],"size":[19.0,2.0,6.0],"inflate":0.0,"uv":[31.0,18.0],"mirror":false}]},{"name":"cube_r13","parent":"bone14","pivot":[0.0,35.25,-5.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-9.5,33.25,-11.0],"size":[19.0,2.0,6.0],"inflate":0.0,"uv":[31.0,18.0],"mirror":false}]},{"name":"bone9","pivot":[0.0,35.25,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[]},{"name":"cube_r16","parent":"bone9","pivot":[0.0,35.25,-6.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[0.0,33.75,-17.0],"size":[1.0,4.0,12.0],"inflate":0.0,"uv":[62.0,33.0],"mirror":false},{"origin":[-1.0,34.25,-15.0],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[65.0,50.0],"mirror":false}]},{"name":"bone10","parent":"bone9","pivot":[0.0,35.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r17","parent":"bone10","pivot":[0.0,35.25,-6.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[0.0,33.75,-17.0],"size":[1.0,4.0,12.0],"inflate":0.0,"uv":[62.0,33.0],"mirror":false},{"origin":[-1.0,34.25,-15.0],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[65.0,50.0],"mirror":false}]},{"name":"bone11","parent":"bone10","pivot":[0.0,35.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r18","parent":"bone11","pivot":[0.0,35.25,-6.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[0.0,33.75,-17.0],"size":[1.0,4.0,12.0],"inflate":0.0,"uv":[62.0,33.0],"mirror":false},{"origin":[-1.0,34.25,-15.0],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[65.0,50.0],"mirror":false}]},{"name":"bone12","parent":"bone11","pivot":[0.0,35.25,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[]},{"name":"cube_r19","parent":"bone12","pivot":[0.0,35.25,-6.0],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[0.0,33.75,-17.0],"size":[1.0,4.0,12.0],"inflate":0.0,"uv":[62.0,33.0],"mirror":false},{"origin":[-1.0,34.25,-15.0],"size":[2.0,2.0,10.0],"inflate":0.0,"uv":[65.0,50.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/pathfinder_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/pathfinder_shell.json
new file mode 100644
index 00000000..827165ac
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/pathfinder_shell.json
@@ -0,0 +1,89 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "pathfinder_shell",
+ "texture_width": 128,
+ "texture_height": 128
+ },
+ "bones": [
+ {
+ "name": "bb_main",
+ "pivot": [0, 0, 0],
+ "cubes": [
+ {"origin": [-16, 0, 4], "size": [5, 34, 4], "uv": [27, 47]},
+ {"origin": [-17, 34, 3], "size": [7, 3, 5], "uv": [58, 61]},
+ {"origin": [-10, 34, 4], "size": [20, 3, 4], "uv": [47, 11]},
+ {"origin": [10, 34, 3], "size": [7, 3, 5], "uv": [58, 61], "mirror": true},
+ {"origin": [11, 0, 4], "size": [5, 34, 4], "uv": [27, 47], "mirror": true},
+ {"origin": [-11, 0.025, 7], "size": [22, 34, 1], "uv": [0, 0]}
+ ]
+ },
+ {
+ "name": "l_door",
+ "pivot": [-10, 16, 6.75],
+ "cubes": [
+ {"origin": [-11, 0, 5.75], "size": [11, 34, 2], "uv": [0, 36], "mirror": true}
+ ]
+ },
+ {
+ "name": "cube_r4",
+ "parent": "l_door",
+ "pivot": [-3.5, 16, 5.75],
+ "rotation": [-15, 0, 15],
+ "cubes": [
+ {"origin": [-6, 11, 5.75], "size": [5, 5, 1], "uv": [47, 28]}
+ ]
+ },
+ {
+ "name": "bone3",
+ "pivot": [0.5, -5, 1.25],
+ "cubes": [
+ {"origin": [-9.5, 45, 4.025], "size": [19, 4, 4], "inflate": 0.025, "uv": [47, 19]},
+ {"origin": [-11.5, 37, 4.275], "size": [23, 8, 2], "uv": [27, 36]},
+ {"origin": [-11.5, 37, 5.275], "size": [23, 8, 2], "uv": [47, 0]}
+ ]
+ },
+ {
+ "name": "cube_r1",
+ "parent": "bone3",
+ "pivot": [16.5, 36.375, 6],
+ "rotation": [0, 0, -30],
+ "cubes": [
+ {"origin": [12.5, 36.375, 4.025], "size": [4, 14, 4], "uv": [46, 47], "mirror": true}
+ ]
+ },
+ {
+ "name": "cube_r2",
+ "parent": "bone3",
+ "pivot": [-16.5, 36.375, 6],
+ "rotation": [0, 0, 30],
+ "cubes": [
+ {"origin": [-16.5, 36.375, 4.025], "size": [4, 14, 4], "uv": [46, 47]}
+ ]
+ },
+ {
+ "name": "r_door",
+ "pivot": [10, 16, 6.75],
+ "cubes": [
+ {"origin": [0, 0, 5.75], "size": [11, 34, 2], "uv": [0, 36]}
+ ]
+ },
+ {
+ "name": "cube_r3",
+ "parent": "r_door",
+ "pivot": [3.5, 16, 5.75],
+ "rotation": [-15, 0, -15],
+ "cubes": [
+ {"origin": [1, 11, 5.75], "size": [5, 5, 1], "uv": [47, 28]}
+ ]
+ },
+ {
+ "name": "fade_value",
+ "pivot": [-24, 0, 0]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/phone_booth_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/phone_booth_shell.json
new file mode 100644
index 00000000..30de1312
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/phone_booth_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"phone_booth_shell","texture_width":128,"texture_height":128},"bones":[{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone9","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,37.5,-8.25],"size":[16.0,5.0,1.0],"inflate":0.0,"uv":[61.0,0.0],"mirror":false},{"origin":[-10.0,-0.0,-10.0],"size":[20.0,2.0,20.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-7.0,2.0,-7.0],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[40.0,71.0],"mirror":false},{"origin":[-7.0,36.0,-8.0],"size":[14.0,0.0,1.0],"inflate":0.0,"uv":[40.0,71.0],"mirror":false},{"origin":[-8.0,38.0,-8.0],"size":[16.0,4.0,16.0],"inflate":0.0,"uv":[49.0,50.0],"mirror":false},{"origin":[-8.5,42.0,-8.5],"size":[17.0,4.0,17.0],"inflate":0.0,"uv":[0.0,23.0],"mirror":false},{"origin":[-8.0,41.5,-8.0],"size":[16.0,4.0,16.0],"inflate":0.0,"uv":[0.0,45.0],"mirror":false},{"origin":[-7.0,36.0,-9.0],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[61.0,7.0],"mirror":false}]},{"name":"bone3","parent":"bone9","pivot":[-7.5,18.0,8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,2.0,7.0],"size":[2.0,36.0,2.0],"inflate":0.0,"uv":[31.0,66.0],"mirror":false},{"origin":[-9.0,2.0,7.0],"size":[2.0,8.0,2.0],"inflate":0.25,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,33.75,7.0],"size":[2.0,5.0,2.0],"inflate":0.25,"uv":[0.0,23.0],"mirror":false}]},{"name":"bone2","parent":"bone9","pivot":[7.5,18.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.0,2.0,-9.0],"size":[2.0,36.0,2.0],"inflate":0.0,"uv":[31.0,66.0],"mirror":true},{"origin":[7.0,2.0,-9.0],"size":[2.0,8.0,2.0],"inflate":0.25,"uv":[0.0,0.0],"mirror":true},{"origin":[7.0,33.75,-9.0],"size":[2.0,5.0,2.0],"inflate":0.25,"uv":[0.0,23.0],"mirror":true}]},{"name":"bone4","parent":"bone9","pivot":[7.5,18.0,8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[7.0,2.0,7.0],"size":[2.0,36.0,2.0],"inflate":0.0,"uv":[31.0,66.0],"mirror":true},{"origin":[7.0,2.0,7.0],"size":[2.0,8.0,2.0],"inflate":0.25,"uv":[0.0,0.0],"mirror":true},{"origin":[7.0,33.75,7.0],"size":[2.0,5.0,2.0],"inflate":0.25,"uv":[0.0,23.0],"mirror":true}]},{"name":"bone","parent":"bone9","pivot":[-7.5,18.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,2.0,-9.0],"size":[2.0,36.0,2.0],"inflate":0.0,"uv":[31.0,66.0],"mirror":false},{"origin":[-9.0,2.0,-9.0],"size":[2.0,8.0,2.0],"inflate":0.25,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,33.75,-9.0],"size":[2.0,5.0,2.0],"inflate":0.25,"uv":[0.0,23.0],"mirror":false}]},{"name":"bone6","parent":"bone9","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,36.0,-9.0],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[61.0,7.0],"mirror":false},{"origin":[-7.0,2.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":false},{"origin":[-8.0,37.5,-8.25],"size":[16.0,5.0,1.0],"inflate":0.0,"uv":[61.0,0.0],"mirror":false},{"origin":[-6.5,10.0,-8.0],"size":[13.0,25.0,1.0],"inflate":0.0,"uv":[69.0,23.0],"mirror":false}]},{"name":"bone7","parent":"bone6","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,36.0,-9.0],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[61.0,7.0],"mirror":false},{"origin":[-7.0,2.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":false},{"origin":[-8.0,37.5,-8.25],"size":[16.0,5.0,1.0],"inflate":0.0,"uv":[61.0,0.0],"mirror":false},{"origin":[-6.5,10.0,-8.0],"size":[13.0,25.0,1.0],"inflate":0.0,"uv":[69.0,23.0],"mirror":false}]},{"name":"bone8","parent":"bone7","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-7.0,36.0,-9.0],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[61.0,7.0],"mirror":false},{"origin":[-7.0,2.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":false},{"origin":[-8.0,37.5,-8.25],"size":[16.0,5.0,1.0],"inflate":0.0,"uv":[61.0,0.0],"mirror":false},{"origin":[-6.5,10.0,-8.0],"size":[13.0,25.0,1.0],"inflate":0.0,"uv":[69.0,23.0],"mirror":false}]},{"name":"Door","parent":"bone9","pivot":[-7.0,20.75,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,2.0,-8.5],"size":[14.0,34.0,1.0],"inflate":0.0,"uv":[0.0,66.0],"mirror":false},{"origin":[3.0,19.5,-9.5],"size":[3.0,5.0,2.0],"inflate":0.0,"uv":[9.0,0.0],"mirror":false},{"origin":[6.1000004,20.0,-11.0],"size":[1.0,4.0,3.0],"inflate":0.0,"uv":[6.0,8.0],"mirror":false},{"origin":[-6.5,10.0,-8.0],"size":[13.0,25.0,1.0],"inflate":0.0,"uv":[69.0,23.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/police_box_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/police_box_shell.json
new file mode 100644
index 00000000..fa9e034c
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/police_box_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"police_box_shell","texture_width":256,"texture_height":256},"bones":[{"name":"right_door","pivot":[8.5,1.5,-10.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":true},{"origin":[1.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[1.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[0.0,19.5,-12.25],"size":[1.0,4.0,2.0],"inflate":0.0,"uv":[41.0,54.0],"mirror":false},{"origin":[2.0,18.5,-11.025],"size":[5.0,6.0,1.0],"inflate":0.0,"uv":[88.0,47.0],"mirror":false},{"origin":[0.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[93.0,98.0],"mirror":false},{"origin":[1.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,9.0],"mirror":false},{"origin":[2.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[76.0,18.0],"mirror":false}]},{"name":"tardis_frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone","parent":"tardis_frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"frame","parent":"bone","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,33.25,-11.25],"size":[18.0,3.0,2.0],"inflate":0.0,"uv":[64.0,41.0],"mirror":false},{"origin":[-10.5,39.0,-10.5],"size":[21.0,4.0,21.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false},{"origin":[-3.0,43.0,-3.0],"size":[6.0,2.0,6.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-2.0,45.0,-2.0],"size":[4.0,3.0,4.0],"inflate":0.0,"uv":[0.0,16.0],"mirror":false},{"origin":[-2.5,48.0,-2.5],"size":[5.0,1.0,5.0],"inflate":0.0,"uv":[0.0,9.0],"mirror":false},{"origin":[-10.5,35.5,-12.5],"size":[21.0,4.0,2.0],"inflate":0.0,"uv":[64.0,28.0],"mirror":false},{"origin":[-12.5,-0.0,-12.5],"size":[25.0,2.0,25.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.5,1.5,-1.75],"size":[19.0,32.0,1.0],"inflate":0.0,"uv":[0.0,54.0],"mirror":false},{"origin":[-9.5,33.275,-9.25],"size":[19.0,1.0,8.0],"inflate":0.0,"uv":[41.0,54.0],"mirror":false}]},{"name":"frame_r3","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-10.5,35.5,-12.5],"size":[21.0,4.0,2.0],"inflate":0.0,"uv":[64.0,28.0],"mirror":false}]},{"name":"frame_r2","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-10.5,35.5,-12.5],"size":[21.0,4.0,2.0],"inflate":0.0,"uv":[64.0,28.0],"mirror":false}]},{"name":"frame_r1","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[{"origin":[-10.5,35.5,-12.5],"size":[21.0,4.0,2.0],"inflate":0.0,"uv":[64.0,28.0],"mirror":false}]},{"name":"bone3","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,-90.00020741015327,0.0],"cubes":[{"origin":[-9.0,33.25,-11.25],"size":[18.0,3.0,2.0],"inflate":0.0,"uv":[64.0,35.0],"mirror":false}]},{"name":"bone11","parent":"bone3","pivot":[8.0,1.5,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":true},{"origin":[1.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[1.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[0.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[19.0,88.0],"mirror":false},{"origin":[1.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false},{"origin":[2.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[13.0,16.0],"mirror":false}]},{"name":"bone12","parent":"bone3","pivot":[-8.0,1.5,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[-7.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-8.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false},{"origin":[-0.5,1.5,-11.0],"size":[1.0,32.0,2.0],"inflate":0.0,"uv":[38.0,107.0],"mirror":false}]},{"name":"bone4","parent":"bone12","pivot":[-4.25,24.5,-12.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":true},{"origin":[-6.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[13.0,16.0],"mirror":false}]},{"name":"bone2","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[8.5,2.0,-11.5],"size":[3.0,39.0,3.0],"inflate":0.0,"uv":[80.0,64.0],"mirror":false},{"origin":[-11.5,2.0,-11.5],"size":[3.0,39.0,3.0],"inflate":0.0,"uv":[67.0,64.0],"mirror":false}]},{"name":"bone10","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[8.5,2.0,-11.5],"size":[3.0,39.0,3.0],"inflate":0.0,"uv":[54.0,64.0],"mirror":false},{"origin":[-11.5,2.0,-11.5],"size":[3.0,39.0,3.0],"inflate":0.0,"uv":[41.0,64.0],"mirror":false}]},{"name":"bone6","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,180.00041482030653,0.0],"cubes":[{"origin":[-9.0,33.25,-11.25],"size":[18.0,3.0,2.0],"inflate":0.0,"uv":[64.0,35.0],"mirror":false}]},{"name":"bone13","parent":"bone6","pivot":[8.0,1.5,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":true},{"origin":[1.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[1.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[0.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[19.0,88.0],"mirror":false},{"origin":[1.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false},{"origin":[2.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[13.0,16.0],"mirror":false}]},{"name":"bone14","parent":"bone6","pivot":[-8.0,1.5,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[-8.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false},{"origin":[-0.5,1.5,-11.0],"size":[1.0,32.0,2.0],"inflate":0.0,"uv":[38.0,107.0],"mirror":false}]},{"name":"bone7","parent":"bone14","pivot":[-4.25,24.5,-12.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":true},{"origin":[-6.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[13.0,16.0],"mirror":false}]},{"name":"bone8","parent":"frame","pivot":[0.0,-0.0,0.0],"rotation":[0.0,90.00020741015327,0.0],"cubes":[{"origin":[-9.0,33.25,-11.25],"size":[18.0,3.0,2.0],"inflate":0.0,"uv":[64.0,35.0],"mirror":false}]},{"name":"bone15","parent":"bone8","pivot":[8.0,1.5,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[1.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":true},{"origin":[1.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[1.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[0.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[19.0,88.0],"mirror":false},{"origin":[1.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":false},{"origin":[2.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[13.0,16.0],"mirror":false}]},{"name":"bone16","parent":"bone8","pivot":[-8.0,1.5,-11.25],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,0.0],"mirror":false},{"origin":[-7.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-8.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[0.0,88.0],"mirror":false},{"origin":[-0.5,1.5,-11.0],"size":[1.0,32.0,2.0],"inflate":0.0,"uv":[38.0,107.0],"mirror":false}]},{"name":"bone9","parent":"bone16","pivot":[-4.25,24.5,-12.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,28.0],"mirror":true},{"origin":[-6.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[13.0,16.0],"mirror":false}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"left_door","pivot":[-8.5,1.5,-10.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,3.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.5,10.5,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.5,18.0,-11.0],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[0.0,37.0],"mirror":false},{"origin":[-7.0,18.5,-11.025],"size":[5.0,6.0,1.0],"inflate":0.0,"uv":[90.0,17.0],"mirror":false},{"origin":[-3.0,20.0,-11.775],"size":[1.0,3.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-8.5,1.5,-10.5],"size":[8.0,32.0,1.0],"inflate":0.0,"uv":[93.0,64.0],"mirror":false},{"origin":[-0.5,1.5,-11.0],"size":[1.0,32.0,2.0],"inflate":0.0,"uv":[45.0,107.0],"mirror":false}]},{"name":"bone5","parent":"left_door","pivot":[-4.25,24.5,-12.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.5,25.75,-11.1],"size":[6.0,7.0,1.0],"inflate":0.0,"uv":[76.0,9.0],"mirror":true},{"origin":[-6.5,28.25,-11.175],"size":[4.0,2.0,1.0],"inflate":0.0,"uv":[76.0,18.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/portaloo_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/portaloo_shell.json
new file mode 100644
index 00000000..4ae54fa6
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/portaloo_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"portaloo_shell","texture_width":128,"texture_height":128},"bones":[{"name":"door","pivot":[-7.0,23.5,-7.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,2.0,-8.0],"size":[14.0,31.0,1.0],"inflate":0.0,"uv":[68.0,65.0],"mirror":false},{"origin":[-6.0,33.0,-8.0],"size":[12.0,1.0,1.0],"inflate":0.0,"uv":[44.0,25.0],"mirror":false},{"origin":[4.0,17.5,-9.5],"size":[2.0,4.0,2.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]},{"name":"bone","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,36.0,-9.0],"size":[12.0,2.0,19.0],"inflate":0.025000000993410747,"uv":[0.0,21.0],"mirror":false},{"origin":[-7.0,34.0,-6.5],"size":[14.0,1.0,13.0],"inflate":0.025000000993410747,"uv":[44.0,114.0],"mirror":false},{"origin":[-8.5,35.0,-8.0],"size":[17.0,1.0,1.0],"inflate":0.0,"uv":[80.0,17.0],"mirror":false},{"origin":[-8.5,35.0,8.0],"size":[17.0,1.0,1.0],"inflate":0.0,"uv":[80.0,17.0],"mirror":false},{"origin":[-8.0,2.0,6.0],"size":[16.0,33.0,3.0],"inflate":0.0,"uv":[0.0,43.0],"mirror":false}]},{"name":"bone2","parent":"bone","pivot":[0.0,-0.0,-7.5],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-7.0,33.0,-7.5],"size":[14.0,2.0,1.0],"inflate":0.0,"uv":[86.0,25.0],"mirror":false},{"origin":[-8.0,2.0,-7.5],"size":[1.0,33.0,1.0],"inflate":0.0,"uv":[13.0,80.0],"mirror":false},{"origin":[7.0,2.0,-7.5],"size":[1.0,33.0,1.0],"inflate":0.0,"uv":[13.0,80.0],"mirror":true}]},{"name":"bone5","parent":"bone","pivot":[0.0,-0.0,9.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,2.0,6.0],"size":[3.0,33.0,3.0],"inflate":0.0,"uv":[73.0,25.0],"mirror":true},{"origin":[8.0,2.0,6.0],"size":[3.0,33.0,3.0],"inflate":0.0,"uv":[73.0,25.0],"mirror":false}]},{"name":"bone4","parent":"bone","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,2.0,-8.0],"size":[3.0,33.0,3.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":true},{"origin":[8.0,2.0,-8.0],"size":[3.0,33.0,3.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone7","parent":"bone","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[8.0,2.0,-5.0],"size":[3.0,33.0,11.0],"inflate":0.0,"uv":[39.0,65.0],"mirror":false},{"origin":[11.0,28.0,-5.0],"size":[1.0,5.0,11.0],"inflate":0.0,"uv":[80.0,0.0],"mirror":false}]},{"name":"bone6","parent":"bone","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-11.0,2.0,-5.0],"size":[3.0,33.0,11.0],"inflate":0.0,"uv":[39.0,65.0],"mirror":true},{"origin":[-12.0,28.0,-5.0],"size":[1.0,5.0,11.0],"inflate":0.0,"uv":[80.0,0.0],"mirror":true}]},{"name":"cube_r1","parent":"bone","pivot":[6.0,38.0,0.5],"rotation":[0.0,0.0,20.00195626738305],"cubes":[{"origin":[6.0,36.0,-9.0],"size":[7.0,2.0,19.0],"inflate":0.0,"uv":[39.0,43.0],"mirror":false}]},{"name":"cube_r2","parent":"bone","pivot":[-6.0,38.0,0.5],"rotation":[0.0,0.0,-20.00195626738305],"cubes":[{"origin":[-13.0,36.0,-9.0],"size":[7.0,2.0,19.0],"inflate":0.0,"uv":[39.0,43.0],"mirror":true}]},{"name":"base","parent":"bone","pivot":[0.0,-0.0,-8.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-9.0,-0.024999976,-8.5],"size":[18.0,2.0,18.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[7.0,0.9749985,-6.5],"size":[1.0,33.0,13.0],"inflate":0.0,"uv":[100.0,82.0],"mirror":false},{"origin":[-8.0,0.9749985,-6.5],"size":[1.0,33.0,13.0],"inflate":0.0,"uv":[100.0,82.0],"mirror":true},{"origin":[9.0,-0.0,-9.0],"size":[3.0,3.0,19.0],"inflate":0.0,"uv":[54.0,2.0],"mirror":false},{"origin":[-12.0,-0.0,-9.0],"size":[3.0,3.0,19.0],"inflate":0.0,"uv":[54.0,2.0],"mirror":true}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/present_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/present_shell.json
new file mode 100644
index 00000000..01fd75bc
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/present_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"present_shell","texture_width":128,"texture_height":128},"bones":[{"name":"bone","pivot":[-31.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,1.0,-5.025],"size":[16.0,35.0,1.0],"inflate":0.0,"uv":[74.0,27.0],"mirror":false},{"origin":[-9.0,-0.0,-9.0],"size":[18.0,1.0,18.0],"inflate":0.025000000993410747,"uv":[0.0,27.0],"mirror":false},{"origin":[-10.0,33.0,-10.0],"size":[20.0,6.0,20.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false},{"origin":[-9.0,35.0,-9.0],"size":[18.0,1.0,18.0],"inflate":0.025000000993410747,"uv":[1.0,102.0],"mirror":false},{"origin":[-9.0,-0.0,-9.0],"size":[1.0,36.0,18.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":true},{"origin":[8.0,-0.0,-9.0],"size":[1.0,36.0,18.0],"inflate":0.0,"uv":[0.0,47.0],"mirror":false},{"origin":[-8.0,-0.0,8.0],"size":[16.0,36.0,1.0],"inflate":0.0,"uv":[39.0,47.0],"mirror":false}]},{"name":"door_rotate_neg_92dot5","parent":"bone","pivot":[0.0,-0.0,-9.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-8.0,-0.0,-9.0],"size":[16.0,29.0,1.0],"inflate":0.0,"uv":[74.0,66.0],"mirror":false},{"origin":[-8.0,29.0,-9.0],"size":[16.0,6.0,1.0],"inflate":0.0,"uv":[39.0,86.0],"mirror":false}]},{"name":"bone5","parent":"bone","pivot":[0.0,39.0,0.0],"rotation":[0.0,39.99818200605246,0.0],"cubes":[]},{"name":"cube_r1","parent":"bone5","pivot":[-4.0,39.0,0.0],"rotation":[0.0,0.0,17.498131861061438],"cubes":[{"origin":[-12.0,38.0,-5.0],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[61.0,0.0],"mirror":true}]},{"name":"cube_r2","parent":"bone5","pivot":[4.0,39.0,0.0],"rotation":[0.0,0.0,-17.498131861061438],"cubes":[{"origin":[2.0,38.0,-5.0],"size":[10.0,1.0,10.0],"inflate":0.0,"uv":[61.0,0.0],"mirror":false}]},{"name":"bone4","parent":"bone","pivot":[-1.0,41.0,0.0],"rotation":[0.0,-45.00010370507663,0.0],"cubes":[]},{"name":"cube_r4","parent":"bone4","pivot":[0.0,41.0,0.0],"rotation":[0.0,0.0,-32.498166429420316],"cubes":[{"origin":[-2.0,37.0,-4.0],"size":[10.0,4.0,8.0],"inflate":0.0,"uv":[81.0,12.0],"mirror":false}]},{"name":"cube_r3","parent":"bone4","pivot":[-2.0,41.0,0.0],"rotation":[0.0,0.0,32.498166429420316],"cubes":[{"origin":[-10.0,37.0,-4.0],"size":[10.0,4.0,8.0],"inflate":0.0,"uv":[81.0,12.0],"mirror":true}]},{"name":"fade_value","pivot":[-24.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/root_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/root_shell.json
new file mode 100644
index 00000000..065a16f3
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/root_shell.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"root_shell","texture_width":128,"texture_height":128},"bones":[{"name":"stage6","pivot":[-19.0,-0.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone2","parent":"stage6","pivot":[0.0,-19.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false}]},{"name":"bone3","parent":"bone2","pivot":[0.0,-19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false}]},{"name":"bone4","parent":"bone3","pivot":[0.0,-19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false}]},{"name":"bone5","parent":"bone4","pivot":[0.0,-19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false}]},{"name":"bone6","parent":"bone5","pivot":[0.0,-19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false}]},{"name":"bone7","parent":"bone6","pivot":[0.0,-19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,82.0],"mirror":false}]},{"name":"bone114","parent":"stage6","pivot":[0.0,19.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone120","parent":"bone114","pivot":[0.0,38.0,-10.4],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,69.0],"mirror":false}]},{"name":"bone115","parent":"bone114","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone121","parent":"bone115","pivot":[0.0,38.0,-10.4],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,69.0],"mirror":false}]},{"name":"bone116","parent":"bone115","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone117","parent":"bone116","pivot":[0.0,38.0,-10.4],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,69.0],"mirror":false}]},{"name":"bone118","parent":"bone116","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone122","parent":"bone118","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone124","parent":"bone122","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone125","parent":"bone124","pivot":[0.0,38.0,-10.4],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,69.0],"mirror":false}]},{"name":"bone123","parent":"bone122","pivot":[0.0,38.0,-10.4],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,69.0],"mirror":false}]},{"name":"bone119","parent":"bone118","pivot":[0.0,38.0,-10.4],"rotation":[20.00195626738305,0.0,0.0],"cubes":[{"origin":[-6.0,37.0,-10.4],"size":[12.0,1.0,11.0],"inflate":0.0,"uv":[78.0,69.0],"mirror":false}]},{"name":"bone41","parent":"stage6","pivot":[0.0,57.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,38.0,-10.4],"size":[12.0,6.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone42","parent":"bone41","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,38.0,-10.4],"size":[12.0,6.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone43","parent":"bone42","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,38.0,-10.4],"size":[12.0,6.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone44","parent":"bone43","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,38.0,-10.4],"size":[12.0,6.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone45","parent":"bone44","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,38.0,-10.4],"size":[12.0,6.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone46","parent":"bone45","pivot":[0.0,57.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,38.0,-10.4],"size":[12.0,6.0,1.0],"inflate":0.0,"uv":[0.0,80.0],"mirror":false}]},{"name":"bone35","parent":"stage6","pivot":[0.0,19.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,38.0,1.0],"inflate":0.0,"uv":[62.0,40.0],"mirror":false}]},{"name":"bone36","parent":"bone35","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,38.0,1.0],"inflate":0.0,"uv":[62.0,0.0],"mirror":false}]},{"name":"bone37","parent":"bone36","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,38.0,1.0],"inflate":0.0,"uv":[62.0,0.0],"mirror":false}]},{"name":"bone38","parent":"bone37","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,38.0,1.0],"inflate":0.0,"uv":[62.0,0.0],"mirror":false}]},{"name":"bone39","parent":"bone38","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,38.0,1.0],"inflate":0.0,"uv":[62.0,0.0],"mirror":false}]},{"name":"bone40","parent":"bone39","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[{"origin":[-6.0,-0.0,-10.4],"size":[12.0,38.0,1.0],"inflate":0.0,"uv":[62.0,0.0],"mirror":false}]},{"name":"bone23","parent":"stage6","pivot":[0.0,19.0,0.0],"rotation":[0.0,0.0,0.0],"cubes":[]},{"name":"bone29","parent":"bone23","pivot":[0.0,-0.0,-12.0],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-7.0,-0.0,-12.0],"size":[14.0,38.0,1.0],"inflate":0.0,"uv":[31.0,40.0],"mirror":false}]},{"name":"bone24","parent":"bone23","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone30","parent":"bone24","pivot":[0.0,-0.0,-12.0],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-7.0,-0.0,-12.0],"size":[14.0,38.0,1.0],"inflate":0.0,"uv":[0.0,40.0],"mirror":false}]},{"name":"bone25","parent":"bone24","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone26","parent":"bone25","pivot":[0.0,-0.0,-12.0],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-7.0,-0.0,-12.0],"size":[14.0,38.0,1.0],"inflate":0.0,"uv":[31.0,0.0],"mirror":false}]},{"name":"bone27","parent":"bone25","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone28","parent":"bone27","pivot":[0.0,-0.0,-12.0],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-7.0,-0.0,-12.0],"size":[14.0,38.0,1.0],"inflate":0.0,"uv":[31.0,0.0],"mirror":false}]},{"name":"bone31","parent":"bone27","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone32","parent":"bone31","pivot":[0.0,-0.0,-12.0],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-7.0,-0.0,-12.0],"size":[14.0,38.0,1.0],"inflate":0.0,"uv":[31.0,0.0],"mirror":false}]},{"name":"bone33","parent":"bone31","pivot":[0.0,19.0,0.0],"rotation":[0.0,-60.00013827343551,0.0],"cubes":[]},{"name":"bone34","parent":"bone33","pivot":[0.0,-0.0,-12.0],"rotation":[-2.4980960120420894,0.0,0.0],"cubes":[{"origin":[-7.0,-0.0,-12.0],"size":[14.0,38.0,1.0],"inflate":0.0,"uv":[0.0,0.0],"mirror":false}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/shulker_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/shulker_shell.json
new file mode 100644
index 00000000..bb1109bf
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/shulker_shell.json
@@ -0,0 +1,39 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "geometry.shulker",
+ "texture_width": 64,
+ "texture_height": 64,
+ "visible_bounds_width": 2,
+ "visible_bounds_height": 2.5,
+ "visible_bounds_offset": [0, 0.75, 0]
+ },
+ "bones": [
+ {
+ "name": "head",
+ "pivot": [0, 12, 0],
+ "cubes": [
+ {"origin": [-3, 6, -3], "size": [6, 6, 6], "uv": [0, 52]}
+ ]
+ },
+ {
+ "name": "lid",
+ "pivot": [0, 0, 0],
+ "cubes": [
+ {"origin": [-8, 4, -8], "size": [16, 12, 16], "uv": [0, 0]}
+ ]
+ },
+ {
+ "name": "base",
+ "pivot": [0, 0, 0],
+ "cubes": [
+ {"origin": [-8, 0, -8], "size": [16, 8, 16], "uv": [0, 28]},
+ {"origin": [-8, 0.025, -8], "size": [16, 0, 16], "uv": [16, 28]}
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/vending_shell.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/vending_shell.json
new file mode 100644
index 00000000..4815fc05
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/shell/vending_shell.json
@@ -0,0 +1,416 @@
+{
+ "format_version": "1.12.0",
+ "minecraft:geometry": [
+ {
+ "description": {
+ "identifier": "vending_shell",
+ "texture_width": 128,
+ "texture_height": 128
+ },
+ "bones": [
+ {
+ "name": "door",
+ "pivot": [
+ 0.0,
+ 3.0,
+ -5.0
+ ],
+ "rotation": [
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "cubes": [
+ {
+ "origin": [
+ 5.0,
+ 1.0,
+ -7.0
+ ],
+ "size": [
+ 3.0,
+ 33.0,
+ 2.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 65.0,
+ 0.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -8.0,
+ 1.0,
+ -7.0
+ ],
+ "size": [
+ 3.0,
+ 33.0,
+ 2.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 65.0,
+ 0.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -8.0,
+ 1.0,
+ -5.0
+ ],
+ "size": [
+ 16.0,
+ 33.0,
+ 1.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 94.0,
+ 51.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -6.0,
+ 12.0,
+ -9.0
+ ],
+ "size": [
+ 12.0,
+ 2.0,
+ 4.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 65.0,
+ 36.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -5.5,
+ 15.6,
+ -1.3
+ ],
+ "size": [
+ 16.0,
+ 16.0,
+ 1.0
+ ],
+ "inflate": -5.0,
+ "uv": [
+ 33.0,
+ 103.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -10.75,
+ 15.6,
+ -1.3
+ ],
+ "size": [
+ 16.0,
+ 16.0,
+ 1.0
+ ],
+ "inflate": -5.0,
+ "uv": [
+ 33.0,
+ 71.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -10.75,
+ 21.599998,
+ -1.3
+ ],
+ "size": [
+ 16.0,
+ 16.0,
+ 1.0
+ ],
+ "inflate": -5.0,
+ "uv": [
+ 0.0,
+ 71.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -5.25,
+ 21.599998,
+ -1.3
+ ],
+ "size": [
+ 16.0,
+ 16.0,
+ 1.0
+ ],
+ "inflate": -5.0,
+ "uv": [
+ 0.0,
+ 103.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -5.5,
+ 9.6,
+ -1.3
+ ],
+ "size": [
+ 16.0,
+ 16.0,
+ 1.0
+ ],
+ "inflate": -5.0,
+ "uv": [
+ 0.0,
+ 87.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -10.75,
+ 9.6,
+ -1.3
+ ],
+ "size": [
+ 16.0,
+ 16.0,
+ 1.0
+ ],
+ "inflate": -5.0,
+ "uv": [
+ 33.0,
+ 87.0
+ ],
+ "mirror": true
+ },
+ {
+ "origin": [
+ -5.0,
+ 14.0,
+ -5.1
+ ],
+ "size": [
+ 10.0,
+ 20.0,
+ 1.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 98.0,
+ 29.0
+ ],
+ "mirror": false
+ }
+ ]
+ },
+ {
+ "name": "cube_r1",
+ "parent": "door",
+ "pivot": [
+ 0.0,
+ 2.0,
+ -7.0
+ ],
+ "rotation": [
+ 24.998149145240877,
+ 0.0,
+ 0.0
+ ],
+ "cubes": [
+ {
+ "origin": [
+ -5.0,
+ 2.0,
+ -7.0
+ ],
+ "size": [
+ 10.0,
+ 9.0,
+ 7.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 57.0,
+ 49.0
+ ],
+ "mirror": false
+ }
+ ]
+ },
+ {
+ "name": "fade_value",
+ "pivot": [
+ -24.0,
+ -0.0,
+ 0.0
+ ],
+ "rotation": [
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "cubes": []
+ },
+ {
+ "name": "bone11",
+ "pivot": [
+ 0.0,
+ 4.0,
+ -7.0
+ ],
+ "rotation": [
+ 0.0,
+ 0.0,
+ 0.0
+ ],
+ "cubes": [
+ {
+ "origin": [
+ -7.0,
+ 33.0,
+ -8.0
+ ],
+ "size": [
+ 14.0,
+ 6.0,
+ 14.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 0.0,
+ 49.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -10.0,
+ -0.0,
+ -5.0
+ ],
+ "size": [
+ 20.0,
+ 36.0,
+ 12.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 0.0,
+ 0.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -4.0,
+ 12.0,
+ 7.0
+ ],
+ "size": [
+ 8.0,
+ 15.0,
+ 1.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 91.0,
+ 0.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -4.0,
+ 7.0,
+ 7.0
+ ],
+ "size": [
+ 8.0,
+ 3.0,
+ 2.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 91.0,
+ 17.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -3.0,
+ 10.0,
+ 7.5
+ ],
+ "size": [
+ 6.0,
+ 2.0,
+ 1.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 91.0,
+ 23.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ 10.0,
+ 11.0,
+ -2.0
+ ],
+ "size": [
+ 1.0,
+ 19.0,
+ 6.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 76.0,
+ 10.0
+ ],
+ "mirror": false
+ },
+ {
+ "origin": [
+ -11.0,
+ 11.0,
+ -2.0
+ ],
+ "size": [
+ 1.0,
+ 19.0,
+ 6.0
+ ],
+ "inflate": 0.0,
+ "uv": [
+ 76.0,
+ 10.0
+ ],
+ "mirror": true
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/technology/artron_pillar.json b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/technology/artron_pillar.json
new file mode 100644
index 00000000..b1ef9883
--- /dev/null
+++ b/common/src/main/resources/assets/tardis_refined/tardis_refined/model_layers/technology/artron_pillar.json
@@ -0,0 +1 @@
+{"format_version":"1.12.0","minecraft:geometry":[{"description":{"identifier":"artron_pillar","texture_width":64,"texture_height":64},"bones":[{"name":"bb_main","pivot":[0,0,0],"cubes":[{"origin":[-4,0,-4],"size":[8,16,8],"uv":[0,34]},{"origin":[-2,16,-2],"size":[4,24,4],"uv":[48,8]},{"origin":[-3,40,-3],"size":[6,16,6],"uv":[32,36]},{"origin":[-6,56,-6],"size":[12,16,12],"uv":[0,0]}]}]}]}
\ No newline at end of file
diff --git a/common/src/main/resources/assets/tardis_refined/textures/black_portal.png b/common/src/main/resources/assets/tardis_refined/textures/black_portal.png
new file mode 100644
index 00000000..1adfd08b
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/black_portal.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/block/fools_stone.png b/common/src/main/resources/assets/tardis_refined/textures/block/fools_stone.png
index b2a0b0c5..2b48f5fe 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/block/fools_stone.png and b/common/src/main/resources/assets/tardis_refined/textures/block/fools_stone.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_block.png b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_block.png
index 75b16f5f..51426d05 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_block.png and b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_block.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_copper_block.png b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_copper_block.png
index feadb26e..26c1f9b7 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_copper_block.png and b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_copper_block.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_iron_block.png b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_iron_block.png
index d7e61cd4..90a3669b 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_iron_block.png and b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_fused_iron_block.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_glass.png b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_glass.png
new file mode 100644
index 00000000..a44a4520
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_glass.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_lantern.png b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_lantern.png
index d270dbfe..d3c04a54 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_lantern.png and b/common/src/main/resources/assets/tardis_refined/textures/block/zeiton_lantern.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar.png
index fa085fa3..9ec57733 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar_off.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar_off.png
index a6dd5370..7f68e1be 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar_off.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/artron_pillar_off.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console.png
index 456ce909..7703bec2 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_emissive.png
index 0ed7cf0b..e5bfb75a 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_emissive.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_mint_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_mint_emissive.png
index 0ed7cf0b..0380f8a6 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_mint_emissive.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_mint_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_vintage_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_vintage_emissive.png
index 0596f168..4c1557ae 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_vintage_emissive.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_vintage_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_wood_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_wood_emissive.png
index 7bce4cdd..624aa28d 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_wood_emissive.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/factory/factory_console_wood_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console.png
index 01d29f89..1c8ff66d 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_bronze_age.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_bronze_age.png
new file mode 100644
index 00000000..0783bb2a
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_bronze_age.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_bronze_age_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_bronze_age_emissive.png
new file mode 100644
index 00000000..e484bb17
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_bronze_age_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_emissive.png
index fad69119..c19dfc6e 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_emissive.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_grant.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_grant.png
deleted file mode 100644
index b7a1e5e2..00000000
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_grant.png and /dev/null differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_smissmass.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_smissmass.png
deleted file mode 100644
index 82860791..00000000
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/console/victorian/victorian_console_smissmass.png and /dev/null differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/door/bulk_head_door_smooth.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/door/bulk_head_door_smooth.png
new file mode 100644
index 00000000..62452b20
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/door/bulk_head_door_smooth.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/big_ben/big_ben_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/big_ben/big_ben_emissive.png
new file mode 100644
index 00000000..50adbd2d
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/big_ben/big_ben_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/big_ben/gothic_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/big_ben/gothic_emissive.png
new file mode 100644
index 00000000..bbf3e910
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/big_ben/gothic_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/castle/castle_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/castle/castle_interior.png
index 32c4276e..b5def0c5 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/castle/castle_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/castle/castle_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/groening/groening_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/groening/groening_interior.png
index 6723652c..7b05e9a0 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/groening/groening_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/groening/groening_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/half_baked/half_baked_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/half_baked/half_baked_interior.png
index 5681d0ce..801b1b5f 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/half_baked/half_baked_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/half_baked/half_baked_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/lift/lift_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/lift/lift_interior.png
index 3a322f88..08143b87 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/lift/lift_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/lift/lift_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/dwarven_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/dwarven_interior.png
index d11cfac7..ed7b0880 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/dwarven_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/dwarven_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/mystic_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/mystic_interior.png
index 72e14245..c41b82fc 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/mystic_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/mystic/mystic_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/nuka/nuka_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/nuka/nuka_interior.png
index c2424096..9f134b9b 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/nuka/nuka_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/nuka/nuka_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/pagoda/pagoda_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/pagoda/pagoda_interior.png
index 8a705f51..b0321eba 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/pagoda/pagoda_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/pagoda/pagoda_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/metal_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/metal_interior.png
index 40f702d0..756eb33f 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/metal_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/metal_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/phone_booth_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/phone_booth_interior.png
index fa3be976..294cc049 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/phone_booth_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/phone_booth/phone_booth_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie.png
new file mode 100644
index 00000000..72331301
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie_emissive.png
new file mode 100644
index 00000000..8e91eab5
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie_interior.png
new file mode 100644
index 00000000..44684843
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/barbie_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen.png
new file mode 100644
index 00000000..1b5a9e07
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen_emissive.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen_emissive.png
new file mode 100644
index 00000000..dd2c1096
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen_emissive.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen_interior.png
new file mode 100644
index 00000000..f1b23614
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/police_box/fourteen_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker.png
new file mode 100644
index 00000000..04e72bdc
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_black.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_black.png
new file mode 100644
index 00000000..80627b02
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_black.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_black_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_black_interior.png
new file mode 100644
index 00000000..80627b02
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_black_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_blue.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_blue.png
new file mode 100644
index 00000000..f1fc9f66
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_blue.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_blue_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_blue_interior.png
new file mode 100644
index 00000000..f1fc9f66
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_blue_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_brown.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_brown.png
new file mode 100644
index 00000000..2d5f4fb9
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_brown.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_brown_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_brown_interior.png
new file mode 100644
index 00000000..2d5f4fb9
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_brown_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_cyan.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_cyan.png
new file mode 100644
index 00000000..c68a8712
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_cyan.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_cyan_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_cyan_interior.png
new file mode 100644
index 00000000..c68a8712
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_cyan_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_gray.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_gray.png
new file mode 100644
index 00000000..c922de54
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_gray.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_gray_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_gray_interior.png
new file mode 100644
index 00000000..c922de54
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_gray_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_green.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_green.png
new file mode 100644
index 00000000..2397398d
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_green.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_green_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_green_interior.png
new file mode 100644
index 00000000..2397398d
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_green_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_interior.png
new file mode 100644
index 00000000..04e72bdc
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_blue.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_blue.png
new file mode 100644
index 00000000..4d03dc4a
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_blue.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_blue_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_blue_interior.png
new file mode 100644
index 00000000..4d03dc4a
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_blue_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_gray.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_gray.png
new file mode 100644
index 00000000..8be431f4
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_gray.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_gray_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_gray_interior.png
new file mode 100644
index 00000000..8be431f4
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_light_gray_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_lime.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_lime.png
new file mode 100644
index 00000000..1d5dab13
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_lime.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_lime_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_lime_interior.png
new file mode 100644
index 00000000..1d5dab13
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_lime_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_magenta.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_magenta.png
new file mode 100644
index 00000000..7910dc85
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_magenta.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_magenta_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_magenta_interior.png
new file mode 100644
index 00000000..7910dc85
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_magenta_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_orange.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_orange.png
new file mode 100644
index 00000000..bb66abd0
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_orange.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_orange_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_orange_interior.png
new file mode 100644
index 00000000..bb66abd0
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_orange_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_pink.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_pink.png
new file mode 100644
index 00000000..9fed2330
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_pink.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_pink_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_pink_interior.png
new file mode 100644
index 00000000..9fed2330
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_pink_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_purple.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_purple.png
new file mode 100644
index 00000000..7b2f68af
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_purple.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_purple_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_purple_interior.png
new file mode 100644
index 00000000..7b2f68af
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_purple_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_red.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_red.png
new file mode 100644
index 00000000..bf5343fa
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_red.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_red_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_red_interior.png
new file mode 100644
index 00000000..bf5343fa
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_red_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_white.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_white.png
new file mode 100644
index 00000000..9d64b2a2
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_white.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_white_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_white_interior.png
new file mode 100644
index 00000000..9d64b2a2
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_white_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_yellow.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_yellow.png
new file mode 100644
index 00000000..40e0625f
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_yellow.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_yellow_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_yellow_interior.png
new file mode 100644
index 00000000..40e0625f
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/shulker/shulker_yellow_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending.png
index b61248aa..90fa8e67 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending_interior.png b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending_interior.png
index d8c29f03..dd2c8b77 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending_interior.png and b/common/src/main/resources/assets/tardis_refined/textures/blockentity/shell/vending/vending_interior.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/entity/zombie_villager/profession/pilot.png b/common/src/main/resources/assets/tardis_refined/textures/entity/zombie_villager/profession/pilot.png
new file mode 100644
index 00000000..866459e6
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/entity/zombie_villager/profession/pilot.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/hartnell.png b/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/hartnell.png
new file mode 100644
index 00000000..4b897458
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/hartnell.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/panamax.png b/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/panamax.png
new file mode 100644
index 00000000..d5c23157
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/panamax.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/pertwee.png b/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/pertwee.png
new file mode 100644
index 00000000..f4ef971f
Binary files /dev/null and b/common/src/main/resources/assets/tardis_refined/textures/gui/desktops/pertwee.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/item/glasses.png b/common/src/main/resources/assets/tardis_refined/textures/item/glasses.png
index e71c4f31..3a973fee 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/item/glasses.png and b/common/src/main/resources/assets/tardis_refined/textures/item/glasses.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/item/mallet.png b/common/src/main/resources/assets/tardis_refined/textures/item/mallet.png
index 54233b97..4de5e1f6 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/item/mallet.png and b/common/src/main/resources/assets/tardis_refined/textures/item/mallet.png differ
diff --git a/common/src/main/resources/assets/tardis_refined/textures/item/zeiton_nugget.png b/common/src/main/resources/assets/tardis_refined/textures/item/zeiton_nugget.png
index 4968b2be..3f2ad8a5 100644
Binary files a/common/src/main/resources/assets/tardis_refined/textures/item/zeiton_nugget.png and b/common/src/main/resources/assets/tardis_refined/textures/item/zeiton_nugget.png differ
diff --git a/common/src/main/resources/data/tardis_refined/dimension_type/tardis.json b/common/src/main/resources/data/tardis_refined/dimension_type/tardis.json
index 49ac91f4..8fbacc0d 100644
--- a/common/src/main/resources/data/tardis_refined/dimension_type/tardis.json
+++ b/common/src/main/resources/data/tardis_refined/dimension_type/tardis.json
@@ -3,11 +3,10 @@
"natural": true,
"piglin_safe": true,
"respawn_anchor_works": true,
- "bed_works": false,
+ "bed_works": true,
"has_raids": false,
- "has_skylight": false,
+ "has_skylight": true,
"has_ceiling": true,
- "__COMMENT": "Skyline and bed works need to be enabled for beds to work, see https://github.com/WhoCraft/TardisRefined/issues/198",
"coordinate_scale": 1,
"ambient_light": 0,
"logical_height": 384,
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/copper.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/copper.nbt
index f75054c9..1f661056 100644
Binary files a/common/src/main/resources/data/tardis_refined/structures/desktop/copper.nbt and b/common/src/main/resources/data/tardis_refined/structures/desktop/copper.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/hartnell.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/hartnell.nbt
new file mode 100644
index 00000000..f72382f5
Binary files /dev/null and b/common/src/main/resources/data/tardis_refined/structures/desktop/hartnell.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/mechanical.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/mechanical.nbt
index 88cb1373..0d34d803 100644
Binary files a/common/src/main/resources/data/tardis_refined/structures/desktop/mechanical.nbt and b/common/src/main/resources/data/tardis_refined/structures/desktop/mechanical.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/mesh.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/mesh.nbt
index 14e47e2d..ab6840ea 100644
Binary files a/common/src/main/resources/data/tardis_refined/structures/desktop/mesh.nbt and b/common/src/main/resources/data/tardis_refined/structures/desktop/mesh.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/panamax.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/panamax.nbt
new file mode 100644
index 00000000..929fc79a
Binary files /dev/null and b/common/src/main/resources/data/tardis_refined/structures/desktop/panamax.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/pertwee.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/pertwee.nbt
new file mode 100644
index 00000000..a0d47de9
Binary files /dev/null and b/common/src/main/resources/data/tardis_refined/structures/desktop/pertwee.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/structures/desktop/refurbished.nbt b/common/src/main/resources/data/tardis_refined/structures/desktop/refurbished.nbt
index d4bca872..9e3dce7c 100644
Binary files a/common/src/main/resources/data/tardis_refined/structures/desktop/refurbished.nbt and b/common/src/main/resources/data/tardis_refined/structures/desktop/refurbished.nbt differ
diff --git a/common/src/main/resources/data/tardis_refined/worldgen/biome/tardis.json b/common/src/main/resources/data/tardis_refined/worldgen/biome/tardis.json
index a19d18b9..e5a94589 100644
--- a/common/src/main/resources/data/tardis_refined/worldgen/biome/tardis.json
+++ b/common/src/main/resources/data/tardis_refined/worldgen/biome/tardis.json
@@ -1,5 +1,5 @@
{
- "temperature": 3,
+ "temperature": 0.8,
"downfall": 0.4,
"has_precipitation": false,
"effects": {
diff --git a/common/src/main/resources/tardis_refined-common.mixins.json b/common/src/main/resources/tardis_refined-common.mixins.json
index 91fe9a13..5c361267 100644
--- a/common/src/main/resources/tardis_refined-common.mixins.json
+++ b/common/src/main/resources/tardis_refined-common.mixins.json
@@ -7,19 +7,23 @@
"EndDragonFightAccessor",
"MappedRegistryAccessor",
"MinecraftServerStorageAccessor",
+ "PistonBaseBlockMixin",
"PlayerEntityMixin",
+ "ServerPlayerMixin",
"VillagerGoalPackagesMixin",
"VillagerMixin"
],
"client": [
- "render.FogRendererMixin",
- "render.ui.GuiMixin",
+ "render.SodiumFixMixin",
"LocalPlayerMixin",
"MultiplayerGameModeMixin",
+ "render.FogRendererMixin",
+ "render.ModelPartInvoker",
"render.PlayerRenderMixin",
- "render.ui.SpectatorGuiMixin",
"render.buffer.MixinMainTarget",
- "render.buffer.MixinRenderTarget"
+ "render.buffer.MixinRenderTarget",
+ "render.ui.GuiMixin",
+ "render.ui.SpectatorGuiMixin"
],
"injectors": {
"defaultRequire": 1
diff --git a/common/src/main/resources/tardis_refined.accesswidener b/common/src/main/resources/tardis_refined.accesswidener
index 8faa7bf3..8ee9ec11 100644
--- a/common/src/main/resources/tardis_refined.accesswidener
+++ b/common/src/main/resources/tardis_refined.accesswidener
@@ -1,44 +1,55 @@
accessWidener v2 named
-accessible field net/minecraft/server/MinecraftServer progressListenerFactory Lnet/minecraft/server/level/progress/ChunkProgressListenerFactory;
-accessible field net/minecraft/server/MinecraftServer executor Ljava/util/concurrent/Executor;
-accessible field net/minecraft/server/MinecraftServer storageSource Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;
-accessible field net/minecraft/server/MinecraftServer levels Ljava/util/Map;
-transitive-accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier
-extendable method net/minecraft/world/entity/Entity getBoundingBox ()Lnet/minecraft/world/phys/AABB;
+accessible class net/minecraft/client/renderer/RenderStateShard$ShaderStateShard
+accessible class net/minecraft/client/renderer/RenderStateShard$TextureStateShard
+accessible class net/minecraft/client/renderer/RenderType$CompositeState
accessible class net/minecraft/core/particles/SimpleParticleType
accessible class net/minecraft/core/particles/SimpleParticleType$1
-accessible method net/minecraft/server/MinecraftServer wrapRunnable (Ljava/lang/Runnable;)Lnet/minecraft/server/TickTask;
-accessible field net/minecraft/server/level/ServerLevel dragonFight Lnet/minecraft/world/level/dimension/end/EndDragonFight;
-accessible method net/minecraft/client/particle/SuspendedParticle (Lnet/minecraft/client/multiplayer/ClientLevel;Lnet/minecraft/client/particle/SpriteSet;DDDDDD)V
-accessible field net/minecraft/client/particle/Particle gravity F
-accessible field net/minecraft/commands/synchronization/ArgumentTypeInfos BY_CLASS Ljava/util/Map;
-accessible method net/minecraft/world/entity/ai/village/poi/PoiTypes register (Lnet/minecraft/core/Registry;Lnet/minecraft/resources/ResourceKey;Ljava/util/Set;II)Lnet/minecraft/world/entity/ai/village/poi/PoiType;
-accessible method net/minecraft/world/entity/ai/village/poi/PoiTypes registerBlockStates (Lnet/minecraft/core/Holder;Ljava/util/Set;)V
-accessible method net/minecraft/world/entity/ai/behavior/VillagerGoalPackages getMinimalLookBehavior ()Lcom/mojang/datafixers/util/Pair;
accessible field net/minecraft/client/KeyMapping key Lcom/mojang/blaze3d/platform/InputConstants$Key;
-accessible method net/minecraft/client/renderer/LevelRenderer renderEndSky (Lcom/mojang/blaze3d/vertex/PoseStack;)V
-accessible method net/minecraft/world/level/biome/Biome getGrassColorFromTexture ()I
-accessible class net/minecraft/client/renderer/RenderType$CompositeState
-
-# Needed for Loading Models from JSON, jesus christ
accessible field net/minecraft/client/model/geom/EntityModelSet roots Ljava/util/Map;
-accessible field net/minecraft/client/model/geom/builders/LayerDefinition material Lnet/minecraft/client/model/geom/builders/MaterialDefinition;
-accessible field net/minecraft/client/model/geom/builders/LayerDefinition mesh Lnet/minecraft/client/model/geom/builders/MeshDefinition;
-accessible field net/minecraft/client/model/geom/builders/MaterialDefinition xTexSize I
-accessible field net/minecraft/client/model/geom/builders/MaterialDefinition yTexSize I
-accessible field net/minecraft/client/model/geom/builders/PartDefinition children Ljava/util/Map;
-accessible field net/minecraft/client/model/geom/builders/PartDefinition cubes Ljava/util/List;
-accessible field net/minecraft/client/model/geom/builders/CubeDefinition origin Lorg/joml/Vector3f;
accessible field net/minecraft/client/model/geom/builders/CubeDefinition dimensions Lorg/joml/Vector3f;
accessible field net/minecraft/client/model/geom/builders/CubeDefinition grow Lnet/minecraft/client/model/geom/builders/CubeDeformation;
-accessible field net/minecraft/client/model/geom/builders/CubeDefinition texCoord Lnet/minecraft/client/model/geom/builders/UVPair;
accessible field net/minecraft/client/model/geom/builders/CubeDefinition mirror Z
-accessible field net/minecraft/client/model/geom/builders/PartDefinition partPose Lnet/minecraft/client/model/geom/PartPose;
+accessible field net/minecraft/client/model/geom/builders/CubeDefinition origin Lorg/joml/Vector3f;
+accessible field net/minecraft/client/model/geom/builders/CubeDefinition texCoord Lnet/minecraft/client/model/geom/builders/UVPair;
+accessible field net/minecraft/client/model/geom/builders/CubeDefinition texScale Lnet/minecraft/client/model/geom/builders/UVPair;
accessible field net/minecraft/client/model/geom/builders/CubeDeformation growX F
accessible field net/minecraft/client/model/geom/builders/CubeDeformation growY F
accessible field net/minecraft/client/model/geom/builders/CubeDeformation growZ F
accessible field net/minecraft/client/model/geom/builders/CubeListBuilder cubes Ljava/util/List;
-extendable class net/minecraft/client/model/geom/builders/CubeDefinition
-extendable class com/mojang/blaze3d/pipeline/MainTarget
+accessible field net/minecraft/client/model/geom/builders/LayerDefinition material Lnet/minecraft/client/model/geom/builders/MaterialDefinition;
+accessible field net/minecraft/client/model/geom/builders/LayerDefinition mesh Lnet/minecraft/client/model/geom/builders/MeshDefinition;
+accessible field net/minecraft/client/model/geom/builders/MaterialDefinition xTexSize I
+accessible field net/minecraft/client/model/geom/builders/MaterialDefinition yTexSize I
+accessible field net/minecraft/client/model/geom/builders/PartDefinition children Ljava/util/Map;
+accessible field net/minecraft/client/model/geom/builders/PartDefinition cubes Ljava/util/List;
+accessible field net/minecraft/client/model/geom/builders/PartDefinition partPose Lnet/minecraft/client/model/geom/PartPose;
accessible field net/minecraft/client/model/geom/ModelPart$Cube polygons [Lnet/minecraft/client/model/geom/ModelPart$Polygon;
-accessible field net/minecraft/client/model/geom/builders/CubeDefinition texScale Lnet/minecraft/client/model/geom/builders/UVPair;
+accessible field net/minecraft/client/particle/Particle gravity F
+accessible field net/minecraft/commands/synchronization/ArgumentTypeInfos BY_CLASS Ljava/util/Map;
+accessible field net/minecraft/server/MinecraftServer executor Ljava/util/concurrent/Executor;
+accessible field net/minecraft/server/MinecraftServer levels Ljava/util/Map;
+accessible field net/minecraft/server/MinecraftServer progressListenerFactory Lnet/minecraft/server/level/progress/ChunkProgressListenerFactory;
+accessible field net/minecraft/server/MinecraftServer storageSource Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;
+accessible field net/minecraft/server/level/ServerLevel dragonFight Lnet/minecraft/world/level/dimension/end/EndDragonFight;
+accessible method net/minecraft/client/particle/SuspendedParticle (Lnet/minecraft/client/multiplayer/ClientLevel;Lnet/minecraft/client/particle/SpriteSet;DDDDDD)V
+accessible method net/minecraft/client/renderer/LevelRenderer renderEndSky (Lcom/mojang/blaze3d/vertex/PoseStack;)V
+accessible method net/minecraft/server/MinecraftServer wrapRunnable (Ljava/lang/Runnable;)Lnet/minecraft/server/TickTask;
+accessible method net/minecraft/world/entity/ai/behavior/VillagerGoalPackages getMinimalLookBehavior ()Lcom/mojang/datafixers/util/Pair;
+accessible method net/minecraft/world/entity/ai/village/poi/PoiTypes register (Lnet/minecraft/core/Registry;Lnet/minecraft/resources/ResourceKey;Ljava/util/Set;II)Lnet/minecraft/world/entity/ai/village/poi/PoiType;
+accessible method net/minecraft/world/entity/ai/village/poi/PoiTypes registerBlockStates (Lnet/minecraft/core/Holder;Ljava/util/Set;)V
+accessible method net/minecraft/world/entity/npc/Villager setUnhappy ()V
+accessible method net/minecraft/world/level/biome/Biome getGrassColorFromTexture ()I
+extendable class com/mojang/blaze3d/pipeline/MainTarget
+extendable class net/minecraft/client/model/geom/builders/CubeDefinition
+extendable method net/minecraft/world/entity/Entity getBoundingBox ()Lnet/minecraft/world/phys/AABB;
+transitive-accessible class net/minecraft/world/level/block/entity/BlockEntityType$BlockEntitySupplier
+accessible class net/minecraft/client/renderer/RenderStateShard$MultiTextureStateShard
+accessible method net/minecraft/client/renderer/RenderStateShard$MultiTextureStateShard (Lcom/google/common/collect/ImmutableList;)V
+accessible field net/minecraft/client/renderer/RenderStateShard TRANSLUCENT_TRANSPARENCY Lnet/minecraft/client/renderer/RenderStateShard$TransparencyStateShard;
+accessible field net/minecraft/client/renderer/RenderStateShard NO_LAYERING Lnet/minecraft/client/renderer/RenderStateShard$LayeringStateShard;
+accessible class net/minecraft/client/model/geom/ModelPart$Vertex
+accessible class net/minecraft/client/model/geom/ModelPart$Polygon
+accessible field net/minecraft/client/renderer/RenderStateShard NO_CULL Lnet/minecraft/client/renderer/RenderStateShard$CullStateShard;
+accessible field net/minecraft/client/renderer/RenderStateShard LIGHTMAP Lnet/minecraft/client/renderer/RenderStateShard$LightmapStateShard;
+accessible field net/minecraft/client/model/geom/ModelPart cubes Ljava/util/List;
+accessible field net/minecraft/client/model/geom/ModelPart children Ljava/util/Map;
\ No newline at end of file
diff --git a/fabric/build.gradle b/fabric/build.gradle
index 4dd2422b..559f4307 100644
--- a/fabric/build.gradle
+++ b/fabric/build.gradle
@@ -1,5 +1,6 @@
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
+ id "me.shedaniel.unified-publishing" version "0.1.+"
}
architectury {
@@ -12,6 +13,7 @@ loom {
}
//
+
configurations {
common
shadowCommon // Don't use shadow from the shadow plugin because we don't want IDEA to index this.
@@ -54,6 +56,10 @@ repositories {
}
}
+sourceSets.main.resources {
+ srcDir project(":common").file("src/resources").absolutePath
+}
+
def generatedResources = project(":forge").file("src/generated/resources")
sourceSets {
@@ -62,46 +68,6 @@ sourceSets {
}
}
-if (System.getenv("curseforge") != null && System.getenv("modrinth") != null) {
- unifiedPublishing {
- project {
- displayName = "[Fabric] Tardis Refined - $project.version"
- releaseType = "release"
- changelog = new File("${rootProject.projectDir}/changelog.md").text
- gameVersions = ["$rootProject.minecraft_version"]
- mainPublication tasks.remapJar
- gameLoaders = ["fabric"]
- relations {
- depends {
- curseforge = "fabric-api"
- modrinth = "fabric-api"
- }
- optional {
- curseforge = "immersive-portals-mod"
- modrinth = "immersiveportals"
- }
- }
-
- var CURSE_API_KEY = project.findProperty("curseforge") ?: System.getenv("curseforge") ?: ""
- if (CURSE_API_KEY != "") {
- curseforge {
- token = CURSE_API_KEY
- id = "782697"
- gameVersions.addAll "Java 17", "$rootProject.minecraft_version"
- }
- }
-
- var MODRINTH_TOKEN = project.findProperty("modrinth") ?: System.getenv("modrinth") ?: ""
- if (MODRINTH_TOKEN != "") {
- modrinth {
- token = MODRINTH_TOKEN
- id = "nqVt6aES"
- version = "fabric-$project.version"
- }
- }
- }
- }
-}
dependencies {
@@ -115,18 +81,20 @@ dependencies {
modImplementation "dev.onyxstudios.cardinal-components-api:cardinal-components-world:${rootProject.cardinal_version}"
modImplementation "dev.onyxstudios.cardinal-components-api:cardinal-components-entity:${rootProject.cardinal_version}"
-
// Includes Cardinal Components API as a Jar-in-Jar dependency (optional)
include "dev.onyxstudios.cardinal-components-api:cardinal-components-base:${rootProject.cardinal_version}"
include "dev.onyxstudios.cardinal-components-api:cardinal-components-world:${rootProject.cardinal_version}"
include "dev.onyxstudios.cardinal-components-api:cardinal-components-entity:${rootProject.cardinal_version}"
- modCompileOnly "com.terraformersmc:modmenu:${rootProject.mod_menu_version}"
- modCompileOnly "curse.maven:jei-238222:${rootProject.jei_fabric_version}"
+ // Sodium
+ modImplementation "maven.modrinth:sodium:${rootProject.sodium_version}"
+
+ modImplementation "com.terraformersmc:modmenu:${rootProject.mod_menu_version}"
+ modImplementation "curse.maven:jei-238222:${rootProject.jei_fabric_version}"
modImplementation "curse.maven:huge-structure-blocks-474114:4803539"
// Trinkets
- modImplementation ("dev.emi:trinkets:${rootProject.trinkets_version}") {
+ modCompileOnly ("dev.emi:trinkets:${rootProject.trinkets_version}") {
exclude(group: "dev.onyxstudios.cardinal-components-api")
}
@@ -186,6 +154,9 @@ processResources {
inputs.properties replaceProperties
replaceProperties.put 'project', project
+ duplicatesStrategy = DuplicatesStrategy.INCLUDE
+
+
filesMatching(resourceTargets) {
expand replaceProperties
}
@@ -214,6 +185,49 @@ remapJar {
dependsOn shadowJar
}
+if (false) {
+ unifiedPublishing {
+ project {
+ displayName = "[Fabric] Tardis Refined - $project.version"
+ releaseType = "release"
+ changelog = new File("${rootProject.projectDir}/changelog.md").text
+ gameVersions = ["$rootProject.minecraft_version"]
+ mainPublication tasks.remapJar
+ gameLoaders = ["fabric"]
+ relations {
+ depends {
+ curseforge = "fabric-api"
+ modrinth = "fabric-api"
+ }
+ optional {
+ curseforge = "immersive-portals-mod"
+ modrinth = "immersiveportals"
+ }
+ optional {
+ curseforge = "trinkets"
+ modrinth = "trinkets"
+ }
+ }
+ var CURSE_API_KEY = project.findProperty("curseforge") ?: System.getenv("curseforge") ?: ""
+ if (CURSE_API_KEY != "") {
+ curseforge {
+ token = CURSE_API_KEY
+ id = "782697"
+ gameVersions.addAll "Java 17", "$rootProject.minecraft_version"
+ }
+ }
+ var MODRINTH_TOKEN = project.findProperty("modrinth") ?: System.getenv("modrinth") ?: ""
+ if (MODRINTH_TOKEN != "") {
+ modrinth {
+ token = MODRINTH_TOKEN
+ id = "nqVt6aES"
+ version = "fabric-$project.version"
+ }
+ }
+ }
+ }
+}
+
sourcesJar {
def commonSources = project(":common").sourcesJar
dependsOn commonSources
@@ -236,7 +250,7 @@ publishing {
repositories {
maven {
- url = "https://maven.craig.software/snapshots/"
+ url = "https://mvn.jeryn.dev/snapshots/"
credentials {
username = project.findProperty("MAVEN_REPO_USERNAME") ?: System.getenv("MAVEN_REPO_USERNAME") ?: ""
password = project.findProperty("MAVEN_REPO_PASSWORD") ?: System.getenv("MAVEN_REPO_PASSWORD") ?: ""
diff --git a/fabric/src/main/java/whocraft/tardis_refined/client/fabric/ModelRegistryImpl.java b/fabric/src/main/java/whocraft/tardis_refined/client/fabric/ModelRegistryImpl.java
index ded10f00..92157b87 100644
--- a/fabric/src/main/java/whocraft/tardis_refined/client/fabric/ModelRegistryImpl.java
+++ b/fabric/src/main/java/whocraft/tardis_refined/client/fabric/ModelRegistryImpl.java
@@ -1,9 +1,17 @@
package whocraft.tardis_refined.client.fabric;
+import com.google.gson.JsonObject;
import net.fabricmc.fabric.api.client.rendering.v1.EntityModelLayerRegistry;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.builders.LayerDefinition;
+import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.client.model.pallidium.BedrockModelUtil;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.function.Supplier;
public class ModelRegistryImpl {
@@ -12,4 +20,5 @@ public static ModelLayerLocation register(ModelLayerLocation location, Supplier<
EntityModelLayerRegistry.registerModelLayer(location, definition::get);
return location;
}
+
}
diff --git a/fabric/src/main/java/whocraft/tardis_refined/common/util/fabric/PlatformImpl.java b/fabric/src/main/java/whocraft/tardis_refined/common/util/fabric/PlatformImpl.java
index 7b0a3c7e..caf5e1b9 100644
--- a/fabric/src/main/java/whocraft/tardis_refined/common/util/fabric/PlatformImpl.java
+++ b/fabric/src/main/java/whocraft/tardis_refined/common/util/fabric/PlatformImpl.java
@@ -48,6 +48,7 @@ public static MinecraftServer getServer() {
}
public static void init() {
+ ServerLifecycleEvents.SERVER_STARTING.register(server -> MINECRAFT_SERVER = server);
ServerLifecycleEvents.SERVER_STARTED.register(server -> MINECRAFT_SERVER = server);
}
@@ -59,4 +60,11 @@ private static MinecraftServer getServerFromClient() {
public static boolean isForge() {
return false;
}
+
+ public static String getModName(String namespace) {
+ return FabricLoader.getInstance().getModContainer(namespace)
+ .map(modContainer -> modContainer.getMetadata().getName())
+ .orElse(namespace);
+ }
+
}
diff --git a/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabric.java b/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabric.java
index bee9449e..54b8d264 100644
--- a/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabric.java
+++ b/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabric.java
@@ -6,7 +6,6 @@
import net.fabricmc.fabric.api.biome.v1.BiomeSelectors;
import net.fabricmc.fabric.api.resource.IdentifiableResourceReloadListener;
import net.fabricmc.fabric.api.resource.ResourceManagerHelper;
-import net.minecraft.client.renderer.item.ItemProperties;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
@@ -18,8 +17,7 @@
import net.neoforged.fml.config.ModConfig;
import whocraft.tardis_refined.TRConfig;
import whocraft.tardis_refined.TardisRefined;
-import whocraft.tardis_refined.common.hum.TardisHums;
-import whocraft.tardis_refined.common.items.DimensionSamplerItem;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.util.Platform;
import whocraft.tardis_refined.common.util.fabric.PlatformImpl;
@@ -32,7 +30,6 @@
import whocraft.tardis_refined.fabric.events.ModEvents;
import whocraft.tardis_refined.patterns.ConsolePatterns;
import whocraft.tardis_refined.patterns.ShellPatterns;
-import whocraft.tardis_refined.registry.TRItemRegistry;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor;
diff --git a/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabricClient.java b/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabricClient.java
index cc16beb1..4331875b 100644
--- a/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabricClient.java
+++ b/fabric/src/main/java/whocraft/tardis_refined/fabric/TardisRefinedFabricClient.java
@@ -12,19 +12,21 @@
import net.minecraft.world.level.block.Block;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.ModelRegistry;
-import whocraft.tardis_refined.client.ParticleGallifrey;
import whocraft.tardis_refined.client.TRKeybinds;
import whocraft.tardis_refined.client.TRParticles;
+import whocraft.tardis_refined.client.particle.ParticleGallifrey;
import whocraft.tardis_refined.client.renderer.blockentity.RootPlantRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.console.GlobalConsoleRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.device.ArtronPillarRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.device.AstralManipulatorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.device.ConsoleConfigurationRenderer;
+import whocraft.tardis_refined.client.renderer.blockentity.door.BulkHeadDoorExtensionRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.door.BulkHeadDoorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.door.GlobalDoorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.door.RootShellDoorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.life.ArsEggRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.life.EyeRenderer;
+import whocraft.tardis_refined.client.renderer.blockentity.life.ZeitonGlassRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.shell.GlobalShellRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.shell.RootShellRenderer;
import whocraft.tardis_refined.client.renderer.entity.ControlEntityRenderer;
@@ -40,7 +42,6 @@
public class TardisRefinedFabricClient implements ClientModInitializer {
@Override
public void onInitializeClient() {
-
establishBlockEntityRenderers();
ModelRegistry.init();
ModEvents.addClientEvents();
@@ -48,6 +49,7 @@ public void onInitializeClient() {
registerEntityRenderers();
KeyBindingHelper.registerKeyBinding(TRKeybinds.EXIT_EXTERIOR_VIEW);
+ KeyBindingHelper.registerKeyBinding(TRKeybinds.TOGGLE_INFO_EXTERIOR_VIEW);
ItemProperties.register(TRItemRegistry.TEST_TUBE.get(), new ResourceLocation(TardisRefined.MODID, "is_sampled"), (itemStack, clientLevel, livingEntity, i) -> DimensionSamplerItem.hasDimAtAll(itemStack) ? 1 : 0);
}
@@ -67,6 +69,9 @@ private void establishBlockEntityRenderers() {
BlockEntityRendererRegistry.register(TRBlockEntityRegistry.ARS_EGG.get(), ArsEggRenderer::new);
BlockEntityRendererRegistry.register(TRBlockEntityRegistry.THE_EYE.get(), EyeRenderer::new);
BlockEntityRendererRegistry.register(TRBlockEntityRegistry.BULK_HEAD_DOOR.get(), BulkHeadDoorRenderer::new);
+ BlockEntityRendererRegistry.register(TRBlockEntityRegistry.BULK_HEAD_DOOR_EXT.get(), BulkHeadDoorExtensionRenderer::new);
+ BlockEntityRendererRegistry.register(TRBlockEntityRegistry.ZEITON_GLASS.get(), ZeitonGlassRenderer::new);
+
BlockEntityRendererRegistry.register(TRBlockEntityRegistry.CONSOLE_CONFIGURATION.get(), ConsoleConfigurationRenderer::new);
BlockEntityRendererRegistry.register(TRBlockEntityRegistry.ASTRAL_MANIPULATOR.get(), AstralManipulatorRenderer::new);
diff --git a/fabric/src/main/java/whocraft/tardis_refined/fabric/events/ModEvents.java b/fabric/src/main/java/whocraft/tardis_refined/fabric/events/ModEvents.java
index 9d2ba2a8..1b8d1ef6 100644
--- a/fabric/src/main/java/whocraft/tardis_refined/fabric/events/ModEvents.java
+++ b/fabric/src/main/java/whocraft/tardis_refined/fabric/events/ModEvents.java
@@ -1,8 +1,13 @@
package whocraft.tardis_refined.fabric.events;
+import com.mojang.blaze3d.vertex.DefaultVertexFormat;
+import com.mojang.blaze3d.vertex.PoseStack;
+import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientBlockEntityEvents;
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
import net.fabricmc.fabric.api.client.rendering.v1.ColorProviderRegistry;
+import net.fabricmc.fabric.api.client.rendering.v1.CoreShaderRegistrationCallback;
import net.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
+import net.fabricmc.fabric.api.client.rendering.v1.WorldRenderEvents;
import net.fabricmc.fabric.api.command.v2.CommandRegistrationCallback;
import net.fabricmc.fabric.api.entity.event.v1.ServerEntityWorldChangeEvents;
import net.fabricmc.fabric.api.entity.event.v1.ServerPlayerEvents;
@@ -11,24 +16,29 @@
import net.fabricmc.fabric.api.event.player.AttackBlockCallback;
import net.fabricmc.fabric.api.event.player.PlayerBlockBreakEvents;
import net.fabricmc.fabric.api.networking.v1.ServerPlayConnectionEvents;
+import net.minecraft.client.Camera;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
+import net.minecraft.client.multiplayer.ClientLevel;
+import net.minecraft.client.renderer.LightTexture;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.InteractionResult;
import net.minecraft.world.level.Level;
-import whocraft.tardis_refined.client.TRItemColouring;
-import whocraft.tardis_refined.client.TardisClientLogic;
+import whocraft.tardis_refined.client.*;
import whocraft.tardis_refined.client.overlays.ExteriorViewOverlay;
import whocraft.tardis_refined.client.overlays.GravityOverlay;
import whocraft.tardis_refined.client.overlays.VortexOverlay;
+import whocraft.tardis_refined.client.renderer.vortex.RenderTargetHelper;
import whocraft.tardis_refined.command.TardisRefinedCommand;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
import whocraft.tardis_refined.common.capability.tardis.TardisLevelOperator;
import whocraft.tardis_refined.common.dimension.DimensionHandler;
import whocraft.tardis_refined.common.dimension.TardisTeleportData;
import whocraft.tardis_refined.common.dimension.fabric.DimensionHandlerImpl;
import whocraft.tardis_refined.common.util.MiscHelper;
+import whocraft.tardis_refined.common.util.RegistryHelper;
import whocraft.tardis_refined.common.util.TardisHelper;
import whocraft.tardis_refined.compat.ModCompatChecker;
import whocraft.tardis_refined.compat.portals.ImmersivePortals;
@@ -67,7 +77,7 @@ public static void addCommonEvents() {
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
ServerPlayer player = handler.getPlayer();
TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> {
- tardisPlayerInfo.endPlayerForInspection(player);
+ tardisPlayerInfo.endShellView(player);
});
});
@@ -82,7 +92,6 @@ public static void addCommonEvents() {
}
});
-
CommandRegistrationCallback.EVENT.register((dispatcher, registryAccess, environment) -> TardisRefinedCommand.register(dispatcher));
ServerPlayConnectionEvents.JOIN.register((handler, sender, server) -> {
@@ -108,6 +117,12 @@ public static void addClientEvents() {
ColorProviderRegistry.ITEM.register(TRItemColouring.SCREWDRIVER_COLORS, TRItemRegistry.SCREWDRIVER.get());
ColorProviderRegistry.ITEM.register(TRItemColouring.SAMPLE_COLORS, TRItemRegistry.TEST_TUBE.get());
+ ClientBlockEntityEvents.BLOCK_ENTITY_LOAD.register((blockEntity, world) -> {
+ if (blockEntity instanceof ZeitonGlassBlockEntity zeitonGlassBlockEntity) {
+ ZeitonGlassTracker.onLoad(zeitonGlassBlockEntity);
+ }
+ });
+
AttackBlockCallback.EVENT.register((player, world, hand, pos, direction) -> {
if (world.isClientSide) return InteractionResult.PASS;
AtomicBoolean stopBreak = new AtomicBoolean(false);
@@ -115,6 +130,23 @@ public static void addClientEvents() {
return stopBreak.get() ? InteractionResult.FAIL : InteractionResult.PASS;
});
+ CoreShaderRegistrationCallback.EVENT.register(context -> {
+ context.register(RegistryHelper.makeKey("glow_shader"), DefaultVertexFormat.NEW_ENTITY, shaderInstance -> TRShaders.GLOW_SHADER = shaderInstance);
+ context.register(RegistryHelper.makeKey("nivis"), DefaultVertexFormat.NEW_ENTITY, shaderInstance -> TRShaders.SNOW_SHADER = shaderInstance);
+ });
+
+ WorldRenderEvents.LAST.register(context -> {
+ Camera camera = context.camera();
+ PoseStack matrices = context.matrixStack();
+ ClientLevel world = Minecraft.getInstance().level;
+ if (world == null) return;
+ TardisClientData tardisClientData = TardisClientData.getInstance(world.dimension());
+ matrices.pushPose();
+ RenderTargetHelper.renderZeitonGlass(camera, ModelRegistry.zeitonGlassModel, matrices, context.consumers(), LightTexture.FULL_BLOCK, tardisClientData, true);
+ matrices.popPose();
+ });
+
+
Supplier guiGraphics = () -> new GuiGraphics(Minecraft.getInstance(), Minecraft.getInstance().renderBuffers().bufferSource());
HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> VortexOverlay.renderOverlay(guiGraphics.get()));
HudRenderCallback.EVENT.register((matrixStack, tickDelta) -> ExteriorViewOverlay.renderOverlay(guiGraphics.get()));
diff --git a/fabric/src/main/java/whocraft/tardis_refined/mixin/fabric/MinecraftServerMixin.java b/fabric/src/main/java/whocraft/tardis_refined/mixin/fabric/MinecraftServerMixin.java
index f6b146ac..39d1adac 100644
--- a/fabric/src/main/java/whocraft/tardis_refined/mixin/fabric/MinecraftServerMixin.java
+++ b/fabric/src/main/java/whocraft/tardis_refined/mixin/fabric/MinecraftServerMixin.java
@@ -8,16 +8,27 @@
import org.spongepowered.asm.mixin.injection.At;
import whocraft.tardis_refined.common.blockentity.shell.RootedShellBlockEntity;
+import java.util.ArrayList;
+import java.util.List;
+
@Mixin(MinecraftServer.class)
public class MinecraftServerMixin {
- @ModifyExpressionValue(method = "tickChildren(Ljava/util/function/BooleanSupplier;)V", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;getAllLevels()Ljava/lang/Iterable;"))
+ @ModifyExpressionValue(
+ method = "tickChildren(Ljava/util/function/BooleanSupplier;)V",
+ at = @At(value = "INVOKE", target = "Lnet/minecraft/server/MinecraftServer;getAllLevels()Ljava/lang/Iterable;")
+ )
public Iterable getAllLevels(Iterable original) {
if (RootedShellBlockEntity.setUpOnNextTick) {
- // if we are going to modify the levels map in this tick, make sure we iterate over a copy of it instead.
+ // If we're going to modify the levels map in this tick, iterate over a copy of it instead
RootedShellBlockEntity.setUpOnNextTick = false;
- return Lists.newArrayList(original.iterator());
+ List copy = new ArrayList<>();
+ for (ServerLevel level : original) {
+ copy.add(level);
+ }
+ return copy;
}
return original;
}
+
}
diff --git a/forge/build.gradle b/forge/build.gradle
index e79ad504..04109981 100644
--- a/forge/build.gradle
+++ b/forge/build.gradle
@@ -1,5 +1,7 @@
plugins {
id "com.github.johnrengelman.shadow" version "7.1.2"
+ id "me.shedaniel.unified-publishing" version "0.1.+"
+
}
architectury {
platformSetupLoomIde()
@@ -14,8 +16,46 @@ sourceSets {
}
}
-remapJar {
- atAccessWideners.add('tardis_refined.accesswidener')
+if (false) {
+ unifiedPublishing {
+ project {
+ displayName = "[NeoForge] Tardis Refined - $project.version"
+ releaseType = "release"
+ changelog = new File("${rootProject.projectDir}/changelog.md").text
+ gameVersions = ["$rootProject.minecraft_version"]
+ mainPublication tasks.remapJar
+ gameLoaders = ["neoforge"]
+ relations {
+ optional {
+ curseforge = "immersive-portals-mod"
+ modrinth = "immersiveportals"
+ }
+ optional {
+ curseforge = "curios"
+ modrinth = "curios"
+ }
+ }
+
+ var CURSE_API_KEY = project.findProperty("curseforge") ?: System.getenv("curseforge") ?: ""
+ if (CURSE_API_KEY != "") {
+ curseforge {
+ token = CURSE_API_KEY
+ id = "782697"
+ gameVersions.addAll "Java 17", "$rootProject.minecraft_version"
+ }
+ }
+
+ var MODRINTH_TOKEN = project.findProperty("modrinth") ?: System.getenv("modrinth") ?: ""
+ if (MODRINTH_TOKEN != "") {
+ modrinth {
+ token = MODRINTH_TOKEN
+ id = "nqVt6aES"
+ version = "neoforge-$project.version"
+ }
+ }
+ }
+ }
+
}
loom {
@@ -66,8 +106,6 @@ dependencies {
// modCompileOnly "curse.maven:worldedit-225608:${world_edit_version}"
// modCompileOnly "curse.maven:structure-expansion-398430:${structure_expansion_version}"
-// modCompileOnly "curse.maven:configured-457570:${configured_version}"
- // modCompileOnly "curse.maven:jei-238222:${jei_version}"
compileOnly "curse.maven:immersive-portals-355440:${immersive_portals_forge_version}"
modImplementation "curse.maven:curios-309927:4921744"
@@ -79,39 +117,6 @@ dependencies {
}
-if (System.getenv("curseforge") != null && System.getenv("modrinth") != null) {
- unifiedPublishing {
- project {
- displayName = "[NeoForge] Tardis Refined - $project.version"
- releaseType = "release"
- changelog = new File("${rootProject.projectDir}/changelog.md").text
- gameVersions = ["$rootProject.minecraft_version"]
- mainPublication tasks.remapJar
- gameLoaders = ["neoforge"]
- relations {
-
- }
-
- var CURSE_API_KEY = project.findProperty("curseforge") ?: System.getenv("curseforge") ?: ""
- if (CURSE_API_KEY != "") {
- curseforge {
- token = CURSE_API_KEY
- id = "782697"
- gameVersions.addAll "Java 17", "$rootProject.minecraft_version"
- }
- }
-
- var MODRINTH_TOKEN = project.findProperty("modrinth") ?: System.getenv("modrinth") ?: ""
- if (MODRINTH_TOKEN != "") {
- modrinth {
- token = MODRINTH_TOKEN
- id = "nqVt6aES"
- version = "neoforge-$project.version"
- }
- }
- }
- }
-}
def resourceTargets = ["META-INF/mods.toml", "pack.mcmeta"]
def intoTargets = ["$rootDir/out/production/resources/", "$rootDir/out/production/${project.name}.main/", "$rootDir/bin/main/"]
@@ -164,6 +169,7 @@ remapJar {
}
sourcesJar {
+ duplicatesStrategy = DuplicatesStrategy.INCLUDE
def commonSources = project(":common").sourcesJar
dependsOn commonSources
from commonSources.archiveFile.map { zipTree(it) }
@@ -192,7 +198,7 @@ publishing {
repositories {
maven {
- url = "https://maven.craig.software/snapshots/"
+ url = "https://mvn.jeryn.dev/snapshots"
credentials {
username = project.findProperty("MAVEN_REPO_USERNAME") ?: System.getenv("MAVEN_REPO_USERNAME") ?: ""
password = project.findProperty("MAVEN_REPO_PASSWORD") ?: System.getenv("MAVEN_REPO_PASSWORD") ?: ""
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/HumProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/HumProvider.java
index 8bc38212..3fc0d664 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/HumProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/HumProvider.java
@@ -7,9 +7,12 @@
import net.minecraft.data.DataGenerator;
import net.minecraft.data.DataProvider;
import net.minecraft.resources.ResourceLocation;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.jetbrains.annotations.NotNull;
import whocraft.tardis_refined.TardisRefined;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import java.util.ArrayList;
import java.util.HashMap;
@@ -22,6 +25,8 @@ public class HumProvider implements DataProvider {
protected final DataGenerator generator;
private final boolean addDefaults;
protected Map data = new HashMap<>();
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/HumProvider");
+
public HumProvider(DataGenerator generator) {
this(generator, true);
@@ -57,6 +62,7 @@ public CompletableFuture> run(CachedOutput arg) {
addHum(TardisHums.SOUL_SAND_VALLEY);
addHum(TardisHums.WARPED_FOREST);
addHum(TardisHums.UNDER_WATER);
+ addHum(TardisHums.COPPER);
}
this.addHums();
@@ -72,7 +78,7 @@ public CompletableFuture> run(CachedOutput arg) {
String outputPath = "data/" + hum.getIdentifier().getNamespace() + "/" + TardisHums.getReloadListener().getFolderName() + "/" + hum.getIdentifier().getPath().replace("/", "_") + ".json";
futures.add(DataProvider.saveStable(arg, currentHum, generator.getPackOutput().getOutputFolder().resolve(outputPath)));
} catch (Exception exception) {
- TardisRefined.LOGGER.error("Issue writing Hum {}! Error: {}", hum.getIdentifier(), exception.getMessage());
+ LOGGER.error("Issue writing Hum {{}}! Error: {}", hum.getIdentifier(), exception.getMessage());
}
});
}
@@ -80,12 +86,12 @@ public CompletableFuture> run(CachedOutput arg) {
}
@Override
- public String getName() {
- return "Hums";
+ public @NotNull String getName() {
+ return "Tardis Refined - Hums";
}
protected void addHum(HumEntry hum) {
- TardisRefined.LOGGER.info("Adding Hum to datagen {}", hum.getIdentifier());
+ LOGGER.info("Adding Interior Hum {{}} to Data Generation", hum.getIdentifier());
data.put(hum.getIdentifier(), hum);
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/ItemModelProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/ItemModelProvider.java
index fa975ecf..2f73ba7e 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/ItemModelProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ItemModelProvider.java
@@ -31,6 +31,7 @@ protected void registerModels() {
blockItem(TRBlockRegistry.ZEITON_ORE.getId());
blockItem(TRBlockRegistry.ZEITON_ORE_DEEPSLATE.getId());
blockItem(TRBlockRegistry.ZEITON_BLOCK.getId());
+ blockItem(TRBlockRegistry.ZEITON_GLASS.getId());
//blockItem(TRBlockRegistry.ASTRAL_MAP.getId());
ResourceLocation leavesTexture = new ResourceLocation("tardis_refined:block/ars_leaves");
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/ItemTagProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/ItemTagProvider.java
index 753a7e35..05e60200 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/ItemTagProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ItemTagProvider.java
@@ -5,6 +5,7 @@
import net.minecraft.data.tags.ItemTagsProvider;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
+import net.neoforged.neoforge.common.Tags;
import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
import whocraft.tardis_refined.TardisRefined;
@@ -28,5 +29,6 @@ protected void addTags(HolderLookup.Provider arg) {
tag(TRTagKeys.CURIOS_HEAD).add(TRItemRegistry.GLASSES.get());
tag(TRTagKeys.TRINKETS_HEAD).add(TRItemRegistry.GLASSES.get());
tag(TRTagKeys.TRINKETS_FACE).add(TRItemRegistry.GLASSES.get());
+ tag(Tags.Items.INGOTS).add(TRItemRegistry.ZEITON_INGOT.get());
}
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/LangProviderEnglish.java b/forge/src/main/java/whocraft/tardis_refined/common/data/LangProviderEnglish.java
index b6527a18..7d08adb4 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/LangProviderEnglish.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/LangProviderEnglish.java
@@ -11,8 +11,8 @@
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.common.VortexRegistry;
import whocraft.tardis_refined.common.capability.tardis.upgrades.Upgrade;
-import whocraft.tardis_refined.common.hum.HumEntry;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.HumEntry;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.tardis.control.Control;
import whocraft.tardis_refined.common.tardis.themes.ShellTheme;
import whocraft.tardis_refined.constants.ModMessages;
@@ -116,6 +116,7 @@ protected void addTranslations() {
add(TRBlockRegistry.ARTRON_PILLAR.get(), "Artron Pillar");
add(TRBlockRegistry.ARTRON_PILLAR_PORT.get(), "Artron Pillar Port");
add(TRBlockRegistry.CORRIDOR_TELEPORTER.get(), "Corridor Teleporter");
+ add(TRBlockRegistry.ZEITON_GLASS.get(), "Zeiton Glass");
/*Items*/
add(TRItemRegistry.PATTERN_MANIPULATOR.get(), "Pattern Manipulator");
@@ -157,26 +158,30 @@ protected void addTranslations() {
addControl(TRControlRegistry.READOUT.get(), "GPS");
addControl(TRControlRegistry.EXTERIOR_DISPLAY.get(), "Exterior Display");
+
+ String errorPrefix = ChatFormatting.BOLD + ChatFormatting.RED.toString() + "[ERROR] " + ChatFormatting.RESET;
+
/*Messages*/
add(ModMessages.MSG_EXTERIOR_COOLDOWN, "You must wait %s seconds");
add(ModMessages.MSG_KEY_BOUND, "Key Bound to %s");
add(ModMessages.MSG_KEY_CYCLED, "Main: %s");
- add(ModMessages.CONSOLE_CONFIGURATION_NOT_IN_FLIGHT, "Cannot update console block whilst in flight");
- add(ModMessages.HARDWARE_OFFLINE, "Hardware offline");
+ add(ModMessages.CONSOLE_CONFIGURATION_NOT_IN_FLIGHT, errorPrefix + "Cannot update console block whilst in flight");
+ add(ModMessages.HARDWARE_OFFLINE, errorPrefix + "Insufficient Power!");
add(ModMessages.NO_FLIGHT_TRANSITIVE, "Cannot change handbrake state whilst in transitive flight");
add(ModMessages.HANDBRAKE_WARNING, "Ship is in flight. Left click the handbrake to engage");
add(ModMessages.CONSOLE_NOT_IN_FLIGHT, "Cannot change consoles whilst in flight");
add(ModMessages.NO_END_DRAGON_PREVENTS, "A dragon prevents you from progressing to The End");
add(ModMessages.TARDIS_IS_ON_THE_WAY, "TARDIS has been summoned and is on the way");
- add(ModMessages.LANDING_PAD_NOT_UNLOCKED, "Specified TARDIS rejected landing pad signal");
- add(ModMessages.LANDING_PAD_TRANSIENT, "Cannot summon TARDIS at this time.");
+ add(ModMessages.LANDING_PAD_NOT_UNLOCKED, errorPrefix +"Specified TARDIS rejected landing pad signal");
+ add(ModMessages.LANDING_PAD_TRANSIENT, errorPrefix +"Cannot summon TARDIS at this time!");
+ add(ModMessages.LANDING_PAD_BANNED_DIM, errorPrefix +"You cannot summon the TARDIS to this Dimension!");
add(ModMessages.REFUEL, "Enabled refuelling");
add(ModMessages.STOP_REFUEL, "Stopped refuelling");
- add(ModMessages.NO_DESKTOP_NO_FUEL, "Not enough fuel to start the reconfiguration process");
+ add(ModMessages.NO_DESKTOP_NO_FUEL, errorPrefix +"Not enough fuel to start the reconfiguration process");
add(ModMessages.ASTRAL_MANIPULATOR_ENGAGED, "Please make your selection. Right click again to confirm");
add(ModMessages.ROOT_PLANT_CUT_OPEN, "Roots cover the entrance");
add(ModMessages.FUEL, "Fuel: %s");
- add(ModMessages.FUEL_OFFLINE, "Fuel offline");
+ add(ModMessages.FUEL_OFFLINE, errorPrefix + "Fuel offline");
add(ModMessages.WAYPOINT_LOADED, "Preloaded waypoint: %s");
add(ModMessages.HANDBRAKE_ENGAGED, "Handbrake engaged");
add(ModMessages.HANDBRAKE_DISENGAGED, "Handbrake disengaged");
@@ -186,6 +191,10 @@ protected void addTranslations() {
add(ModMessages.DOOR_UNLOCKED, "Door unlocked");
add(ModMessages.RECOVERY_PROGRESS, "Recovery Progress: %s");
add(ModMessages.SUBMIT, "Submit");
+ add(ModMessages.VILLAGER_CAN_FLY, "Pilot?");
+ add(ModMessages.PILOT_TIME, "You've still got %s with your pilot. Make the most of it!");
+ add(ModMessages.DEMANDS_PAYMENT, "Demands payment");
+ add(ModMessages.TARDIS_SLEEP_END, "The hums of the ship make you toss and turn. Your spawnpoint could not be set here.");
/*Command*/
@@ -295,6 +304,7 @@ protected void addTranslations() {
addShell(ShellTheme.CASTLE.getId(), "Castle");
addShell(ShellTheme.PATHFINDER.getId(), "Pathfinder");
addShell(ShellTheme.HALF_BAKED.getId(), "Half Baked");
+ addShell(ShellTheme.SHULKER.getId(), "Half Baked");
/*Tool Tips*/
add(ModMessages.TOOLTIP_TARDIS_LIST_TITLE, ChatFormatting.YELLOW + "< "
@@ -312,6 +322,9 @@ protected void addTranslations() {
add(ModMessages.CONFIG_CONTROL_NAMES, "Render control names?");
add(ModMessages.CONFIG_BANNED_DIMENSIONS, "Banned Dimensions");
add(ModMessages.CONFIG_IDLE_CONSOLE_ANIMS, "Play idle console animations");
+ add(ModMessages.CONFIG_RENDER_VORTEX_IN_DOOR, "Render Vortex within interior door");
+ add(ModMessages.CONFIG_CUSTOM_SHADERS, "Use Custom Shaders");
+ add(ModMessages.SCREEN_SHAKE_MULTIPLIER, "Screen Shake Multiplier");
/*Overlay Messages*/
add(ModMessages.ASCEND_KEY, "Ascend: %s");
@@ -325,6 +338,7 @@ protected void addTranslations() {
addUpgrade(TRUpgrades.NAVIGATION_SYSTEM.get(), "Navigation System", "Allows upgrades to the TARDIS Navigation System");
addUpgrade(TRUpgrades.TARDIS_XP.get(), "System Upgrades", "Allows upgrades to the TARDIS");
addUpgrade(TRUpgrades.MATERIALIZE_AROUND.get(), "Materialize Around", "Allows the TARDIS to have entities enter while materalizing");
+ addUpgrade(TRUpgrades.RESPAWN_ALLOWED.get(), "Allow Bed Respawning", "Removes security restriction allowing users to set their spawn via beds.");
addUpgrade(TRUpgrades.ARCHITECTURE_SYSTEM.get(), "Architecture", "Enables TARDIS Architecture Upgrades");
addUpgrade(TRUpgrades.INSIDE_ARCHITECTURE.get(), "Desktop Reconfiguration", "Allows the Pilot to change the appearance of the TARDIS Desktop");
addUpgrade(TRUpgrades.EXPLORER.get(), "Explorer I", "x1000 Increment");
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderBlockTags.java b/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderBlockTags.java
index f98200c1..3e579dd4 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderBlockTags.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ProviderBlockTags.java
@@ -2,8 +2,10 @@
import net.minecraft.core.HolderLookup;
import net.minecraft.data.PackOutput;
+import net.minecraft.resources.ResourceKey;
import net.minecraft.tags.BlockTags;
import net.minecraft.world.level.block.*;
+import net.neoforged.neoforge.common.Tags;
import net.neoforged.neoforge.common.data.BlockTagsProvider;
import net.neoforged.neoforge.common.data.ExistingFileHelper;
import org.jetbrains.annotations.Nullable;
@@ -13,7 +15,9 @@
import whocraft.tardis_refined.registry.TRBlockRegistry;
import whocraft.tardis_refined.registry.TRTagKeys;
+
import java.util.HashSet;
+import java.util.Map;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
@@ -27,26 +31,28 @@ public ProviderBlockTags(PackOutput output, CompletableFuture glassBlocks = new HashSet<>();
ManipulatorRecipes.MANIPULATOR_CRAFTING_RECIPES.forEach((resourceLocation, manipulatorCraftingRecipe) -> {
for (ManipulatorCraftingIngredient ingredient : manipulatorCraftingRecipe.ingredients()) {
- if(ingredient.inputBlockState().getBlock() instanceof GlassBlock) {
+ if(ingredient.inputBlockState().getBlock() instanceof GlassBlock || ingredient.inputBlockState().getBlock() instanceof StainedGlassPaneBlock || ingredient.inputBlockState().getBlock() instanceof AbstractGlassBlock) {
glassBlocks.add(ingredient.inputBlockState().getBlock());
}
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/RecipeProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/RecipeProvider.java
index f8f4c636..924c8845 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/RecipeProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/RecipeProvider.java
@@ -6,6 +6,8 @@
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Items;
import net.minecraft.world.item.crafting.Ingredient;
+import net.minecraft.world.level.ClipContext;
+import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.registry.TRBlockRegistry;
@@ -44,6 +46,9 @@ protected void buildRecipes(RecipeOutput consumer) {
ShapedRecipeBuilder.shaped(RecipeCategory.MISC, TRItemRegistry.ZEITON_INGOT.get()).pattern("ZZZ").pattern("ZZZ").pattern("ZZZ").define('Z', TRItemRegistry.ZEITON_NUGGET.get()).unlockedBy("has_crafting_table", has(TRItemRegistry.ZEITON_NUGGET.get())).save(consumer, new ResourceLocation(TardisRefined.MODID, "zeiton_ingot_from_nugget"));
ShapedRecipeBuilder.shaped(RecipeCategory.DECORATIONS, TRBlockRegistry.ZEITON_LANTERN.get()).pattern("ZZZ").pattern("ZTZ").pattern("ZZZ").define('Z', TRItemRegistry.ZEITON_NUGGET.get()).define('T', Items.TORCH).unlockedBy("has_crafting_table", has(TRItemRegistry.ZEITON_NUGGET.get())).save(consumer);
ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, TRItemRegistry.MALLET.get()).pattern("ZZZ").pattern("ZZZ").pattern(" S ").define('Z', Blocks.STONE).define('S', Items.STICK).unlockedBy("has_crafting_table", has(Blocks.STONE)).save(consumer);
+ ShapedRecipeBuilder.shaped(RecipeCategory.TOOLS, TRBlockRegistry.ZEITON_GLASS.get(), 4).pattern(" Z ").pattern("ZGZ").pattern(" Z ").define('Z', TRItemRegistry.ZEITON_INGOT.get()).define('G', Items.GLASS).unlockedBy("has_crafting_table", has(TRItemRegistry.ZEITON_INGOT.get())).save(consumer);
+
+ ShapelessRecipeBuilder.shapeless(RecipeCategory.MISC, TRItemRegistry.TEST_TUBE.get(), 1).requires(Blocks.GLASS_PANE).requires(Items.SLIME_BALL).unlockedBy("has_crafting_table", has(TRItemRegistry.ZEITON_INGOT.get())).save(consumer);
// Smelting
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/ShellPatternProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/ShellPatternProvider.java
index 0a63ae58..41ca090c 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/ShellPatternProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/ShellPatternProvider.java
@@ -7,6 +7,8 @@
import net.minecraft.data.DataGenerator;
import net.minecraft.data.DataProvider;
import net.minecraft.resources.ResourceLocation;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.patterns.ShellPattern;
import whocraft.tardis_refined.patterns.ShellPatternCollection;
@@ -25,6 +27,7 @@ public class ShellPatternProvider implements DataProvider {
private final boolean addDefaults;
private final String modid;
protected Map data = new HashMap<>();
+ public static Logger LOGGER = LogManager.getLogger("TardisRefined/ShellPatternProvider");
public ShellPatternProvider(DataGenerator generator, String modid) {
this(generator, modid, true);
@@ -61,12 +64,12 @@ public CompletableFuture> run(CachedOutput arg) {
try {
JsonObject currentPatternCollection = ShellPatternCollection.CODEC.encodeStart(JsonOps.INSTANCE, patternCollection).get()
.ifRight(right -> {
- TardisRefined.LOGGER.error(right.message());
+ LOGGER.error(right.message());
}).orThrow().getAsJsonObject();
Path output = getPath(patternCollection.themeId());
futures.add(DataProvider.saveStable(arg, currentPatternCollection, output));
} catch (Exception exception) {
- TardisRefined.LOGGER.error("Issue writing ShellPatternCollection {}! Error: {}", patternCollection.themeId(), exception.getMessage());
+ LOGGER.error("Issue writing ShellPatternCollection {}! Error: {}", patternCollection.themeId(), exception.getMessage());
}
});
}
@@ -86,7 +89,7 @@ public ShellPattern addPattern(ResourceLocation themeId, ShellPattern shellPatte
collection = (ShellPatternCollection) new ShellPatternCollection(List.of(pattern)).setThemeId(themeId);
this.data.put(themeId, collection);
}
- TardisRefined.LOGGER.info("Adding ShellPattern {} for {}", pattern.id(), themeId);
+ LOGGER.info("Adding ShellPattern {} for {}", pattern.id(), themeId);
return pattern;
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java
index 0183e6ca..ce813c90 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/SoundProvider.java
@@ -37,6 +37,7 @@ public void registerSounds() {
add(TRSoundRegistry.HUM_CLASSIC.get(), basicSound("hum_classic", new ResourceLocation(TardisRefined.MODID, "tardis/interior_hums/hum_classic")));
add(TRSoundRegistry.HUM_TOYOTA.get(), basicSound("hum_toyota", new ResourceLocation(TardisRefined.MODID, "tardis/interior_hums/hum_toyota")));
add(TRSoundRegistry.HUM_AVIATRAX.get(), basicSound("hum_aviatrax", new ResourceLocation(TardisRefined.MODID, "tardis/interior_hums/hum_aviatrax")));
+ add(TRSoundRegistry.HUM_COPPER.get(), basicSound("hum_copper", new ResourceLocation(TardisRefined.MODID, "tardis/interior_hums/hum_copper")));
add(TRSoundRegistry.INTERIOR_CREAKS.get(), basicSound("interior_creaks", new ResourceLocation(TardisRefined.MODID, "tardis/ambience/interior_creaks_1"), new ResourceLocation(TardisRefined.MODID, "tardis/ambience/interior_creaks_2"), new ResourceLocation(TardisRefined.MODID, "tardis/ambience/interior_creaks_3")));
add(TRSoundRegistry.FLIGHT_FAIL_START.get(), basicSound("flight_fail_start", new ResourceLocation(TardisRefined.MODID, "tardis/flight_fail_start")));
add(TRSoundRegistry.CONSOLE_POWER_ON.get(), basicSound("console_power_on", new ResourceLocation(TardisRefined.MODID, "tardis/console_power_on")));
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/data/TRBlockModelProvider.java b/forge/src/main/java/whocraft/tardis_refined/common/data/TRBlockModelProvider.java
index 7f80571f..aded9ff6 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/data/TRBlockModelProvider.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/data/TRBlockModelProvider.java
@@ -101,6 +101,8 @@ protected void registerStatesAndModels() {
emptyBlockState(TRBlockRegistry.ARTRON_PILLAR.get());
emptyBlockState(TRBlockRegistry.THE_EYE.get());
+ simpleBlock(TRBlockRegistry.ZEITON_GLASS.get());
+
threeDeeRotating(TRBlockRegistry.LANDING_PAD.get(), new ResourceLocation(TardisRefined.MODID, "block/landing_pad"));
threeDeeRotating(TRBlockRegistry.FLIGHT_DETECTOR.get(), new ResourceLocation(TardisRefined.MODID, "block/flight_detector"));
diff --git a/forge/src/main/java/whocraft/tardis_refined/common/util/neoforge/PlatformImpl.java b/forge/src/main/java/whocraft/tardis_refined/common/util/neoforge/PlatformImpl.java
index 1ea87ed6..638eebae 100644
--- a/forge/src/main/java/whocraft/tardis_refined/common/util/neoforge/PlatformImpl.java
+++ b/forge/src/main/java/whocraft/tardis_refined/common/util/neoforge/PlatformImpl.java
@@ -5,6 +5,7 @@
import net.neoforged.fml.ModList;
import net.neoforged.fml.loading.FMLEnvironment;
import net.neoforged.fml.loading.FMLLoader;
+import net.neoforged.fml.loading.LoadingModList;
import net.neoforged.neoforge.server.ServerLifecycleHooks;
import net.neoforged.neoforgespi.language.IModInfo;
@@ -17,7 +18,7 @@ public static boolean isProduction() {
}
public static boolean isModLoaded(String id) {
- return ModList.get().isLoaded(id);
+ return LoadingModList.get().getModFileById(id) != null;
}
public static Collection getModIds() {
@@ -39,4 +40,11 @@ public static MinecraftServer getServer() {
public static boolean isForge() {
return true;
}
+
+ public static String getModName(String namespace) {
+ return ModList.get().getModContainerById(namespace)
+ .map(modContainer -> modContainer.getModInfo().getDisplayName())
+ .orElse(namespace);
+ }
+
}
\ No newline at end of file
diff --git a/forge/src/main/java/whocraft/tardis_refined/mixin/forge/BlockEntityMixin.java b/forge/src/main/java/whocraft/tardis_refined/mixin/forge/BlockEntityMixin.java
new file mode 100644
index 00000000..7c760690
--- /dev/null
+++ b/forge/src/main/java/whocraft/tardis_refined/mixin/forge/BlockEntityMixin.java
@@ -0,0 +1,20 @@
+package whocraft.tardis_refined.mixin.forge;
+
+import net.minecraft.world.level.block.entity.BlockEntity;
+import net.neoforged.neoforge.common.extensions.IBlockEntityExtension;
+import org.spongepowered.asm.mixin.Mixin;
+import whocraft.tardis_refined.client.ZeitonGlassTracker;
+import whocraft.tardis_refined.common.blockentity.life.ZeitonGlassBlockEntity;
+
+@Mixin(BlockEntity.class)
+public abstract class BlockEntityMixin implements IBlockEntityExtension {
+
+ @Override
+ public void onLoad() {
+ if ((Object) this instanceof ZeitonGlassBlockEntity zeitonGlassBlockEntity) {
+ ZeitonGlassTracker.onLoad(zeitonGlassBlockEntity);
+ }
+ }
+
+
+}
diff --git a/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientForgeBus.java b/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientForgeBus.java
index 2bc6b991..6fbb370a 100644
--- a/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientForgeBus.java
+++ b/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientForgeBus.java
@@ -1,21 +1,56 @@
package whocraft.tardis_refined.neoforge;
+import com.mojang.blaze3d.vertex.PoseStack;
+import net.minecraft.client.Camera;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.multiplayer.ClientLevel;
+import net.minecraft.client.renderer.LightTexture;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod;
-import net.neoforged.neoforge.client.event.RenderGuiOverlayEvent;
+import net.neoforged.neoforge.client.event.RenderLevelStageEvent;
import net.neoforged.neoforge.event.TickEvent;
import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import whocraft.tardis_refined.TardisRefined;
+import whocraft.tardis_refined.client.ModelRegistry;
+import whocraft.tardis_refined.client.TardisClientData;
import whocraft.tardis_refined.client.TardisClientLogic;
-import whocraft.tardis_refined.client.overlays.ExteriorViewOverlay;
-import whocraft.tardis_refined.client.overlays.GravityOverlay;
+import whocraft.tardis_refined.client.renderer.vortex.RenderTargetHelper;
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
@Mod.EventBusSubscriber(modid = TardisRefined.MODID, bus = Mod.EventBusSubscriber.Bus.FORGE, value = Dist.CLIENT)
public class ClientForgeBus {
+ @SubscribeEvent
+ public static void onRenderWorldLast(RenderLevelStageEvent event) {
+ RenderLevelStageEvent.Stage stage = event.getStage();
+
+ if (stage != RenderLevelStageEvent.Stage.AFTER_LEVEL) {
+ return;
+ }
+
+ Minecraft mc = Minecraft.getInstance();
+ ClientLevel world = mc.level;
+ if (world == null) return;
+
+ Camera camera = mc.gameRenderer.getMainCamera();
+ PoseStack matrices = event.getPoseStack();
+
+ TardisClientData tardisClientData = TardisClientData.getInstance(world.dimension());
+
+ matrices.pushPose();
+ RenderTargetHelper.renderZeitonGlass(
+ camera,
+ ModelRegistry.zeitonGlassModel,
+ matrices,
+ mc.renderBuffers().bufferSource(),
+ LightTexture.FULL_BLOCK,
+ tardisClientData,
+ true
+ );
+ matrices.popPose();
+ }
+
@SubscribeEvent
public static void tickTARDIS(TickEvent.ClientTickEvent event) {
if (event.phase != TickEvent.Phase.START) {
@@ -35,9 +70,6 @@ public static void onPunchBlock(PlayerInteractEvent.LeftClickBlock e) {
}
- @SubscribeEvent
- public static void onRenderOverlay(RenderGuiOverlayEvent.Post guiOverlayEvent) {
- GravityOverlay.renderOverlay(guiOverlayEvent.getGuiGraphics());
- ExteriorViewOverlay.renderOverlay(guiOverlayEvent.getGuiGraphics());
- }
+
+
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientModBus.java b/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientModBus.java
index 1445ffb5..8c7744cd 100644
--- a/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientModBus.java
+++ b/forge/src/main/java/whocraft/tardis_refined/neoforge/ClientModBus.java
@@ -1,46 +1,52 @@
package whocraft.tardis_refined.neoforge;
+import com.mojang.blaze3d.vertex.DefaultVertexFormat;
import net.minecraft.client.Minecraft;
import net.minecraft.client.particle.ParticleEngine;
+import net.minecraft.client.renderer.ItemBlockRenderTypes;
+import net.minecraft.client.renderer.RenderType;
+import net.minecraft.client.renderer.ShaderInstance;
import net.minecraft.client.renderer.blockentity.BlockEntityRenderers;
import net.minecraft.client.renderer.entity.EntityRenderers;
import net.minecraft.client.renderer.item.ItemProperties;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.packs.resources.PreparableReloadListener;
import net.minecraft.world.item.Item;
+import net.minecraft.world.level.block.Block;
import net.neoforged.api.distmarker.Dist;
import net.neoforged.api.distmarker.OnlyIn;
+import net.neoforged.bus.api.EventPriority;
import net.neoforged.bus.api.SubscribeEvent;
import net.neoforged.fml.common.Mod;
import net.neoforged.fml.event.lifecycle.FMLClientSetupEvent;
import net.neoforged.neoforge.client.event.*;
import net.neoforged.neoforge.event.BuildCreativeModeTabContentsEvent;
-import net.neoforged.neoforge.event.entity.player.PlayerInteractEvent;
import whocraft.tardis_refined.TardisRefined;
import whocraft.tardis_refined.client.*;
import whocraft.tardis_refined.client.model.pallidium.ModelLayerManager;
import whocraft.tardis_refined.client.neoforge.ModelRegistryImpl;
+import whocraft.tardis_refined.client.particle.ParticleGallifrey;
import whocraft.tardis_refined.client.renderer.blockentity.RootPlantRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.console.GlobalConsoleRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.device.ArtronPillarRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.device.AstralManipulatorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.device.ConsoleConfigurationRenderer;
+import whocraft.tardis_refined.client.renderer.blockentity.door.BulkHeadDoorExtensionRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.door.BulkHeadDoorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.door.GlobalDoorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.door.RootShellDoorRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.life.ArsEggRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.life.EyeRenderer;
+import whocraft.tardis_refined.client.renderer.blockentity.life.ZeitonGlassRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.shell.GlobalShellRenderer;
import whocraft.tardis_refined.client.renderer.blockentity.shell.RootShellRenderer;
import whocraft.tardis_refined.client.renderer.entity.ControlEntityRenderer;
-import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
import whocraft.tardis_refined.common.items.DimensionSamplerItem;
import whocraft.tardis_refined.mixin.forge.ReloadableResourceManagerMixin;
-import whocraft.tardis_refined.registry.RegistrySupplier;
-import whocraft.tardis_refined.registry.TRBlockEntityRegistry;
-import whocraft.tardis_refined.registry.TREntityRegistry;
-import whocraft.tardis_refined.registry.TRItemRegistry;
+import whocraft.tardis_refined.overlays.TardisRefinedOverlay;
+import whocraft.tardis_refined.registry.*;
+import java.io.IOException;
import java.util.List;
@Mod.EventBusSubscriber(modid = TardisRefined.MODID, bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT)
@@ -52,6 +58,12 @@ public static void onItemColors(RegisterColorHandlersEvent.Item item) {
item.register(TRItemColouring.SAMPLE_COLORS, TRItemRegistry.TEST_TUBE.get());
}
+ @SubscribeEvent
+ public static void onItemColors(RegisterShadersEvent registerShadersEvent) throws IOException {
+ registerShadersEvent.registerShader(new ShaderInstance(registerShadersEvent.getResourceProvider(), new ResourceLocation(TardisRefined.MODID, "nivis"), DefaultVertexFormat.NEW_ENTITY), (e) -> TRShaders.SNOW_SHADER = e);
+ registerShadersEvent.registerShader(new ShaderInstance(registerShadersEvent.getResourceProvider(), new ResourceLocation(TardisRefined.MODID, "glow_shader"), DefaultVertexFormat.NEW_ENTITY), (e) -> TRShaders.GLOW_SHADER = e);
+ }
+
@OnlyIn(Dist.CLIENT)
@SubscribeEvent
@@ -103,15 +115,30 @@ public static void onClientSetup(FMLClientSetupEvent event) {
BlockEntityRenderers.register(TRBlockEntityRegistry.ARS_EGG.get(), ArsEggRenderer::new);
BlockEntityRenderers.register(TRBlockEntityRegistry.THE_EYE.get(), EyeRenderer::new);
BlockEntityRenderers.register(TRBlockEntityRegistry.BULK_HEAD_DOOR.get(), BulkHeadDoorRenderer::new);
+ BlockEntityRenderers.register(TRBlockEntityRegistry.BULK_HEAD_DOOR_EXT.get(), BulkHeadDoorExtensionRenderer::new);
BlockEntityRenderers.register(TRBlockEntityRegistry.CONSOLE_CONFIGURATION.get(), ConsoleConfigurationRenderer::new);
BlockEntityRenderers.register(TRBlockEntityRegistry.ASTRAL_MANIPULATOR.get(), AstralManipulatorRenderer::new);
BlockEntityRenderers.register(TRBlockEntityRegistry.ARTRON_PILLAR.get(), ArtronPillarRenderer::new);
+ BlockEntityRenderers.register(TRBlockEntityRegistry.ZEITON_GLASS.get(), ZeitonGlassRenderer::new);
EntityRenderers.register(TREntityRegistry.CONTROL_ENTITY.get(), ControlEntityRenderer::new);
ItemProperties.register(TRItemRegistry.TEST_TUBE.get(), new ResourceLocation(TardisRefined.MODID, "is_sampled"), (itemStack, clientLevel, livingEntity, i) -> DimensionSamplerItem.hasDimAtAll(itemStack) ? 1 : 0);
+ event.enqueueWork(() -> {
+ for (Block block : TRBlockRegistry.BLOCKS.getRegistry().get()) {
+ ResourceLocation key = TRBlockRegistry.BLOCKS.getRegistry().get().getKey(block);
+ if (key != null && key.getNamespace().equals(TardisRefined.MODID)) {
+ ItemBlockRenderTypes.setRenderLayer(block, RenderType.cutout());
+ }
+ }
+ });
+
}
+ @SubscribeEvent(priority = EventPriority.NORMAL)
+ public static void onRenderOverlay(RegisterGuiOverlaysEvent event) {
+ event.registerAboveAll(new ResourceLocation(TardisRefined.MODID, "overlay"), new TardisRefinedOverlay());
+ }
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/neoforge/CommonBus.java b/forge/src/main/java/whocraft/tardis_refined/neoforge/CommonBus.java
index 67b9fe07..4942f248 100644
--- a/forge/src/main/java/whocraft/tardis_refined/neoforge/CommonBus.java
+++ b/forge/src/main/java/whocraft/tardis_refined/neoforge/CommonBus.java
@@ -18,7 +18,7 @@
import whocraft.tardis_refined.common.capability.player.TardisPlayerInfo;
import whocraft.tardis_refined.common.dimension.DimensionHandler;
import whocraft.tardis_refined.common.dimension.TardisTeleportData;
-import whocraft.tardis_refined.common.hum.TardisHums;
+import whocraft.tardis_refined.common.soundscape.hum.TardisHums;
import whocraft.tardis_refined.common.tardis.TardisDesktops;
import whocraft.tardis_refined.common.util.MiscHelper;
import whocraft.tardis_refined.common.util.TardisHelper;
@@ -52,7 +52,7 @@ public static void onPlayerLoggedOut(PlayerEvent.PlayerLoggedOutEvent playerLogg
Player player = playerLoggedOutEvent.getEntity();
if (player instanceof ServerPlayer serverPlayer) {
TardisPlayerInfo.get(player).ifPresent(tardisPlayerInfo -> {
- tardisPlayerInfo.endPlayerForInspection(serverPlayer);
+ tardisPlayerInfo.endShellView(serverPlayer);
});
}
}
diff --git a/forge/src/main/java/whocraft/tardis_refined/overlays/TardisRefinedOverlay.java b/forge/src/main/java/whocraft/tardis_refined/overlays/TardisRefinedOverlay.java
new file mode 100644
index 00000000..1de09179
--- /dev/null
+++ b/forge/src/main/java/whocraft/tardis_refined/overlays/TardisRefinedOverlay.java
@@ -0,0 +1,18 @@
+package whocraft.tardis_refined.overlays;
+
+import net.minecraft.client.gui.GuiGraphics;
+import net.neoforged.neoforge.client.gui.overlay.ExtendedGui;
+import net.neoforged.neoforge.client.gui.overlay.IGuiOverlay;
+import whocraft.tardis_refined.client.overlays.ExteriorViewOverlay;
+import whocraft.tardis_refined.client.overlays.GravityOverlay;
+import whocraft.tardis_refined.client.overlays.VortexOverlay;
+
+public class TardisRefinedOverlay implements IGuiOverlay {
+
+ @Override
+ public void render(ExtendedGui extendedGui, GuiGraphics arg, float f, int i, int j) {
+ VortexOverlay.renderOverlay(arg);
+ GravityOverlay.renderOverlay(arg);
+ ExteriorViewOverlay.renderOverlay(arg);
+ }
+}
diff --git a/forge/src/main/resources/tardis_refined.mixins.json b/forge/src/main/resources/tardis_refined.mixins.json
index f4f6fc8e..242f6f01 100644
--- a/forge/src/main/resources/tardis_refined.mixins.json
+++ b/forge/src/main/resources/tardis_refined.mixins.json
@@ -4,6 +4,7 @@
"package": "whocraft.tardis_refined.mixin.forge",
"compatibilityLevel": "JAVA_17",
"mixins": [
+ "BlockEntityMixin",
"ClientHooksMixin",
"ReloadableResourceManagerMixin"
],
diff --git a/gradle.properties b/gradle.properties
index b467052a..1bb57b37 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -46,7 +46,7 @@ neoforge_data_pack_format=18
##Mod Information
#Common Mod Information
-mod_version=2.1.0
+mod_version=2.1.5
license=https://github.com/Whocraft/TardisRefined/blob/minecraft/1.20/LICENSE.MD
credits=Commoble, Lucraft, starray1000000, Monsterwaill, TheJudge, LoxiGoose
mod_authors=CommandrMoose / River, Jeryn99, Magic Man, ILikePandas, Jacob K, 50ap5ud5
@@ -85,8 +85,20 @@ cloth_config_fabric_version=12.0.109
#Forge Dependencies
world_edit_version=4807512
structure_expansion_version=3909814
-configured_version=4462894
jei_version=4473386
immersive_portals_forge_version=4477738
dev_auth_module_forge=forge-latest
-dev_auth_forge_version=1.1.2
\ No newline at end of file
+dev_auth_forge_version=1.1.2
+sodium_version=mc1.20.2-0.5.5
+
+
+#Mod versions
+registrate_version_forge = MC1.20-1.3.11
+registrate_version_fabric = 1.3.62-MC1.20.1
+create_version_forge = 0.5.1.f-26
+create_version_fabric = 0.5.1-f-build.1376+mc1.20.1
+create_version_plain = 0.5.1.f
+flywheel_version_fabric = 0.6.10-2
+flywheel_version_forge = 0.6.10-8
+flywheel_minecraft_version=1.20.1
+valkyrienskies_version=2.3.0-beta.5